@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/poppins/poppins-regular.ttf?v=2") format("truetype");
}

@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/poppins/poppins-regular-italic.ttf?v=2") format("truetype");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/poppins/poppins-medium.ttf?v=2") format("truetype");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/poppins/poppins-semibold.ttf?v=2") format("truetype");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/poppins/poppins-bold.ttf?v=2") format("truetype");
}

.cms {
  --td-deep: #EFF2F6;
  --td-surface: #fff;
  --td-surface-2: #F1F5F9;
  --td-ink: #131A24;
  --td-soft: #33404F;
  --td-muted: #4A5766;
  --td-dim: #616D7A;
  --td-line: #DFE4EA;
  --td-line-2: #C7CED7;
  --td-accent: #FFB22C;
  --td-accent-hover: #ffc35a;
  --td-accent-soft: rgba(255, 178, 44, .18);
  --td-accent-text: #8F5B00;
  --td-danger-soft: rgba(179, 45, 32, .1);
  --td-brand-ink: #111;
  --td-brand-light: #f0f1f5;
  --td-brand-dark: #12161b;

  --bs-body-font-family: 'Poppins', system-ui, "Segoe UI", sans-serif;
  --bs-body-font-size: 14px;
  --bs-body-line-height: 1.5;
  --bs-body-color: var(--td-ink);
  --bs-body-bg: var(--td-deep);
  --bs-border-color: var(--td-line);
  --bs-border-radius: .5rem;
  --bs-border-radius-sm: .375rem;
  --bs-secondary-color: var(--td-muted);
  --bs-tertiary-bg: var(--td-surface-2);
  --bs-link-color: var(--td-accent-text);
  --bs-link-hover-color: var(--td-ink);
  --bs-emphasis-color: var(--td-ink);
  --bs-warning: var(--td-accent);
  --bs-warning-rgb: 255, 178, 44;
  --bs-success: #157A4B;
  --bs-success-rgb: 21, 122, 75;
  --bs-danger: #B32D20;
  --bs-danger-rgb: 179, 45, 32;
  --bs-info: #1F5C93;
  --bs-info-rgb: 31, 92, 147;
  --bs-secondary-bg: var(--td-surface-2);

  margin: 0;
  color: var(--td-ink);
  font-family: var(--bs-body-font-family);
  font-size: 14px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

.cms *,
.cms *::before,
.cms *::after {
  box-sizing: border-box;
}

.cms a {
  text-decoration: none;
}

.cms .content-main a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.list-group-item):hover {
  text-decoration: underline;
}

.cms .btn {
  --bs-btn-font-size: 14px;
  --bs-btn-padding-y: .5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-weight: 600;
  --bs-btn-border-radius: .375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  white-space: nowrap;
  min-height: 36px;
}

.cms .btn > svg,
.cms .btn > .material-icons {
  flex: none;
}

.cms .btn-sm {
  --bs-btn-font-size: 13px;
  --bs-btn-padding-y: .375rem;
  --bs-btn-padding-x: .75rem;
}

.cms .btn-outline-secondary {
  --bs-btn-color: var(--td-soft);
  --bs-btn-border-color: var(--td-line-2);
  --bs-btn-hover-color: var(--td-ink);
  --bs-btn-hover-bg: var(--td-surface-2);
  --bs-btn-hover-border-color: var(--td-line-2);
  --bs-btn-bg: var(--td-surface);
}

.cms .btn-light {
  --bs-btn-bg: var(--td-surface);
  --bs-btn-border-color: var(--td-line);
  --bs-btn-color: var(--td-muted);
  --bs-btn-hover-bg: var(--td-surface-2);
}

.cms .cms-iconbtn {
  --bs-btn-padding-x: .5rem;
  --bs-btn-padding-y: .5rem;
  min-width: 36px;
  line-height: 1;
}

.cms-avatar {
  width: 25px;
  height: 25px;
  flex: none;
  border-radius: 50%;
  background: var(--td-accent);
  color: #131A24;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
}

.cms-h1 {
  font-size: 22px;
  font-weight: 700;
  color: var(--td-ink);
  margin-bottom: 0;
}

.cms-sub {
  color: var(--td-muted);
  font-size: 13px;
  font-weight: 600;
}

.cms-dim {
  color: var(--td-dim);
  font-size: 12px;
}

.cms-toasts {
  position: absolute;
  top: 52px;
  right: 16px;
  z-index: 5;
}

.cms-minw0 {
  min-width: 0;
}

.cms-toasts .toast {
  font-size: 13px;
  font-weight: 700;
}

.cms-toasts .toast-body {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.cms-table {
  --bs-table-bg: var(--td-surface);
  --bs-table-border-color: var(--td-line);
  --bs-table-hover-bg: var(--td-surface-2);
  --bs-table-cell-padding-y: .5rem;
  --bs-table-cell-padding-x: 1rem;
}

.cms-table thead th {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--td-muted);
  padding: 12px 16px;
  white-space: nowrap;
  vertical-align: middle;
  background: var(--td-surface-2);
  position: sticky;
  top: 0;
  z-index: 2;
}

.cms-table tbody td {
  padding: .5rem 1rem;
  height: 56px;
  vertical-align: middle;
  font-size: 14px;
}

.cms-table tbody td:has(> button.bg-transparent[data-cms-edit-open]) {
  position: relative;
}

.cms-table tbody td > button.bg-transparent[data-cms-edit-open]::after {
  content: "";
  position: absolute;
  inset: 0;
}

.cms-table tbody td > button.bg-transparent[data-cms-edit-open] {
  width: 100%;
}

.cms-table tbody td:has(.cms-thumbbox),
.cms-table tbody td:has(> .cms-thumb),
.cms-table tbody td.cms-cell-thumb {
  padding-block: .25rem;
}

.cms-table tbody tr.table-active {
  --bs-table-accent-bg: var(--td-accent-soft);
}

.cms-thumb {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  object-fit: cover;
  border: 1px solid var(--td-line);
  flex: none;
}

.cms-thumb--empty {
  border-style: dashed;
  background-color: var(--td-surface-2);
}

.cms-thumb--empty > .bi,
.cms-thumbph > .bi {
  width: 22px;
  height: 22px;
  color: var(--td-dim);
}

.cms-thumbbox--sm .cms-thumbph > .bi {
  width: 16px;
  height: 16px;
}

.cms-slug {
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--td-dim);
}

.cms-mono {
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 12px;
}

.cms .ql-toolbar.ql-snow,
.cms .ql-container.ql-snow {
  border-color: var(--td-line-2);
}

.cms .ql-toolbar.ql-snow {
  background: var(--td-surface-2);
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

.cms .ql-container.ql-snow {
  height: auto;
  font-family: inherit;
  font-size: 14px;
  background: var(--td-surface);
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}

.cms .ql-snow.ql-toolbar button {
  width: 36px;
  height: 36px;
  border-radius: var(--bs-border-radius-sm);
}

.cms .ql-container.ql-snow:focus-within {
  border-color: var(--td-accent);
}

.cms .ql-editor {
  min-height: 320px;
  max-height: 60vh;
}

.cms .ql-editor h2 {
  font-size: 18px;
}

.cms .ql-editor h3 {
  font-size: 16px;
}

.cms .ql-snow .ql-tooltip {
  display: none;
}

.cms-code {
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 12px;
  color: var(--td-ink);
  background: var(--td-accent-soft);
  padding: 1px 6px;
  border-radius: 4px;
}

.cms .badge {
  --bs-badge-font-size: 12px;
  --bs-badge-font-weight: 600;
  --bs-badge-padding-y: .25rem;
  --bs-badge-padding-x: .5rem;
}

.cms-badge-accent {
  color: #131A24;
  background-color: var(--td-accent);
}

.cms-chip {
  background: var(--td-accent-soft);
  color: var(--td-accent-text);
  display: inline-flex;
  align-items: center;
}

.cms-chip .btn-close {
  --bs-btn-close-opacity: .5;
  width: .55em;
  height: .55em;
}

.cms-rail {
  width: 240px;
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cms-rail--wide {
  width: 250px;
}

.cms-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin-bottom: 0;
  padding: 6px 12px;
  border-radius: .375rem;
}

.cms-check .form-check-input {
  float: none;
  flex: none;
  margin: 0;
  width: 16px;
  height: 16px;
}

.cms-check .form-check-label {
  font-size: 14px;
  color: var(--td-soft);
  min-width: 0;
  flex: 1;
}

.cms-check--row {
  gap: 12px;
}

.cms-check--row .form-check-label {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
}

.cms-work {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.cms-work > .cms-fill {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cms-bulk {
  background: var(--td-accent-soft);
  color: var(--td-ink);
  border: 1px solid rgba(255, 178, 44, .5);
  border-left: 3px solid var(--td-accent);
  border-radius: .375rem;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 600;
}

.cms-bulk b {
  color: var(--td-accent-text);
}

.cms-search {
  width: 240px;
  flex: none;
}

.cms-search .input-group-text {
  background: var(--td-surface);
  border-color: var(--td-line-2);
  color: var(--td-dim);
}

.cms-search .form-control {
  border-color: var(--td-line-2);
}

.cms .form-control,
.cms .form-select {
  font-size: 14px;
  padding: .5rem .75rem;
  background-color: var(--td-surface);
  color: var(--td-ink);
  min-height: 40px;
}

:where(.cms) .form-control,
:where(.cms) .form-select {
  --bs-border-color: var(--td-line-2);
  border: var(--bs-border-width) solid var(--bs-border-color);
}

.cms .form-control:focus,
.cms .form-select:focus {
  background-color: var(--td-surface);
}

.cms .form-control:disabled,
.cms .form-select:disabled,
.cms .form-control[readonly] {
  background-color: var(--td-surface-2);
  border-color: var(--td-line);
  color: var(--td-muted);
}

.cms .form-control::placeholder {
  color: var(--td-dim);
}

.cms .form-select {
  padding-right: 1.9rem;
}

.cms textarea.form-control {
  min-height: 96px;
}

.cms .form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--td-soft);
  margin-bottom: .5rem;
  display: flex;
  width: 100%;
}

.cms .form-label .req {
  color: var(--bs-danger);
}

.cms .form-label .cnt {
  margin-left: auto;
  font-weight: 600;
  color: var(--td-dim);
  font-size: 12px;
}

.cms .input-group-text {
  font-size: 14px;
  background: var(--td-surface-2);
  border-color: var(--td-line-2);
}

.cms-savebar {
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: var(--td-surface);
  box-shadow: 0 -4px 12px rgba(19, 26, 36, .06);
  border-top: 1px solid var(--td-line);
  padding: 12px 24px;
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  border-radius: 0 0 .5rem .5rem;
}

.cms-savestate.is-dirty {
  color: var(--td-accent-text);
}

.cms-savebar .state {
  order: 9;
  margin-left: auto;
  text-align: end;
  font-size: 12px;
  color: var(--td-dim);
  font-weight: 600;
}

.cms-savebar .cms-savestate {
  order: 0;
  margin-left: 0;
  text-align: start;
}

.cms .card {
  --bs-card-bg: var(--td-surface);
  --bs-card-border-color: var(--td-line);
  --bs-card-spacer-y: 1.5rem;
  --bs-card-spacer-x: 1.5rem;
  --bs-card-cap-padding-y: .75rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: var(--td-surface);
  box-shadow: 0 1px 2px rgba(19, 26, 36, .06);
}

.cms .card:hover {
  transform: none;
}

.cms .card-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.cms-cardtitle {
  font-size: 15px;
  font-weight: 600;
  color: var(--td-ink);
  margin: 0;
}

.cms .nav-tabs {
  --bs-nav-tabs-border-color: var(--td-line);
  --bs-nav-link-color: var(--td-muted);
  --bs-nav-link-hover-color: var(--td-ink);
  --bs-nav-tabs-link-active-bg: var(--td-surface);
  --bs-nav-tabs-link-active-color: var(--td-ink);
  --bs-nav-link-font-size: 14px;
  font-weight: 700;
  gap: 4px;
}

.cms .nav-tabs .nav-link {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cms-tree .cms-node {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--td-line);
  min-width: 0;
}

.cms-tree .cms-node:last-child {
  border-bottom: 0;
}

.cms-tree .grip {
  color: var(--td-line-2);
  cursor: grab;
  flex: none;
}

.cms-drop {
  border: 1.5px dashed var(--td-line-2);
  border-radius: .5rem;
  background: var(--td-surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--td-muted);
  font-weight: 600;
  font-size: 14px;
  min-height: 72px;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}

.cms-drop:hover,
.cms-drop:focus-visible,
.cms-drop.is-over {
  border-color: var(--td-accent);
  background: var(--td-accent-soft);
}

.cms-drop.is-busy {
  pointer-events: none;
  opacity: .6;
}

.cms-gal {
  display: grid;
  gap: 12px;
}

.cms-gal--fit {
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
}

.cms-gal figure {
  margin: 0;
  position: relative;
  border: 1px solid var(--td-line);
  border-radius: .375rem;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--td-surface-2);
}

.cms-gal figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cms-gal figure .tag {
  position: absolute;
  top: 3px;
  left: 3px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 3px;
  padding: 0 5px;
  background: rgba(19, 26, 36, .8);
  color: #fff;
}

.cms-gal figure .tag-cover {
  background: var(--td-accent);
  color: #131A24;
}

.cms-kpi {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.cms-kpi .label {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--td-dim);
  display: block;
}

.cms-kpi .value {
  font-size: 28px;
  font-weight: 600;
  display: block;
  margin: 4px 0;
}

.cms-split {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.cms-split--even {
  grid-template-columns: 1fr 1fr;
}

.cms-master {
  width: 264px;
  flex: none;
}

.cms-master .row-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--td-line);
  font-size: 14px;
  min-width: 0;
}

.cms-master .row-item > button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.cms-master .row-item:last-child {
  border-bottom: 0;
}

.cms-master .row-item.active {
  background: var(--td-accent-soft);
  box-shadow: inset 3px 0 0 var(--td-accent);
}

.cms-stepper {
  display: flex;
  font-size: 12px;
  font-weight: 700;
}

.cms-stepper span {
  padding: 4px 12px;
  background: var(--td-surface-2);
  color: var(--td-dim);
  border: 1px solid var(--td-line);
}

.cms-stepper span:first-child {
  border-radius: .375rem 0 0 .375rem;
}

.cms-stepper span:last-child {
  border-radius: 0 .375rem .375rem 0;
}

.cms-stepper span.done {
  background: #E3F3EB;
  color: #157A4B;
}

.cms-stepper span.now {
  background: var(--td-accent);
  color: #131A24;
  border-color: var(--td-accent);
}

.cms-tag {
  border: 1px solid var(--td-line-2);
  border-radius: .375rem;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--td-soft);
  display: inline-flex;
  gap: 8px;
  align-items: center;
  background: var(--td-surface);
}

.cms-tag b {
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-weight: 500;
  color: var(--td-ink);
}

.cms-w-16 { width: 16px; }
.cms-w-48 { width: 48px; }
.cms-w-56 { width: 56px; }
.cms-w-72 { width: 72px; }
.cms-w-86 { width: 86px; }
.cms-w-96 { width: 96px; }
.cms-w-110 { width: 110px; }
.cms-w-120 { width: 120px; }
.cms-w-140 { width: 140px; }
.cms-w-160 { width: 160px; }
.cms-w-180 { width: 180px; }
.cms-w-200 { width: 200px; }
.cms-w-250 { width: 250px; }

.cms .pagination {
  --bs-pagination-color: var(--td-soft);
  --bs-pagination-bg: var(--td-surface);
  --bs-pagination-border-color: var(--td-line);
  --bs-pagination-hover-color: var(--td-ink);
  --bs-pagination-focus-color: var(--td-ink);
  --bs-pagination-active-bg: var(--td-accent);
  --bs-pagination-active-border-color: var(--td-accent);
  --bs-pagination-active-color: #131A24;
  --bs-pagination-focus-box-shadow: 0 0 0 .2rem var(--td-accent-soft);
}

.cms .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
}

.cms .accordion {
  --bs-accordion-active-color: var(--td-ink);
  --bs-accordion-active-bg: var(--td-accent-soft);
  --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 .2rem var(--td-accent-soft);
}

.cms .form-check-input {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: .1875rem;
}

.cms .form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-bottom: 0;
}

.cms .form-check:not(.cms-check) {
  padding-left: 0;
}

.cms .form-check > .form-check-input {
  flex: none;
  margin: 0;
}

.cms .form-switch .form-check-input {
  width: 2.5rem;
  height: 1.25rem;
}

.cms .cms-switchcell {
  position: relative;
  min-height: 40px;
  display: flex;
  align-items: center;
}

.cms .cms-switchhit {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
  color: transparent;
}

.cms .form-check-input:checked {
  background-color: var(--td-accent);
  border-color: var(--td-accent);
}

.cms .form-check-input:focus,
.cms .form-control:focus,
.cms .form-select:focus {
  box-shadow: 0 0 0 .2rem var(--td-accent-soft);
}

.cms .form-check-input:focus,
:where(.cms) .form-control:focus,
:where(.cms) .form-select:focus {
  border-color: var(--td-accent);
}

.cms .btn:focus-visible,
.cms .nav-link:focus-visible,
.cms .page-link:focus-visible {
  outline: 2px solid var(--td-accent);
  outline-offset: 1px;
}

.validation-summary-valid {
  display: none;
}

.cms-tree__children:empty {
  display: none;
}

.cms-tree__row {
  position: relative;
  background-color: var(--td-surface);
  transition: background-color .2s ease, box-shadow .2s ease;
}

.cms-tree__row:hover {
  background-color: var(--td-surface-2);
}

.cms-tree__row:focus-visible {
  outline: 2px solid var(--td-accent);
  outline-offset: 1px;
}

.cms-tree__toggle {
  width: 1.25rem;
  transition: transform .2s ease;
}

.cms-tree__node.is-collapsed > .cms-tree__row > .cms-tree__toggle {
  transform: rotate(-90deg);
}

.cms-tree__grip {
  cursor: grab;
}

.cms-tree__tools {
  opacity: 1;
}

.cms-tree__row:hover .cms-tree__tools,
.cms-tree__row:focus-within .cms-tree__tools,
.cms-tree__row.is-menu-open .cms-tree__tools {
  opacity: 1;
}

.cms-tree__node.is-dragging > .cms-tree__row {
  opacity: .45;
}

.cms-tree__row.is-drop-before::after,
.cms-tree__row.is-drop-after::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 999px;
  background-color: var(--td-accent);
}

.cms-tree__row.is-drop-before::after {
  top: -3px;
}

.cms-tree__row.is-drop-after::after {
  bottom: -3px;
}

.cms-tree__row.is-drop-inside {
  background-color: var(--td-accent-soft);
  box-shadow: inset 0 0 0 2px var(--td-accent);
}

.cms-tree__row.is-drop-blocked {
  cursor: not-allowed;
  background-color: var(--td-danger-soft);
  box-shadow: inset 0 0 0 2px var(--bs-danger);
}

.cms-tree.is-saving {
  opacity: .6;
  pointer-events: none;
}

@keyframes cmsFlash {
  from { background-color: var(--td-accent-soft); }
  to { background-color: transparent; }
}

@keyframes cmsFlashBad {
  from { background-color: var(--td-danger-soft); }
  to { background-color: transparent; }
}

.cms-tree__row.is-flash {
  animation: cmsFlash .7s ease;
}

.cms-tree__row.is-flash-bad {
  animation: cmsFlashBad .7s ease;
}

.cms-tree__name {
  min-width: 3rem;
}

.cms-filter-select {
  width: auto;
  max-width: 220px;
}

.cms-images .progress {
  --bs-progress-bar-bg: var(--td-accent);
}

.cms-cell-name {
  max-width: 18rem;
}

.cms-cell-thumb {
  width: 80px;
}

.cms-broken {
  background-color: var(--td-surface-2);
  box-shadow: inset 0 0 0 1px var(--td-line-2);
}

.cms-broken > [data-cms-broken]:not(.d-none) {
  display: flex;
}

@media (hover: none) {
  .cms-tree__tools {
    opacity: 1;
  }
}

@media (max-width: 575.98px) {
  .cms .page-link {
    justify-content: center;
    min-width: 40px;
  }

  .cms .form-check-input {
    min-width: 1.5rem;
    min-height: 1.5rem;
  }

  .cms-search {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cms-tree__row,
  .cms-tree__toggle,
  .cms-tree__tools,
  .cms-row-actions,
  .cms-drop {
    transition: none;
  }

  .cms-tree__row.is-flash,
  .cms-tree__row.is-flash-bad {
    animation: none;
  }
}

.cms-table th:last-child:has(> .visually-hidden:only-child),
.cms-table td:has(> .cms-row-actions),
.cms-table td:has(> .btn-group),
.cms-table td:has(> .justify-content-end) {
  text-align: end;
}

.cms-table td .badge,
.cms-table td .form-check-input {
  vertical-align: middle;
}

.cms-table td > .cms-row-actions,
.cms-table td > .btn-group {
  vertical-align: middle;
}

.cms .card-body > form,
.cms .card-body > .d-flex.flex-column,
.cms .tab-pane > form,
.cms .card-body > form > .collapse > .d-flex.flex-column {
  row-gap: 16px;
}

.cms .card-body > .row,
.cms .card-body > form > .row {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
}

.cms .nav-tabs + .tab-content,
.cms .nav-tabs + * > .tab-content {
  margin-top: 16px;
}

.cms-thumbbox {
  width: 48px;
  height: 48px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

.cms-thumbbox--sm {
  width: 32px;
  height: 32px;
}

.cms-thumbbox > .cms-thumb {
  width: 100%;
  height: 100%;
}

.cms-thumbph {
  width: 100%;
  height: 100%;
  border-radius: 6px;
  border: 1px dashed var(--td-line-2);
  background: var(--td-surface-2);
  color: var(--td-dim);
  display: flex;
  align-items: center;
  justify-content: center;
}

body.cms {
  font-family: var(--bs-body-font-family);
}

.cms .content-main {
  padding: 24px;
}

.cms .content-header {
  margin-bottom: 24px;
  gap: 16px;
  flex-wrap: wrap;
}

.cms .navbar-aside {
  max-width: 288px;
  display: flex;
  flex-direction: column;
  background: var(--td-surface);
  border-right-color: var(--td-line);
}

.cms .main-wrap {
  margin-left: 288px;
  background: var(--td-deep);
}

.cms .content-main {
  background: var(--td-deep);
}

.cms .navbar-aside > nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

.cms .navbar-aside .aside-top {
  min-height: 60px;
  padding: 12px 16px;
  border-bottom-color: var(--td-line);
}

.cms-brand {
  font-weight: 700;
  font-size: 17px;
  letter-spacing: .04em;
  color: var(--td-ink);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.cms-brand__short {
  display: none;
}

.cms-navgroup {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--td-muted);
  padding: 0 16px;
  margin: 24px 0 4px;
}

.cms .menu-aside {
  margin-bottom: 0;
}

.cms .menu-aside .menu-link {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--td-soft);
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
}

.cms .menu-aside .menu-link .icon {
  flex: none;
  margin: 0;
  opacity: .6;
}

.cms .menu-aside .menu-item.active .menu-link {
  background: var(--td-accent-soft);
  color: var(--td-accent-text);
  box-shadow: inset 3px 0 0 var(--td-accent);
}

.cms .menu-aside .menu-item.active .menu-link .icon {
  opacity: 1;
}

.cms .menu-aside .menu-link .text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cms .menu-aside .badge {
  flex: none;
}

.cms-me {
  border-top: 1px solid var(--td-line);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: none;
}

.cms-avatar {
  width: 28px;
  height: 28px;
  flex: none;
  border-radius: 50%;
  background: var(--td-accent);
  color: var(--td-ink);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
}

.cms-toptitle {
  font-size: 15px;
  font-weight: 700;
  color: var(--td-ink);
}

.cms-topuser {
  max-width: 160px;
}

.cms .main-header {
  min-height: 60px;
  padding-block: 8px;
  padding-inline: 24px;
  border-bottom-color: var(--td-line);
  gap: 12px;
  flex-wrap: nowrap;
}

.cms .main-header .col-nav,
.cms .main-header .nav-item.dropdown {
  margin: 0;
}

.cms .main-header .btn-mobile {
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  flex: none;
}

.cms .main-header .col-nav {
  flex: none;
  width: auto;
  order: 0;
  margin-bottom: 0;
}

.cms .main-header .col-brand {
  flex: 1 1 auto;
  min-width: 0;
}

.cms .main-header .col-nav > .nav {
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

.cms .main-header .nav-item {
  display: flex;
  align-items: center;
}

.cms .main-header .nav-item > a,
.cms .main-header .nav-item > .btn {
  padding: 0 6px;
}

.cms-bellbtn {
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.cms-bellbtn .cms-bellcount {
  position: absolute;
  top: 1px;
  right: 1px;
  min-width: 16px;
  padding: 0 4px;
  font-size: 10px;
  line-height: 16px;
}

.cms-accountbtn {
  height: 40px;
}

.cms .main-header .cms-avatar {
  width: 32px;
  height: 32px;
  font-size: 13px;
}

.cms-belldrop {
  width: 320px;
  max-width: calc(100vw - 32px);
  padding: 8px 0;
}

.cms-belldrop .dropdown-header {
  font-size: 12px;
  font-weight: 600;
  color: var(--td-muted);
  padding: 4px 16px 8px;
}

.cms-belldrop .dropdown-item,
.cms-belldrop .dropdown-item-text {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  white-space: normal;
}

.cms-toasts {
  position: fixed;
  top: 72px;
  right: 20px;
  z-index: 1080;
}

body.aside-mini .cms-brand__full,
body.aside-mini .cms-navgroup,
body.aside-mini .cms-me > div {
  display: none;
}

body.aside-mini .cms-brand__short {
  display: inline;
}

body.aside-mini .cms-brand {
  justify-content: center;
  width: 100%;
}

body.aside-mini .cms-me {
  justify-content: center;
  padding-inline: 0;
}

body.aside-mini .navbar-aside .aside-top {
  flex-direction: column;
  gap: 6px;
}

body.aside-mini .menu-aside .menu-link {
  justify-content: center;
  padding-inline: 0;
  position: relative;
}

body.aside-mini .menu-aside .menu-link .badge {
  position: absolute;
  top: 2px;
  right: 10px;
  padding: 0 4px;
  font-size: 10px;
}

.cms .btn-brand {
  --bs-btn-color: var(--td-ink);
  --bs-btn-bg: var(--td-accent);
  --bs-btn-border-color: var(--td-accent);
  --bs-btn-hover-color: var(--td-ink);
  --bs-btn-hover-bg: var(--td-accent-hover);
  --bs-btn-hover-border-color: var(--td-accent-hover);
  --bs-btn-active-color: var(--td-ink);
  --bs-btn-active-bg: #f0a41f;
  --bs-btn-active-border-color: #f0a41f;
  color: var(--td-ink);
}

.cms .btn-primary {
  --bs-btn-focus-shadow-rgb: 255, 178, 44;
  --bs-btn-color: var(--td-ink);
  --bs-btn-bg: var(--td-accent);
  --bs-btn-border-color: var(--td-accent);
  --bs-btn-hover-color: var(--td-ink);
  --bs-btn-hover-bg: var(--td-accent-hover);
  --bs-btn-hover-border-color: var(--td-accent-hover);
  --bs-btn-active-color: var(--td-ink);
  --bs-btn-active-bg: #f0a41f;
  --bs-btn-active-border-color: #f0a41f;
  color: var(--td-ink);
}

.cms .main-header .nav-item > a .badge,
.cms .badge.bg-primary,
.cms .bg-primary {
  color: var(--td-ink) !important;
}

.cms .content-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--td-ink);
}

.cms .itemlist {
  padding: 10px 12px;
  border-bottom: 1px solid var(--td-line);
}

.cms .itemlist:last-child {
  border-bottom: 0;
}

.cms .itemlist .img-sm {
  width: 48px;
  height: 48px;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  .cms .navbar-aside {
    max-width: min(288px, 85vw);
    z-index: 900;
    transform: translateX(-100%);
    overflow-x: hidden;
    transition: visibility .2s ease-in-out, transform .2s ease-in-out;
  }

  .cms .navbar-aside.show {
    visibility: visible;
    transform: translateX(0);
  }

  body.cms .main-wrap {
    margin-left: 0;
  }

  .cms .main-header .btn-mobile {
    display: inline-flex;
  }
}

@media (min-width: 992px) {
  .cms .main-header .btn-mobile {
    display: none;
  }
}

@media (min-width: 992px) {
  .cms .table-responsive-lg,
  .cms *:has(> .cms-table) {
    overflow-x: auto;
  }

  .cms .card:has(> .cms-tree) {
    overflow-x: auto;
  }

  .cms-table td.cms-cell-main,
  .cms-table td.cms-cell-soft {
    width: 100%;
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cms-table td.cms-cell-main {
    min-width: 160px;
  }

  .cms-table td.cms-cell-main:has(.cms-thumb, .cms-thumbbox, .badge) {
    min-width: 232px;
  }

  .cms-table tr:has(> td.cms-cell-soft) > td.cms-cell-main {
    width: auto;
    max-width: none;
  }

  .cms-table tr:has(> td.cms-cell-soft) > td.cms-cell-main .text-truncate {
    max-width: 200px;
  }

  .cms-table th.cms-cell-end,
  .cms-table td.cms-cell-end,
  .cms-table td.cms-gridtable__end {
    width: 1%;
    white-space: nowrap;
  }
}

.cms .btn.text-start {
  justify-content: flex-start;
}

.cms .form-select {
  min-width: fit-content;
}

.cms .content-main span.text-truncate:not(.d-block) {
  max-width: 100%;
}

@media (max-width: 767.98px) {
  .cms .content-main {
    padding: 16px;
  }

  .cms-toasts:has(.toast) {
    position: static;
    padding: 12px 16px 0;
  }
}

.cms .content-main .small,
.cms .content-main small,
.cms .content-main .text-sm,
.cms .content-main .font-sm,
.cms .content-main .font-xs,
.cms .content-main abbr {
  font-size: 12px;
}

.cms .content-main .btn.font-sm,
.cms .content-main .btn.font-xs {
  font-size: 13px;
}

.cms .content-main > * + * {
  margin-top: 24px;
}

.cms .content-main > .content-header {
  margin-bottom: 0;
}

.cms .content-main > .card {
  margin-bottom: 0;
}

.cms .content-main > form:not([hidden]),
.cms .content-main > .tab-content {
  display: flow-root;
}

.cms .content-main > [hidden] {
  display: none;
}

.cms .content-header > div:first-child {
  min-width: 0;
}

.cms .content-header .cms-sub {
  margin-top: 2px;
}

.cms .card-header .row {
  width: 100%;
  margin: 0;
  --bs-gutter-x: 12px;
  --bs-gutter-y: 12px;
}

.cms .card-body > .table-responsive,
.cms .card-body > .table-responsive-lg {
  margin-inline: calc(-1 * var(--bs-card-spacer-x));
  margin-block: calc(-1 * var(--bs-card-spacer-y));
  width: auto;
}

.cms .card > .table-responsive:last-child,
.cms .card > .table-responsive-lg:last-child {
  border-bottom-left-radius: var(--bs-card-border-radius);
  border-bottom-right-radius: var(--bs-card-border-radius);
  overflow: hidden;
}

.cms-kpicard {
  color: inherit;
  transition: box-shadow .15s ease, border-color .15s ease;
}

.cms-kpicard:hover,
.cms-kpicard:focus-visible {
  border-color: var(--td-accent);
  box-shadow: 0 2px 10px rgba(19, 26, 36, .1);
}

.cms-kpivalue {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--td-ink);
}

.cms .icontext .icon.icon-sm {
  width: 42px;
  height: 42px;
  flex: none;
  display: grid;
  place-items: center;
}

.cms .bg-warning-light {
  background: var(--td-accent-soft);
}

.cms .bg-info-light {
  background: rgba(31, 92, 147, .12);
}

.cms .bg-success-light {
  background: rgba(21, 122, 75, .12);
}

body.cms:not(:has(.navbar-aside)) .main-wrap {
  margin-left: 0;
}

body.cms:not(:has(.navbar-aside)) .main-header {
  display: none;
}

body.cms:not(:has(.navbar-aside)) .content-main {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.cms-login {
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}

.cms-login__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 24px;
}

.cms-login__badge {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--td-ink);
  background: var(--td-accent-soft);
  border-radius: 999px;
  padding: 4px 8px;
}

.cms-login__card {
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(19, 26, 36, .06), 0 12px 32px rgba(19, 26, 36, .1);
}

.cms-login__card > .card-body {
  padding: 32px;
}

.cms-login__card > .card-footer {
  padding: 16px 32px;
  background: var(--td-surface-2);
  border-top: 1px solid var(--td-line);
  border-radius: 0 0 12px 12px;
  text-align: center;
  font-size: 12px;
  color: var(--td-dim);
}

.cms-login__submit {
  min-width: 180px;
}

.cms-login .input-group-text {
  background: var(--td-surface);
  color: var(--td-dim);
  border-right: 0;
}

.cms-login .input-group > .form-control {
  border-left: 0;
}

.cms-login .input-group:focus-within {
  border-radius: .375rem;
  box-shadow: 0 0 0 .2rem var(--td-accent-soft);
}

.cms-login .input-group:focus-within > .form-control,
.cms-login .input-group:focus-within > .btn:focus-visible {
  box-shadow: none;
  outline: 0;
}

.cms-login .input-group:focus-within > .input-group-text,
.cms-login .input-group:focus-within > .form-control,
.cms-login .input-group:focus-within > .btn {
  border-color: var(--td-accent);
}

.cms .form-control-lg,
.cms .input-group-lg > .form-control,
.cms .input-group-lg > .input-group-text,
.cms .input-group-lg > .btn {
  font-size: 15px;
  min-height: 44px;
  padding: .5rem .75rem;
}

body.cms:not(:has(.navbar-aside)) .content-main {
  background: var(--td-surface-2);
}

@media (max-width: 575.98px) {
  .cms-login__card > .card-body {
    padding: 24px;
  }

  .cms-login__card > .card-footer {
    padding: 16px 24px;
  }
}

.cms .card > .cms-fill {
  display: flex;
  flex-direction: column;
}

.cms .card > .cms-fill > .cms-bulk {
  margin: 16px;
  margin-bottom: 0;
}

.cms-listbody > .table-responsive,
.cms-listbody > .table-responsive-lg {
  border-bottom-left-radius: var(--bs-card-border-radius);
  border-bottom-right-radius: var(--bs-card-border-radius);
}

.cms-listbody > .card-body {
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}

.cms-listbody > nav {
  padding: 16px;
  border-top: 1px solid var(--td-line);
}

.cms .card-header .collapse,
.cms .card-header .collapsing {
  flex-basis: 100%;
}

.cms .card > .cms-bulk {
  margin: 16px;
  margin-bottom: 0;
}

body.cms.aside-mini .navbar-aside .brand-wrap {
  display: inline-flex;
  padding-inline: 0;
}

.cms .btn.btn-primary,
.cms .btn.btn-secondary {
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
}

.cms .btn-lg {
  --bs-btn-font-size: 15px;
  --bs-btn-padding-y: .75rem;
  --bs-btn-padding-x: 1.5rem;
  min-height: 48px;
}

.cms .cms-iconbtn {
  --bs-btn-padding-x: .5rem;
  --bs-btn-padding-y: .5rem;
}

.cms-table td .btn-group,
.cms-table td .cms-row-actions {
  max-width: 100%;
}

@media (max-width: 991.98px) {
  .cms-table:not(.cms-gridtable),
  .cms-table:not(.cms-gridtable) > tbody {
    display: block;
  }

  .cms-table:not(.cms-gridtable) > thead {
    display: none;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr:not(.collapse):not(.collapsing) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--td-line);
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    padding: 0;
    border: 0;
    order: 1;
    flex: 1 1 0;
    min-width: 72px;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td:has(> .badge),
  .cms-table:not(.cms-gridtable) > tbody > tr > td:has(> .form-check),
  .cms-table:not(.cms-gridtable) > tbody > tr > td:has(> .cms-switchcell),
  .cms-table:not(.cms-gridtable) > tbody > tr > td:has(> form > .form-check),
  .cms-table:not(.cms-gridtable) > tbody > tr > td.text-nowrap {
    flex: none;
    min-width: 0;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td:not(.cms-cell-end) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td.cms-cell-thumb,
  .cms-table:not(.cms-gridtable) > tbody > tr > td:has(> .cms-thumb),
  .cms-table:not(.cms-gridtable) > tbody > tr > td:has(.cms-thumbbox) {
    order: 0;
    flex: none;
    min-width: 0;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td.cms-cell-main {
    order: 0;
    flex: 1 1 calc(100% - 64px);
    min-width: 0;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td.cms-cell-end {
    order: 2;
    flex: none;
    min-width: 0;
    margin-left: auto;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td[colspan] {
    order: 3;
    flex: 1 1 100%;
  }

  .cms-table:not(.cms-gridtable) > tbody > tr > td .cms-thumb,
  .cms-table:not(.cms-gridtable) > tbody > tr > td .cms-thumbbox {
    width: 40px;
    height: 40px;
  }

  .cms .card-header {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .cms .main-header {
    min-height: 56px;
    padding-inline: 16px;
  }

  .cms .main-header .col-nav > .nav {
    gap: 8px;
  }

  .cms .main-header .nav-item > .btn {
    padding: 0;
  }

  .cms .main-header .cms-accountbtn {
    width: 40px;
    justify-content: center;
  }

  .cms .cms-belldrop {
    width: min(320px, calc(100vw - 80px));
  }

  .cms-table thead th:first-child:has(input[type="checkbox"]),
  .cms-table tbody tr > td:first-child:has(> input[type="checkbox"]) {
    display: none;
  }

  .cms-table td .cms-row-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .cms .card-header .cms-cardtitle {
    white-space: normal;
    overflow: visible;
  }

  .cms-work {
    flex-wrap: wrap;
  }

  .cms-work > .cms-rail,
  .cms-work > .cms-master,
  .cms-work > .cms-fill {
    width: 100%;
    flex: 1 1 100%;
  }

  .cms-savebar .state {
    order: 9;
    flex: 1 1 100%;
    margin-left: 0;
    text-align: start;
  }

  .cms .cms-tree__row {
    flex-wrap: wrap;
    row-gap: 8px;
  }

  .cms .cms-tree__name {
    flex: 1 1 160px;
  }

  .cms .cms-tree__field {
    flex: 1 1 100%;
    min-width: 0;
  }

  .cms .cms-tree__tools {
    margin-left: auto;
  }

  .cms .content-main .btn {
    --bs-btn-font-size: 13px;
    --bs-btn-padding-y: .25rem;
    --bs-btn-padding-x: .625rem;
    min-height: 36px;
  }

  .cms .content-main .cms-iconbtn {
    --bs-btn-padding-x: .375rem;
    --bs-btn-padding-y: .375rem;
    min-width: 36px;
  }

  .cms .content-main .cms-savebar .btn {
    --bs-btn-font-size: 14px;
    --bs-btn-padding-y: .5rem;
    --bs-btn-padding-x: 1rem;
    min-height: 40px;
  }
}

@media (max-width: 991.98px) {
  .cms-split,
  .cms-split--even {
    grid-template-columns: 1fr;
  }

  .cms-kpi {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1399.98px) {
  .cms-work:has(> .cms-master) {
    flex-wrap: wrap;
  }

  .cms-work > .cms-master,
  .cms-work:has(> .cms-master) > .cms-fill {
    width: 100%;
    flex: 1 1 100%;
  }

  .cms-split--even {
    grid-template-columns: 1fr;
  }
}

.cms-thumb--sm {
  width: 28px;
  height: 28px;
}

.cms-thumb--lg {
  width: 56px;
  height: 56px;
}

.cms-check:has(.form-check-input:checked) {
  background: var(--td-accent-soft);
}

.cms-expand {
  line-height: 1;
  transition: transform .15s ease;
}

.cms-expand[aria-expanded="true"] {
  transform: rotate(90deg);
}

.cms-quick-img {
  width: 96px;
  height: 96px;
  flex: none;
}

.cms-quick-facts dt,
.cms-quick-facts dd {
  font-size: 12px;
}

.cms-drop--slim {
  min-height: 34px;
  gap: 6px;
}

.cms-split--fill {
  flex: 1;
  align-items: stretch;
  min-height: 0;
}

.cms-work--wide {
  gap: 16px;
}

.cms-work--fill {
  flex: 1;
  align-items: stretch;
  min-height: 0;
}

.cms-w-28 { width: 28px; }
.cms-w-32 { width: 32px; }
.cms-gal--auto {
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
}

.cms-gal--wide {
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
}

.cms-gal figure.add {
  border-style: dashed;
  display: grid;
  place-items: center;
  background: var(--td-surface-2);
}

.cms-gal figure[draggable="true"] {
  cursor: grab;
}

.cms-gal figure .tools {
  position: absolute;
  right: 3px;
  bottom: 3px;
  display: flex;
  gap: 3px;
}

.cms-gal figure.is-picked {
  box-shadow: inset 0 0 0 3px var(--td-accent);
}

.cms-gal figure.is-dragging {
  opacity: .45;
}

.cms-gal figure.is-drop {
  box-shadow: inset 0 0 0 3px var(--td-accent);
}

.cms-gal figure .meta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2px 5px;
  font-size: 12px;
  color: var(--td-surface);
  background: rgba(19, 26, 36, .72);
}

.cms-gal figure .broken {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--td-dim);
  font-size: 12px;
  text-align: center;
  padding: 4px;
}

.cms {
  --bs-secondary-rgb: 74, 87, 102;
  --bs-secondary-color-rgb: 74, 87, 102;
}

.cms-stars {
  color: var(--td-accent-text);
}

.cms-expand,
.cms-titlebtn {
  min-height: 36px;
}

.cms-expand {
  min-width: 36px;
}

.cms .cms-tree__toggle {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.cms .form-check-input {
  position: relative;
}

.cms .form-check-input::after {
  content: "";
  position: absolute;
  inset: -13px;
}

.cms .form-switch .form-check-input::after {
  inset: -12px -6px;
}

@media (max-width: 991.98px) {
  .cms .btn,
  .cms .btn-close {
    min-height: 40px;
  }

  .cms .btn-close,
  .cms .cms-row-actions > .btn,
  .cms .cms-iconbtn {
    min-width: 40px;
  }

  .cms .dropdown-item,
  .cms .nav-link,
  .cms .page-link {
    display: flex;
    align-items: center;
    min-height: 40px;
  }
}

.cms-table tbody td a:not(.btn):not(.dropdown-item):not(.page-link) {
  padding-block: 11px;
  margin-block: -11px;
}

.cms-table tbody td a.badge {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding-block: 0;
  margin-block: 0;
}

.cms-titlebtn {
  min-height: 36px;
  display: flex;
  align-items: center;
}

.cms-statustabs {
  --bs-nav-tabs-border-color: var(--td-line);
  --bs-nav-link-color: var(--td-muted);
  --bs-nav-link-hover-color: var(--td-ink);
  --bs-nav-tabs-link-active-color: var(--td-ink);
  --bs-nav-tabs-link-active-bg: var(--td-surface);
  margin: 0;
}

.cms-statustabs .nav-link {
  min-height: 40px;
  font-weight: 600;
}

.cms-statustabs .nav-link.active {
  box-shadow: inset 0 -2px 0 var(--td-accent);
}

.cms-tabn {
  font-size: 12px;
  font-weight: 700;
  color: var(--td-muted);
  background: var(--td-surface-2);
  border-radius: 999px;
  padding: 1px 8px;
}

.cms-statustabs .nav-link.active .cms-tabn {
  color: var(--td-ink);
  background: var(--td-accent-soft);
}

.cms-filterbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.cms-filterbar > .form-select {
  width: auto;
  min-width: 160px;
  max-width: 240px;
}

.cms-filterbar > .cms-search {
  width: 280px;
  flex: 1 1 220px;
  max-width: 360px;
}

.cms-cattree {
  overflow: hidden;
}

.cms-cat__root {
  margin: 0;
  padding: 8px;
  list-style: none;
  max-height: 60vh;
  overflow-y: auto;
}

.cms-cat__kids {
  margin: 0;
  padding-left: 16px;
  list-style: none;
}

.cms-cat__row {
  display: flex;
  align-items: center;
  border-radius: .375rem;
}

.cms-cat__row.is-on {
  background: var(--td-accent-soft);
}

.cms-cat__toggle {
  width: 36px;
  height: 36px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: none;
  padding: 0;
  color: var(--td-muted);
  transition: transform .15s ease;
}

.cms-cat__toggle.is-shut {
  transform: rotate(-90deg);
}

.cms-cat__link {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  min-height: 36px;
  padding: 4px 8px 4px 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--td-soft);
  text-decoration: none;
}

.cms-cat__row.is-on > .cms-cat__link {
  color: var(--td-ink);
}

.cms-cat__link--flat {
  font-weight: 500;
  color: var(--td-muted);
}

.cms-cat__n {
  margin-left: auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--td-muted);
}

.cms-table td .cms-thumb {
  vertical-align: middle;
}

.cms-table td:has(.cms-thumb) {
  padding-block: .25rem;
}

.cms-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.cms-contactlink {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
}

.cms-numcell .form-control,
.cms-table td .form-control-sm.cms-mono {
  min-width: 72px;
}

.cms-gridtable__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--td-muted);
  margin-bottom: 4px;
}

@media (max-width: 991.98px) {
  .cms-gridtable,
  .cms-gridtable > tbody {
    display: block;
  }

  .cms-gridtable > thead {
    display: none;
  }

  .cms-gridtable > tbody > tr {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px 16px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--td-line);
  }

  .cms-gridtable > tbody > tr > td {
    display: block;
    height: auto;
    padding: 0;
    border: 0;
    width: auto;
    grid-column: span 2;
  }

  .cms-gridtable > tbody > tr > td.cms-gridtable__wide {
    grid-column: 1 / -1;
  }

  .cms-gridtable > tbody > tr > td.cms-gridtable__slim {
    grid-column: span 1;
  }

  .cms-gridtable > tbody > tr > td.cms-gridtable__end {
    grid-column: -3 / -1;
    justify-self: end;
    align-self: end;
  }

  .cms-gridtable > tbody > tr.table-active {
    background: var(--td-accent-soft);
  }

  .cms-gridtable > tbody > tr.table-active > td {
    --bs-table-bg-state: transparent;
    background-color: transparent;
  }

  .cms-gridtable .cms-row-actions {
    flex-wrap: nowrap;
  }

  .cms-gridtable .form-control,
  .cms-gridtable .form-select {
    min-height: 40px;
  }

  .cms-numcell .form-control {
    min-width: 0;
  }
}

@media (max-width: 991.98px) {
  .cms .content-header {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
  }

  .cms .content-header > form,
  .cms .content-header > .cms-search {
    order: 1;
    flex: 1 1 100%;
    min-width: 0;
  }

  .cms .content-main {
    padding-top: 12px;
  }

  .cms .content-header > .cms-minw0 {
    flex: 1 1 0;
    min-width: 0;
  }

  .cms .content-header > div:last-child:not(:first-child) {
    flex: 0 0 auto;
  }

  .cms .content-main > * + * {
    margin-top: 8px;
  }

  .cms .content-main .card {
    margin-bottom: 0;
  }

  .cms .content-main > :not(nav, .nav-tabs) + :is(.card, .cms-split, .cms-work, .cms-kpi) {
    margin-top: 16px;
  }

  .cms .content-main :is(.d-flex.flex-column.gap-2, .cms-fill) > .card + .card {
    margin-top: 8px;
  }

  .cms .content-main .cms-rail {
    gap: 16px;
  }

  .cms .cms-kpicard {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
  }

  .cms-kpi .label {
    letter-spacing: .04em;
  }

  .cms .cms-kpivalue {
    font-size: 24px;
  }

  .cms .content-main .row:has(> [class*="col"] > .card) {
    --bs-gutter-y: 16px;
  }

  .cms .nav-tabs .nav-link {
    min-height: 36px;
  }

  .cms .content-main > .card > .card-header {
    padding: 12px;
  }

  .cms .card-header .row {
    --bs-gutter-y: 8px;
  }

  .cms .content-header .form-control,
  .cms .content-header .form-select,
  .cms .content-header .input-group-text,
  .cms .card-header .form-control,
  .cms .card-header .form-select,
  .cms .card-header .input-group-text,
  .cms-filterbar .form-control,
  .cms-filterbar .form-select,
  .cms-filterbar .input-group-text {
    min-height: 36px;
    height: auto;
    padding-top: .25rem;
    padding-bottom: .25rem;
    font-size: 14px;
  }

  .cms .card-header input.form-control {
    margin-bottom: 0;
  }

  .cms-work > .cms-fill {
    gap: 8px;
  }

  .cms-filterbar,
  .cms .content-header > form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .cms-filterbar > .cms-search,
  .cms .content-header > form > .cms-search {
    grid-column: 1 / -1;
    width: auto;
    max-width: none;
  }

  .cms-filterbar > .form-select,
  .cms .content-header > form > .form-select {
    min-width: 0;
    max-width: none;
    padding-left: .375rem;
    padding-right: 1.25rem;
    background-position: right .25rem center;
  }
}


.cms-legend {
  letter-spacing: .06em;
}

.cms-design-rail {
  top: calc(var(--cms-designbar-h, 88px) + 16px);
}

.cms-design-rail .nav {
  --bs-nav-link-color: var(--td-soft);
  --bs-nav-link-hover-color: var(--td-ink);
}

.cms-design-rail__item {
  transition: background-color .2s ease;
}

.cms-design-rail__item:hover {
  background-color: var(--td-surface-2);
}

.cms-design-rail__item:has(> .nav-link.active) {
  background-color: var(--td-accent-soft);
}

.cms-design-rail .nav-link.active {
  color: var(--td-ink);
  font-weight: 600;
}

.cms-design-card,
.cms-design-card :is(input, select, textarea) {
  scroll-margin-top: calc(var(--cms-designbar-h, 88px) + 16px);
}

.cms-swatch--accent {
  background-color: var(--td-accent);
}

.cms-swatch--ink {
  background-color: var(--td-brand-ink);
}

.cms-swatch--white {
  background-color: var(--td-surface);
}

.cms-swatch--light {
  background-color: var(--td-brand-light);
}

.cms-swatch--dark {
  background-color: var(--td-brand-dark);
}

.cms-grip {
  cursor: grab;
  touch-action: none;
}

.cms-design-toggle .bi {
  transition: transform .2s ease;
}

.cms-design-toggle.collapsed .bi {
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .cms-design-rail__item,
  .cms-design-toggle .bi {
    transition: none;
  }
}
