/* PDL overrides on Metronic 9 Tailwind — uses templates/colors/pdl-colors.css only */
@import url("../../../colors/pdl-colors.css");
@import url("../../../colors/pdl-theme-variants.css?v=3");

:root {
  --pdl-font: "Inter", system-ui, -apple-system, sans-serif;
  /* Action icon scale — change this one value to resize table/toolbar action glyphs site-wide */
  --pdl-action-icon-size: 1.5rem;
  --pdl-action-slot-size: 2rem;
  /* Developer-only action cluster — teal, independent of brand purple */
  --pdl-dev-action-fg: #0f766e;
  --pdl-dev-action-fg-hover: #115e59;
  --pdl-dev-action-bg: #ccfbf1;
  --pdl-dev-action-bg-hover: #99f6e4;
  --pdl-dev-action-border: #14b8a6;
  /* PDL data table headers — shared across .pdl-dt-table and kt-table listings */
  --pdl-dt-th-font-size: 0.9375rem;
  --pdl-dt-th-font-weight: 700;
  --pdl-dt-th-color: var(--pdl-color-text, #1e293b);
  --pdl-dt-th-bg: var(--pdl-color-surface-soft, #f8fafc);
  --pdl-dt-th-border: var(--pdl-color-border-soft, #e2e8f0);
  --pdl-dt-th-padding-y: 0.75rem;
  --pdl-dt-th-padding-x: 0.75rem;
}

:root,
[data-kt-theme="true"],
[data-kt-theme-mode="light"] {
  --primary: var(--pdl-color-brand);
  --color-primary: var(--pdl-color-brand);
  --ring-color: color-mix(in srgb, var(--pdl-color-brand) 35%, transparent);
}

[data-kt-theme-mode="dark"] {
  --primary: var(--pdl-color-brand-soft);
  --color-primary: var(--pdl-color-brand-soft);
}

/* Sidebar Metronic kt-menu (PDL brand colors) */
#sidebar {
  --pdl-menu-text: var(--pdl-color-text);
  --pdl-menu-text-muted: var(--pdl-color-muted);
  --pdl-menu-hover-bg: var(--pdl-color-brand-hover-soft);
  --pdl-menu-active-bg: var(--pdl-color-selection-bg);
  --pdl-menu-active-text: var(--pdl-color-selection-text);
  --pdl-menu-open-bg: var(--pdl-color-surface-soft);
}

#sidebar .topbar-item,
#sidebar_menu > .topbar-item {
  display: none !important;
}

/* Top-right account menu (main content column) */
.pdl-sql-trace-toggle__label {
  user-select: none;
}

.pdl-sql-trace-toggle__id {
  display: inline-block;
  vertical-align: middle;
}

.pdl-sql-trace-toggle__meta .pdl-sql-trace-toggle__dot {
  flex-shrink: 0;
}

.pdl-profile-topbar__sql-trace,
.pdl-profile-topbar__dev-mode {
  padding: 0.25rem 0 0.125rem;
}

.pdl-profile-topbar__sql-trace-title,
.pdl-profile-topbar__dev-mode-title {
  padding: 0.35rem 1rem 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-muted-foreground, #6b7280);
}

.pdl-profile-topbar__sql-trace-row,
.pdl-profile-topbar__dev-mode-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 1rem;
  margin: 0;
  cursor: pointer;
  user-select: none;
}

.pdl-profile-topbar__sql-trace-row:hover,
.pdl-profile-topbar__dev-mode-row:hover {
  background: color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 6%, transparent);
}

.pdl-profile-topbar__sql-trace-label,
.pdl-profile-topbar__dev-mode-label {
  flex: 1 1 auto;
  font-size: 0.875rem;
}

.pdl-profile-topbar__sql-trace-meta {
  padding: 0 1rem 0.5rem;
}

.pdl-profile-topbar__sql-trace-meta-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  margin-bottom: 0.5rem;
}

.pdl-profile-topbar__sql-trace-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.pdl-profile-topbar__item--sql-trace-list {
  margin-top: 0.125rem;
}

.pdl-profile-topbar__color-theme {
  padding: 0.25rem 0 0.375rem;
}

.pdl-profile-topbar__color-theme-title {
  padding: 0.35rem 1rem 0.15rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-muted-foreground, #6b7280);
}

.pdl-profile-topbar__color-theme-note {
  margin: 0 1rem 0.5rem;
  font-size: 0.6875rem;
  line-height: 1.35;
  color: var(--color-muted-foreground, #6b7280);
}

.pdl-profile-topbar__color-theme-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.375rem;
  padding: 0 0.75rem 0.25rem;
}

.pdl-profile-topbar__color-theme-option {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  margin: 0;
  padding: 0.45rem 0.5rem;
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: 0.45rem;
  background: var(--pdl-color-surface, #fff);
  color: var(--pdl-color-text, #1d1b20);
  font-size: 0.8125rem;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
}

.pdl-profile-topbar__color-theme-option:hover {
  background: var(--pdl-color-brand-hover-soft, #fbf7ff);
  border-color: color-mix(in srgb, var(--pdl-color-brand) 22%, var(--pdl-color-border-soft));
}

.pdl-profile-topbar__color-theme-option.is-active {
  border-color: var(--pdl-color-brand);
  background: var(--pdl-color-selection-bg);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pdl-color-brand) 18%, transparent);
}

.pdl-profile-topbar__color-theme-option:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--pdl-color-brand) 45%, transparent);
  outline-offset: 1px;
}

.pdl-profile-topbar__color-theme-swatch {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
}

.pdl-profile-topbar__color-theme-swatch--default {
  background: linear-gradient(135deg, #6750a4 0 50%, #eaddff 50% 100%);
}

.pdl-profile-topbar__color-theme-swatch--orbit {
  background: linear-gradient(135deg, #0891b2 0 45%, #22d3ee 45% 100%);
}

.pdl-profile-topbar__color-theme-swatch--cosmos {
  background: linear-gradient(135deg, #7c3aed 0 40%, #ec4899 40% 70%, #38bdf8 70% 100%);
}

.pdl-profile-topbar__color-theme-swatch--comet {
  background: linear-gradient(135deg, #e11d48 0 40%, #f97316 40% 75%, #facc15 75% 100%);
}

.pdl-profile-topbar__color-theme-label {
  min-width: 0;
}

.pdl-sql-trace-sql {
  max-width: 52rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.pdl-profile-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
}

.pdl-profile-topbar__trigger:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--pdl-color-brand) 45%, transparent);
  outline-offset: 2px;
}

.pdl-profile-topbar__dropdown {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 0.35rem;
  min-width: 260px;
  padding: 0.5rem 0;
  background: var(--pdl-color-surface, #fff);
  border: 1px solid var(--pdl-color-border);
  border-radius: 0.5rem;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
  z-index: 1050;
}

[data-pdl-profile-menu].is-open .pdl-profile-topbar__dropdown,
.pdl-profile-topbar.is-open .pdl-profile-topbar__dropdown {
  display: block;
}

.pdl-profile-user {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.5rem;
  max-width: 100%;
}

.pdl-profile-greeting {
  line-height: 1.25;
  min-width: 0;
  max-width: min(14rem, 40vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-profile-topbar__trigger {
  flex-shrink: 0;
}

.pdl-profile-topbar__avatar {
  width: 2.25rem;
  height: 2.25rem;
  min-width: 2.25rem;
  min-height: 2.25rem;
  flex-shrink: 0;
  border-radius: 50%;
  box-sizing: border-box;
}

.pdl-profile-topbar__avatar--img {
  display: block;
  object-fit: cover;
  border: 1px solid var(--pdl-color-border, #e5e7eb);
}

.pdl-profile-topbar__avatar--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pdl-color-brand-dark, #5b21b6);
  background: color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 12%, #fff);
  border: 1px solid var(--pdl-color-border, #e5e7eb);
}

.pdl-page-header-bar {
  overflow: visible;
  border-bottom: 1px solid var(--pdl-color-border);
  margin-bottom: 1rem;
}

.pdl-page-header-bar__user {
  overflow: visible;
  flex-shrink: 0;
}

#pdl-global-user-bar {
  overflow: visible;
}

#pdl-global-user-bar .pdl-profile-user {
  margin-left: auto;
}

.pdl-profile-topbar__item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  color: var(--pdl-color-text);
  text-decoration: none;
}

.pdl-profile-topbar__item:hover {
  background: var(--pdl-color-brand-hover-soft, rgba(0, 0, 0, 0.04));
  color: var(--pdl-color-text);
  text-decoration: none;
}

.pdl-profile-topbar__item--danger,
.pdl-profile-topbar__item--danger:hover {
  color: var(--pdl-color-danger, #b42318);
}

.pdl-profile-topbar__separator {
  margin: 0.35rem 0;
  border-top: 1px solid var(--pdl-color-border);
}

.pdl-profile-topbar__roles {
  padding: 0.35rem 1rem 0.5rem;
}

.pdl-profile-topbar__roles-title {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pdl-color-text-muted, #6b7280);
  margin-bottom: 0.35rem;
}

.pdl-profile-topbar__roles-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pdl-profile-topbar__roles-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.25rem 0;
  font-size: 0.8125rem;
  color: var(--pdl-color-text);
}

.pdl-profile-topbar__roles-item.is-developer .pdl-profile-topbar__roles-label {
  font-weight: 600;
}

.pdl-profile-topbar__roles-badge {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 0.125rem 0.375rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 14%, #fff);
  color: var(--pdl-color-brand-dark, #5b21b6);
  white-space: nowrap;
}

.pdl-profile-topbar__clone {
  padding: 0.35rem 0 0.15rem;
}

.pdl-profile-topbar__clone-title {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pdl-color-text-muted, #6b7280);
  padding: 0 1rem 0.25rem;
}

.pdl-profile-topbar__item--button {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.pdl-profile-topbar__item--clone-last .pdl-profile-topbar__clone-last-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.pdl-clone-modal .kt-modal-content.pdl-clone-modal__content {
  width: min(20rem, calc(100vw - 2rem));
  max-width: 20rem;
  margin-inline: auto;
}

.pdl-clone-modal--admin .kt-modal-content.pdl-clone-modal__content {
  width: min(24rem, calc(100vw - 2rem));
  max-width: 24rem;
  overflow: visible;
}

.pdl-clone-admin-picker {
  position: relative;
  width: 100%;
}

.pdl-clone-admin-picker__input {
  min-height: 2.375rem;
  height: 2.375rem;
  font-size: 0.8125rem;
}

.pdl-clone-admin-picker__dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  z-index: 40;
  margin: 0;
  padding: 0.25rem 0;
  list-style: none;
  max-height: 14rem;
  overflow-y: auto;
  background: var(--pdl-color-surface, #fff);
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--pdl-color-text, #1d1b20) 12%, transparent);
}

.pdl-clone-admin-picker__dropdown[hidden] {
  display: none !important;
}

.pdl-clone-admin-picker__option {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.55rem 0.75rem;
  cursor: pointer;
  font-size: 0.875rem;
}

.pdl-clone-admin-picker__option:hover,
.pdl-clone-admin-picker__option.is-active {
  background: var(--pdl-color-brand-hover-soft, #fbf7ff);
}

.pdl-clone-admin-picker__option-label {
  font-weight: 500;
}

.pdl-clone-admin-picker__option-meta,
.pdl-clone-admin-picker__empty {
  font-size: 0.75rem;
  color: var(--pdl-color-muted, #6b7280);
}

.pdl-clone-admin-picker__empty {
  padding: 0.55rem 0.75rem;
}

.pdl-clone-modal .pdl-clone-modal__header {
  padding: 0.625rem 0.875rem;
  border-bottom: 1px solid var(--border, #e5e7eb);
}

.pdl-clone-modal .kt-modal-title {
  font-size: 0.9375rem;
  font-weight: 600;
}

.pdl-clone-modal .pdl-clone-modal__body {
  padding: 0.75rem 0.875rem 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pdl-clone-modal .pdl-clone-modal__body .pdl-label-picker {
  margin: 0;
}

.pdl-clone-modal .pdl-clone-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.pdl-profile-user .pdl-profile-topbar__dropdown {
  right: 0;
  top: calc(100% + 0.35rem);
}

/* Pages with header_bar: hide duplicate global user strip above main */
.kt-wrapper:has(#content .pdl-page-header-bar) #pdl-global-user-bar {
  display: none !important;
}

/* Profile photo page */
.pdl-profile-photo-page {
  max-width: 28rem;
  margin: 0 auto;
}

.pdl-profile-photo-current {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
}

.pdl-profile-photo-current__frame {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--pdl-color-border);
  background: var(--pdl-color-surface-soft, #f4f6f8);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.pdl-profile-photo-current__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdl-profile-photo-current__placeholder {
  font-size: 2.5rem;
  font-weight: 600;
  color: var(--pdl-color-brand);
}

.pdl-profile-photo-current__label {
  font-size: 0.8125rem;
  color: var(--pdl-color-muted);
}

.pdl-profile-photo-editor {
  text-align: center;
}

.pdl-photo-crop__pick-row {
  margin-bottom: 1rem;
}

.pdl-photo-crop__workspace-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--pdl-color-text);
  margin: 0 0 0.75rem;
}

.pdl-photo-crop__pick.kt-btn-primary {
  color: #fff !important;
  background-color: var(--pdl-color-brand) !important;
  border-color: var(--pdl-color-brand) !important;
  min-height: 2.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.pdl-photo-crop__pick.kt-btn-primary:hover {
  filter: brightness(0.95);
}

.pdl-photo-crop__pick span {
  position: relative;
  z-index: 1;
  pointer-events: none;
  font-weight: 600;
}

.pdl-photo-crop__stage-wrap {
  display: flex;
  justify-content: center;
  padding: 0.5rem 0 1rem;
  background: transparent;
}

.pdl-photo-crop__stage {
  position: relative;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  overflow: hidden;
  cursor: grab;
  background: transparent;
  touch-action: none;
  isolation: isolate;
}

.pdl-profile-photo-page.is-dragging .pdl-photo-crop__stage {
  cursor: grabbing;
}

.pdl-photo-crop__img {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
  user-select: none;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;
}

.pdl-photo-crop__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--pdl-color-brand) 55%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pdl-color-border) 80%, transparent);
  pointer-events: none;
  z-index: 2;
}

.pdl-photo-crop__hint {
  text-align: center;
  margin: 0 0 0.75rem;
}

.pdl-photo-crop__controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  width: 100%;
  max-width: 280px;
  margin: 0 auto 0.5rem;
}

.pdl-photo-crop__zoom {
  width: 100%;
  accent-color: var(--pdl-color-brand);
}

.pdl-photo-crop__submit {
  width: 100%;
  min-height: 2.75rem;
  font-weight: 600;
  font-size: 0.9375rem;
}

.pdl-photo-crop__pick-different {
  display: inline-block;
  margin-top: 0.75rem;
  cursor: pointer;
  font-size: 0.8125rem;
  color: var(--pdl-color-brand);
  text-decoration: underline;
}

.pdl-photo-crop__pick-different:hover {
  color: var(--pdl-color-text);
}

.pdl-photo-crop__pick-different-input {
  position: absolute;
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
}

.pdl-photo-crop__pick input.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.pdl-photo-crop__workspace {
  display: none;
  text-align: center;
}

.pdl-profile-photo-editor.has-image .pdl-photo-crop__workspace {
  display: block;
}

.pdl-photo-crop__empty {
  display: flex;
  justify-content: center;
  padding: 2rem 0;
}

.pdl-profile-photo-editor.has-image .pdl-photo-crop__pick-row {
  display: none;
}

.pdl-photo-crop__pick {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
}

.pdl-photo-crop__pick input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
}

.pdl-photo-crop__form input[type="file"] {
  display: none;
}

/* Metronic fixes .kt-sidebar-header at 70px and clips .kt-sidebar-logo — override so the full PDL mark shows */
#sidebar .kt-sidebar-header,
#sidebar .pdl-sidebar-header {
  height: auto;
  min-height: var(--header-height, 70px);
  overflow: visible;
  justify-content: center;
  padding-top: 1.25rem;
  padding-bottom: 0.375rem;
}

#sidebar .kt-sidebar-logo {
  width: 100%;
  overflow: visible;
  flex-shrink: 0;
}

#sidebar .kt-sidebar-logo a {
  display: block;
  width: 100%;
  line-height: 0;
}

#sidebar .kt-sidebar-logo .pdl-sidebar-logo {
  width: auto;
  max-width: 72%;
  height: auto;
  max-height: 5.5rem;
  display: block;
  margin-inline: auto;
  object-fit: contain;
}

#sidebar .pdl-sidebar-divider {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 1rem;
  margin-bottom: 0;
  border: 0;
  background: color-mix(in srgb, var(--pdl-color-border, #cac4d0) 55%, transparent);
  opacity: 0.65;
}

[data-kt-theme-mode="dark"] #sidebar .pdl-sidebar-divider {
  background: color-mix(in srgb, var(--pdl-color-border, #49454f) 70%, transparent);
  opacity: 0.5;
}

body.kt-sidebar-collapse #sidebar .pdl-sidebar-divider {
  margin-inline: 0.35rem;
}

#sidebar .kt-sidebar-content {
  padding-top: 0.75rem;
}

#sidebar #sidebar_menu .kt-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 0;
  font-family: var(--pdl-font);
}

#sidebar #sidebar_menu .kt-menu-item > .kt-menu-link,
#sidebar #sidebar_menu .kt-menu-item > .kt-menu-heading {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.75rem;
  min-width: 0;
  margin-inline: 0.375rem;
  border-radius: var(--pdl-radius-chip);
  border: 1px solid transparent;
  text-decoration: none;
  color: var(--pdl-menu-text-muted);
  background: transparent;
  transition: background 0.18s ease, color 0.18s ease;
  cursor: pointer;
}

#sidebar #sidebar_menu .kt-menu-item > .kt-menu-link .kt-menu-title,
#sidebar #sidebar_menu .kt-menu-item > .kt-menu-heading .kt-menu-title {
  flex: 1;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
  font-size: 0.875rem;
  font-weight: 500;
  color: inherit;
}

#sidebar #sidebar_menu .kt-menu-item > .kt-menu-link:hover {
  background: var(--pdl-menu-hover-bg);
  color: var(--pdl-color-brand-dark);
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-active > .kt-menu-link,
#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-here > .kt-menu-link {
  background: var(--pdl-menu-active-bg);
  color: var(--pdl-menu-active-text);
  font-weight: 500;
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-active .kt-menu-icon,
#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-here .kt-menu-icon {
  color: var(--pdl-menu-active-text);
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-show > .kt-menu-link {
  background: var(--pdl-menu-open-bg);
  color: var(--pdl-color-brand);
}

#sidebar #sidebar_menu .kt-menu-icon {
  flex-shrink: 0;
  width: 1.125rem;
  min-width: 1.125rem;
  height: 1.125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: var(--pdl-color-menu-icon);
}

#sidebar #sidebar_menu .kt-menu-icon.fa,
#sidebar #sidebar_menu .kt-menu-icon .fa {
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#sidebar #sidebar_menu .kt-menu-icon.fa::before,
#sidebar #sidebar_menu .kt-menu-icon .fa::before {
  line-height: 1;
  display: block;
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-active .kt-menu-icon,
#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-show .kt-menu-icon,
#sidebar #sidebar_menu .kt-menu-item > .kt-menu-link:hover .kt-menu-icon {
  color: var(--pdl-color-brand);
}

#sidebar #sidebar_menu .kt-menu-icon svg {
  width: 1.125rem !important;
  height: 1.125rem !important;
}

#sidebar #sidebar_menu .kt-menu-icon svg [fill] {
  fill: currentColor !important;
}

#sidebar #sidebar_menu .kt-menu-item > .kt-menu-link .kt-menu-arrow {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 0;
  margin-inline-start: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  opacity: 0.55;
  font-size: 0;
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-show > .kt-menu-link .kt-menu-arrow,
#sidebar #sidebar_menu .kt-menu-item.show > .kt-menu-link .kt-menu-arrow {
  transform: rotate(45deg);
  opacity: 1;
  color: var(--pdl-color-brand);
}

#sidebar #sidebar_menu .kt-menu-accordion > .kt-menu-arrow {
  display: none !important;
}

/* Only the direct accordion panel (not inner ul lists) */
#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-accordion > .kt-menu-accordion {
  display: none !important;
  list-style: none;
  flex-direction: column;
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-accordion.show > .kt-menu-accordion,
#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-accordion.kt-menu-item-show > .kt-menu-accordion {
  display: flex !important;
}

#sidebar #sidebar_menu {
  --pdl-submenu-icon-gap: 0.5rem;
}

#sidebar #sidebar_menu .pdl-menu-subnav {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Sub-menu links — uniform gap between icon and label (all depths) */
#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-link,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-link {
  display: flex;
  align-items: center;
  column-gap: var(--pdl-submenu-icon-gap);
  row-gap: 0;
}

#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-item > .kt-menu-link,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-item > .kt-menu-link {
  padding: 6px 9px;
  border-radius: var(--pdl-radius-chip);
  font-size: 0.8125rem;
}

#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-link > .kt-menu-icon,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-link > .kt-menu-icon,
#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-link > .kt-menu-icon.fa,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-link > .kt-menu-icon.fa {
  flex-shrink: 0;
  margin-inline-end: 0;
}

#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-link > .kt-menu-title,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-link > .kt-menu-title {
  margin-inline-start: 0;
  padding-inline-start: 0;
}

#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-item > .kt-menu-link .kt-menu-title,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-item > .kt-menu-link .kt-menu-title {
  font-size: 0.8125rem;
}

#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-item > .kt-menu-link:hover,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-item > .kt-menu-link:hover {
  background: var(--pdl-menu-hover-bg);
  color: var(--pdl-color-brand-dark);
  font-weight: 600;
}

#sidebar #sidebar_menu .kt-menu-accordion .kt-menu-item.kt-menu-item-active > .kt-menu-link,
#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-item.kt-menu-item-active > .kt-menu-link {
  background: var(--pdl-menu-active-bg);
  color: var(--pdl-menu-active-text);
  font-weight: 500;
}

/* Submenu tree — vertical guide + bullets (Metronic demo1 style) */
#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-accordion > .kt-menu-accordion {
  --pdl-menu-tree-x: 20px;
  position: relative;
  margin: 0 0 8px 0;
  margin-inline-start: 10px;
  padding: 2px 0 4px 10px;
}

#sidebar #sidebar_menu .pdl-menu-subnav .kt-menu-item.kt-menu-item-accordion > .kt-menu-accordion {
  --pdl-menu-tree-x: 32px;
  margin-inline-start: 0;
  padding-inline-start: 22px;
}

#sidebar #sidebar_menu .kt-menu-item.kt-menu-item-accordion > .kt-menu-accordion::before {
  content: "";
  position: absolute;
  inset-inline-start: var(--pdl-menu-tree-x);
  top: 0;
  bottom: 0;
  border-inline-start: 1px solid var(--pdl-color-border);
  pointer-events: none;
  z-index: 0;
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link {
  position: relative;
  z-index: 1;
  padding-inline-start: 10px;
  column-gap: var(--pdl-submenu-icon-gap);
  background: transparent;
  /* Highlight inset: ~50% into gap between tree line and bullet icon */
  --pdl-submenu-line-inset: calc(var(--pdl-menu-tree-x, 20px) - 10px);
  --pdl-submenu-icon-inset: calc(10px + var(--pdl-menu-tree-x, 20px) - 3px);
  --pdl-submenu-bg-inset: calc(
    var(--pdl-submenu-line-inset) +
    (var(--pdl-submenu-icon-inset) - var(--pdl-submenu-line-inset)) * 0.5
  );
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-inline-start: var(--pdl-submenu-bg-inset);
  inset-inline-end: 0;
  top: 0;
  bottom: 0;
  border-radius: var(--pdl-radius-chip);
  background: transparent;
  pointer-events: none;
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link:hover,
#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item.kt-menu-item-active > .kt-menu-link {
  background: transparent;
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link:hover::before {
  background: var(--pdl-menu-hover-bg);
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item.kt-menu-item-active > .kt-menu-link::before {
  background: var(--pdl-menu-active-bg);
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link .kt-menu-icon {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: calc(var(--pdl-menu-tree-x, 20px) - 3px);
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link .kt-menu-icon .bullet-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pdl-color-border);
  opacity: 1;
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link .kt-menu-icon:has(.fa) {
  width: 1rem;
  min-width: 1rem;
  margin-inline-start: calc(var(--pdl-menu-tree-x, 20px) - 6px);
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link .kt-menu-icon .fa {
  font-size: 0.75rem;
  line-height: 1;
  color: var(--pdl-color-menu-icon);
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link:hover .kt-menu-icon .bullet-dot,
#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item.kt-menu-item-active > .kt-menu-link .kt-menu-icon .bullet-dot {
  background: var(--pdl-color-brand);
}

#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item > .kt-menu-link:hover .kt-menu-icon .fa,
#sidebar #sidebar_menu .kt-menu-accordion .pdl-menu-subnav > .kt-menu-item.kt-menu-item-active > .kt-menu-link .kt-menu-icon .fa {
  color: var(--pdl-color-brand);
}

#sidebar #sidebar_menu .kt-menu-icon .bullet-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
}

#sidebar .pdl-sidebar-footer {
  margin-top: auto;
  padding: 16px 12px;
  font-size: 0.75rem;
  line-height: 1.35;
  text-align: center;
  color: var(--pdl-color-muted);
  border-top: 1px solid var(--pdl-color-border-soft);
}

#sidebar .pdl-sidebar-footer a {
  color: var(--pdl-color-brand);
  font-weight: 600;
}

body.kt-sidebar-collapse #sidebar {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  cursor: pointer;
}

body.kt-sidebar-collapse #sidebar #sidebar_toggle,
body.kt-sidebar-collapse #sidebar .kt-sidebar-logo a,
body.kt-sidebar-collapse #sidebar #sidebar_menu .kt-menu-link {
  cursor: pointer;
}

body.kt-sidebar-collapse #sidebar #sidebar_toggle {
  right: -12px;
}

body.kt-sidebar-collapse #sidebar .pdl-sidebar-logo {
  max-width: 88%;
  max-height: 2.75rem;
}

body.kt-sidebar-collapse #sidebar #sidebar_content {
  padding-right: 0.25rem;
}

body.kt-sidebar-collapse #sidebar #sidebar_scrollable {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

body.kt-sidebar-collapse #sidebar #sidebar_menu .kt-menu-item > .kt-menu-link {
  justify-content: center;
  margin-inline: 0.15rem;
  padding-inline: 0.35rem;
}

body.kt-sidebar-collapse #sidebar #sidebar_menu .kt-menu-title,
body.kt-sidebar-collapse #sidebar #sidebar_menu .kt-menu-arrow,
body.kt-sidebar-collapse #sidebar #sidebar_menu .kt-menu-accordion,
body.kt-sidebar-collapse #sidebar .pdl-sidebar-footer {
  display: none !important;
}

/* Mobile sidebar drawer */
@media (max-width: 1023px) {
  #sidebar {
    display: flex;
    width: 260px;
    min-width: 260px;
    max-width: 260px;
    left: 0;
    top: 0;
    bottom: 0;
    transform: translateX(-100%);
    transition: transform 0.22s ease;
    z-index: 80;
  }

  body.pdl-mobile-sidebar-open #sidebar {
    transform: translateX(0);
  }

  #pdl_mobile_sidebar_overlay {
    position: fixed;
    inset: 0;
    background: rgba(16, 12, 28, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
    z-index: 70;
  }

  body.pdl-mobile-sidebar-open #pdl_mobile_sidebar_overlay {
    opacity: 1;
    pointer-events: auto;
  }

  #pdl_mobile_menu_toggle {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: var(--pdl-color-white) !important;
    border-color: var(--pdl-color-chip-border) !important;
    color: var(--pdl-color-brand-dark) !important;
    box-shadow: 0 6px 14px var(--pdl-shadow-color-md);
  }

  #content {
    padding-top: 4rem !important;
  }

  body.pdl-mobile-sidebar-open #pdl_mobile_menu_toggle {
    opacity: 0;
    pointer-events: none;
  }

  body.pdl-mobile-sidebar-open {
    overflow: hidden;
  }
}

/* Filter chips — design idea.png typography (medium 500, not compat semibold) */
#dashboard_btns .kt-btn,
#dashboard_btns a.kt-btn,
#dashboard_btns button.kt-btn,
#content .kt-btn.kt-btn-sm,
#content a.kt-btn.kt-btn-sm,
#content button.kt-btn.kt-btn-sm {
  font-family: var(--pdl-font) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  min-height: 2rem;
  padding: 0.375rem 0.875rem !important;
  border-radius: var(--pdl-radius-chip) !important;
  box-shadow: none !important;
  transform: none !important;
}

#dashboard_btns .btn-primary,
#dashboard_btns .kt-btn-primary,
#content .kt-btn.kt-btn-sm.kt-btn-primary,
#content a.kt-btn.kt-btn-sm.kt-btn-primary,
#content button.kt-btn.kt-btn-sm.kt-btn-primary {
  background: var(--pdl-color-selection-bg) !important;
  border-color: var(--pdl-color-selection-bg) !important;
  color: var(--pdl-color-selection-text) !important;
  font-weight: 500 !important;
}

#dashboard_btns .btn-secondary,
#dashboard_btns .kt-btn-outline,
#content .kt-btn.kt-btn-sm.kt-btn-outline,
#content a.kt-btn.kt-btn-sm.kt-btn-outline,
#content button.kt-btn.kt-btn-sm.kt-btn-outline,
#content .kt-btn.kt-btn-sm.border,
#content a.kt-btn.kt-btn-sm.border,
#content button.kt-btn.kt-btn-sm.border {
  background: var(--pdl-color-white) !important;
  border-color: var(--pdl-color-chip-border) !important;
  color: var(--pdl-color-chip-text) !important;
  font-weight: 500 !important;
}

#dashboard_btns .btn-primary:hover,
#dashboard_btns .kt-btn-primary:hover,
#content .kt-btn.kt-btn-sm.kt-btn-primary:hover,
#content a.kt-btn.kt-btn-sm.kt-btn-primary:hover,
#content button.kt-btn.kt-btn-sm.kt-btn-primary:hover {
  background: #ebe0ff !important;
  border-color: #ebe0ff !important;
  color: var(--pdl-color-selection-text) !important;
}

#dashboard_btns .kt-btn-outline:hover,
#content .kt-btn.kt-btn-sm.kt-btn-outline:hover,
#content .kt-btn.kt-btn-sm.border:hover,
#content a.kt-btn.kt-btn-sm.border:hover,
#content button.kt-btn.kt-btn-sm.border:hover {
  background: var(--pdl-color-surface-soft) !important;
  border-color: var(--pdl-color-chip-border) !important;
  color: var(--pdl-color-selection-text) !important;
}

/* kt-btn-other — light blue accent (chip + full-size) */
#dashboard_btns .kt-btn-other,
#content .kt-btn.kt-btn-sm.kt-btn-other,
#content a.kt-btn.kt-btn-sm.kt-btn-other,
#content button.kt-btn.kt-btn-sm.kt-btn-other {
  background: var(--pdl-color-other-bg) !important;
  border-color: var(--pdl-color-other-border) !important;
  color: var(--pdl-color-other-text) !important;
  font-weight: 500 !important;
}

#dashboard_btns .kt-btn-other:hover,
#content .kt-btn.kt-btn-sm.kt-btn-other:hover,
#content a.kt-btn.kt-btn-sm.kt-btn-other:hover,
#content button.kt-btn.kt-btn-sm.kt-btn-other:hover {
  background: var(--pdl-color-other-hover-bg) !important;
  border-color: var(--pdl-color-other-hover-border) !important;
  color: var(--pdl-color-other-hover-text) !important;
}

.kt-btn.kt-btn-other {
  background-color: var(--pdl-color-other-bg);
  border-color: var(--pdl-color-other-border);
  color: var(--pdl-color-other-text);
}

.kt-btn.kt-btn-other:hover {
  background-color: var(--pdl-color-other-hover-bg);
  border-color: var(--pdl-color-other-hover-border);
  color: var(--pdl-color-other-hover-text);
}

.kt-btn.kt-btn-other:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--pdl-color-other-text) 35%, transparent);
  outline-offset: 2px;
}

/* Developer-only SAL Parquet (S3) downloads — amber */
#content .kt-btn.pdl-btn-parquet,
#content a.kt-btn.pdl-btn-parquet,
#content button.kt-btn.pdl-btn-parquet {
  background: var(--pdl-color-parquet-bg, #fde68a) !important;
  border-color: var(--pdl-color-parquet-border, #d97706) !important;
  color: var(--pdl-color-parquet-text, #92400e) !important;
}
#content .kt-btn.pdl-btn-parquet:hover,
#content a.kt-btn.pdl-btn-parquet:hover,
#content button.kt-btn.pdl-btn-parquet:hover {
  background: var(--pdl-color-parquet-hover-bg, #fcd34d) !important;
  border-color: var(--pdl-color-parquet-hover-border, #b45309) !important;
  color: var(--pdl-color-parquet-hover-text, #78350f) !important;
}

/* Full-size action buttons (Search, Submit, etc.) keep solid primary */
#content .kt-btn-primary:not(.kt-btn-sm):not(.pdl-sign-in-submit),
#content a.kt-btn-primary:not(.kt-btn-sm):not(.pdl-sign-in-submit),
#content button.kt-btn-primary:not(.kt-btn-sm):not(.pdl-sign-in-submit),
#content input.kt-btn-primary:not(.kt-btn-sm) {
  background-color: var(--pdl-color-brand, var(--primary)) !important;
  border-color: var(--pdl-color-brand, var(--primary)) !important;
  color: var(--pdl-color-white) !important;
  font-weight: 600 !important;
}

#content .kt-btn-primary:not(.kt-btn-sm):not(.pdl-sign-in-submit):hover,
#content a.kt-btn-primary:not(.kt-btn-sm):not(.pdl-sign-in-submit):hover,
#content button.kt-btn-primary:not(.kt-btn-sm):not(.pdl-sign-in-submit):hover,
#content input.kt-btn-primary:not(.kt-btn-sm):hover {
  filter: brightness(0.95);
}

#content .kt-btn-other:not(.kt-btn-sm),
#content a.kt-btn-other:not(.kt-btn-sm),
#content button.kt-btn-other:not(.kt-btn-sm) {
  background: var(--pdl-color-other-bg) !important;
  border-color: var(--pdl-color-other-border) !important;
  color: var(--pdl-color-other-text) !important;
  font-weight: 600 !important;
}

#content .kt-btn-other:not(.kt-btn-sm):hover,
#content a.kt-btn-other:not(.kt-btn-sm):hover,
#content button.kt-btn-other:not(.kt-btn-sm):hover {
  background: var(--pdl-color-other-hover-bg) !important;
  border-color: var(--pdl-color-other-hover-border) !important;
  color: var(--pdl-color-other-hover-text) !important;
}

.d-none {
  display: none !important;
}

.text-center {
  text-align: center !important;
}

/* Sidebar width + scroll — long labels wrap inside light aside */
#sidebar.kt-sidebar {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}

#sidebar .kt-sidebar-content,
#sidebar .kt-scrollable-y-hover,
#sidebar #sidebar_scrollable,
#sidebar #sidebar_menu {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

#sidebar #sidebar_menu.pdl-sidebar-menu .menu-item > .menu-link,
#sidebar #sidebar_menu.pdl-sidebar-menu .menu-item > .menu-link .menu-text {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

#sidebar #sidebar_menu.pdl-sidebar-menu .menu-submenu {
  max-width: 100%;
  margin-inline-start: 12px;
  margin-inline-end: 4px;
}

#sidebar #sidebar_menu.pdl-sidebar-menu .menu-subnav .menu-submenu {
  margin-inline-start: 8px;
}

/* Active list — AJAX table (replaces jQuery DataTables) */
.pdl-activelist-table tbody tr:hover {
  background-color: #ffffaa;
}

.pdl-datatable-shell .pdl-top-songs-store-list .kt-card-table {
  width: 100%;
}

/* KTUI admin modals */
#AdminModal .kt-modal-content {
  max-width: min(90vw, 1200px);
}

#AdminModal .kt-modal-body {
  max-height: min(75vh, 720px);
  overflow-y: auto;
}

.pdl-logout-modal .kt-modal-content {
  max-width: 400px;
}

.pdl-logout-modal__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.pdl-logout-modal__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--pdl-color-text);
  text-align: center;
  flex: 1;
}

.pdl-logout-modal__footer {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 1rem 1.25rem 1.25rem;
  border-top: 1px solid var(--pdl-color-border);
}

.pdl-logout-modal__footer .pdl-split-btn {
  width: 100%;
  max-width: none;
}

/* Split label + icon panel (Metronic kt-btn base) */
.kt-btn.pdl-split-btn {
  display: inline-flex;
  align-items: stretch;
  padding: 0;
  gap: 0;
  border: none !important;
  border-radius: 0.475rem;
  overflow: hidden;
  font-weight: 600;
  font-size: 0.9375rem;
  line-height: 1;
  box-shadow: none;
  text-decoration: none;
  background: transparent !important;
  --pdl-split-bg: var(--pdl-color-surface-container-high);
  --pdl-split-bg-dark: var(--pdl-color-border);
  --pdl-split-fg: var(--pdl-color-text);
  --pdl-split-divider: rgba(29, 27, 32, 0.12);
}

.kt-btn.pdl-split-btn:hover,
.kt-btn.pdl-split-btn:focus-visible {
  text-decoration: none;
}

.kt-btn.pdl-split-btn .pdl-split-btn__label {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.25rem;
  background: var(--pdl-split-bg) !important;
  color: var(--pdl-split-fg);
}

.kt-btn.pdl-split-btn .pdl-split-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  background: var(--pdl-split-bg-dark) !important;
  color: var(--pdl-split-fg);
  border-inline-start: 1px solid var(--pdl-split-divider);
}

.kt-btn.pdl-split-btn .pdl-split-btn__icon i {
  font-size: 1.15rem;
  line-height: 1;
}

/* Sign out — alert / destructive */
.kt-btn.pdl-split-btn.pdl-split-btn--danger {
  --pdl-split-bg: var(--pdl-color-danger);
  --pdl-split-bg-dark: color-mix(in srgb, var(--pdl-color-danger) 82%, #000);
  --pdl-split-fg: var(--pdl-color-white);
  --pdl-split-divider: rgba(255, 255, 255, 0.22);
}

.kt-btn.pdl-split-btn.pdl-split-btn--danger:hover,
.kt-btn.pdl-split-btn.pdl-split-btn--danger:focus-visible {
  filter: brightness(1.06);
}

.kt-btn.pdl-split-btn.pdl-split-btn--danger:hover .pdl-split-btn__label,
.kt-btn.pdl-split-btn.pdl-split-btn--danger:focus-visible .pdl-split-btn__label {
  background: color-mix(in srgb, var(--pdl-color-danger) 92%, #fff) !important;
}

/* Cancel — light gray (matches outline / secondary toolbar buttons) */
.kt-btn.pdl-split-btn.pdl-split-btn--cancel {
  --pdl-split-bg: var(--pdl-color-white);
  --pdl-split-bg-dark: var(--pdl-color-surface-container-high);
  --pdl-split-fg: var(--pdl-color-chip-text);
  --pdl-split-divider: var(--pdl-color-chip-border);
  border: 1px solid var(--pdl-color-chip-border) !important;
}

.kt-btn.pdl-split-btn.pdl-split-btn--cancel:hover,
.kt-btn.pdl-split-btn.pdl-split-btn--cancel:focus-visible {
  --pdl-split-bg: var(--pdl-color-surface-soft);
  --pdl-split-bg-dark: var(--pdl-color-surface-container);
  --pdl-split-fg: var(--pdl-color-selection-text);
}

/* Streaming trends toolbar — 4 sections + design picker */
.pdl-platform-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pdl-trends-toolbar-sections {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px 20px;
}

.pdl-trends-toolbar__section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.pdl-trends-toolbar__section--end {
  margin-left: auto;
}

.pdl-trends-toolbar__section-title {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pdl-color-muted);
}

.pdl-trends-toolbar__section-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

/* Option A / live — connected segmented pills (htmldesign) */
.pdl-toolbar-design-picker .pdl-segmented-control,
#l1report_toolbar .pdl-segmented-control,
#dashboard_btns .pdl-segmented-control {
  display: inline-flex;
  border: 1px solid var(--pdl-color-border);
  border-radius: 9999px;
  overflow: hidden;
  background: var(--pdl-color-white);
  padding: 0;
}

.pdl-toolbar-design-picker .pdl-segment-btn,
#l1report_toolbar .pdl-segment-btn,
#dashboard_btns .pdl-segment-btn {
  border: none;
  background: transparent;
  padding: 8px 18px;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--pdl-color-muted);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  transform: none;
  min-height: 0;
}

.pdl-toolbar-design-picker .pdl-segment-btn:not(:last-child),
#dashboard_btns .pdl-segment-btn:not(:last-child),
#l1report_toolbar .pdl-segmented-control:not(.pdl-segmented-control--platforms) > .pdl-segment-btn:not(:last-child) {
  border-right: 1px solid var(--pdl-color-border);
}

.pdl-toolbar-design-picker .pdl-segment-btn:hover:not(:disabled),
#dashboard_btns .pdl-segment-btn:hover,
#l1report_toolbar .pdl-segment-btn:hover:not(:disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
}

.pdl-toolbar-design-picker .pdl-segment-btn.active,
#dashboard_btns .pdl-segment-btn.active,
#l1report_toolbar .pdl-segment-btn.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
}

.pdl-toolbar-design-picker .pdl-icon-btn-circle,
#dashboard_btns .pdl-icon-btn-circle,
#l1report_toolbar .pdl-icon-btn-circle {
  width: 36px;
  height: 36px;
  min-width: 36px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid var(--pdl-color-border);
  background: var(--pdl-color-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--pdl-color-muted);
  box-shadow: none;
  transform: none;
}

.pdl-toolbar-design-picker .pdl-icon-btn-circle:hover:not(:disabled),
#dashboard_btns .pdl-icon-btn-circle:hover,
#l1report_toolbar .pdl-icon-btn-circle:hover:not(:disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand);
}

.pdl-toolbar-design-picker .pdl-platform-btn,
#l1report_toolbar .pdl-platform-btn,
#dashboard_btns .pdl-platform-btn {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 6px;
  margin: 0;
}

.pdl-toolbar-design-picker .pdl-platform-btn img,
#l1report_toolbar .pdl-platform-btn img,
#dashboard_btns .pdl-platform-btn img,
.pdl-toolbar-design-picker .pdl-platform-btn .pdl-platform-icon,
#l1report_toolbar .pdl-platform-btn .pdl-platform-icon,
#dashboard_btns .pdl-platform-btn .pdl-platform-icon,
.pdl-toolbar-design-picker .pdl-platform-btn svg,
#l1report_toolbar .pdl-platform-btn svg,
#dashboard_btns .pdl-platform-btn svg,
.pdl-toolbar-design-picker .pdl-platform-btn .pdl-platform-sprite-icon,
#l1report_toolbar .pdl-platform-btn .pdl-platform-sprite-icon,
#dashboard_btns .pdl-platform-btn .pdl-platform-sprite-icon {
  display: block;
  width: 24px;
  height: 24px;
  max-width: 24px;
  max-height: 24px;
  object-fit: contain;
  pointer-events: none;
  flex-shrink: 0;
}

.pdl-platform-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.pdl-toolbar-design-picker .pdl-platform-btn.active,
#dashboard_btns .pdl-platform-btn.active,
#l1report_toolbar .pdl-platform-btn.active {
  border-color: var(--pdl-color-brand-soft);
  background: var(--pdl-color-brand-soft);
  box-shadow: 0 0 0 1px var(--pdl-color-brand-soft);
}

/* Platform row — dashboard-style: All (left) | icon pill | Clear (right) */
#l1report_toolbar .l1report-toolbar-row--platforms {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px 16px;
  flex-wrap: nowrap;
}

#l1report_toolbar .l1report-platform-bulk-actions--start,
#l1report_toolbar .l1report-platform-bulk-actions--end {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

#l1report_toolbar .l1report-platform-bulk-actions--end {
  justify-self: end;
}

#l1report_toolbar #l1report-platform-bar.pdl-segmented-control--platforms {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-self: start;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--pdl-color-border);
  border-radius: 9999px;
  background: var(--pdl-color-white);
  padding: 0;
}

#l1report_toolbar .pdl-segmented-control--platforms > .pdl-platform-btn:not(:last-child) {
  border-right: 1px solid var(--pdl-color-border);
}

#l1report_toolbar .pdl-segmented-control--platforms .pdl-platform-btn {
  border: none;
  border-radius: 0;
  flex-shrink: 0;
}

/* Icon-only platform pills — do not inherit text-segment padding (avoids label/alt under logo) */
#l1report_toolbar .pdl-segmented-control--platforms > .pdl-segment-btn.pdl-platform-btn,
#dashboard_btns .pdl-segmented-control--platforms > .pdl-segment-btn--platform.pdl-platform-btn,
#pdl_trend_v2 .pdl-segmented-control--platforms > .pdl-segment-btn--platform.pdl-platform-btn {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 6px;
  font-size: 0;
  line-height: 0;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow: hidden;
}

#l1report_toolbar .pdl-segmented-control--platforms .pdl-platform-btn .pdl-platform-icon-wrap,
#dashboard_btns .pdl-segmented-control--platforms .pdl-segment-btn--platform .pdl-platform-icon-wrap,
#pdl_trend_v2 .pdl-segmented-control--platforms .pdl-platform-btn .pdl-platform-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

#l1report_toolbar .pdl-segmented-control--platforms .pdl-platform-btn:not(.active) {
  opacity: 0.45;
  filter: grayscale(0.35);
}

#l1report_toolbar .pdl-segmented-control--platforms .pdl-platform-btn.active {
  opacity: 1;
  filter: none;
  background: var(--pdl-color-brand-medium);
  box-shadow: none;
}

/* L1 Revenue Trends — exactly two toolbar rows */
#l1report_toolbar.pdl-trends-toolbar--live {
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

#l1report_toolbar .l1report-toolbar-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

#l1report_toolbar .l1report-toolbar-row--filters {
  overflow-x: auto;
  align-items: center;
}

#l1report_toolbar .l1report-toolbar-row--filters > .pdl-segmented-control {
  align-self: center;
}

#l1report_toolbar .pdl-icon-btn-circle img {
  display: block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

#l1report_toolbar .l1report-toolbar-dates {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

#l1report_toolbar .l1report-toolbar-month-fields {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

#l1report_toolbar .l1report-toolbar-month-sep {
  color: var(--pdl-color-muted);
  flex-shrink: 0;
  line-height: 1;
}

#l1report_toolbar .l1report-toolbar-dates .pdl-myp-wrap {
  width: fit-content;
  min-width: 0;
  max-width: var(--pdl-picker-width-month);
  flex-shrink: 0;
  align-self: center;
}

#l1report_toolbar .l1report-toolbar-dates .pdl-myp-trigger {
  min-height: 2.5rem;
  height: auto;
  width: auto;
  padding: 0 0.25rem 0 0.4rem;
  font-size: 0.875rem;
  line-height: 1.25;
  box-sizing: border-box;
}

#l1report_toolbar .l1report-toolbar-dates .pdl-myp-display {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

#l1report_toolbar .l1report-toolbar-dates .pdl-myp-icon {
  font-size: 0.875rem;
  margin-left: 0;
}

/* Site-wide single-row filter / upload toolbars */
.pdl-form-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}

.pdl-form-toolbar--stacked {
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
}

.pdl-form-toolbar__main {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.pdl-form-toolbar__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  width: 100%;
  min-width: 0;
}

.pdl-form-toolbar__field--inline {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  min-width: 0;
}

.pdl-form-toolbar__prompt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pdl-color-text-secondary, #475569);
  line-height: 1.2;
  white-space: nowrap;
  flex-shrink: 0;
}

.pdl-form-toolbar__field--grow {
  flex: 1 1 10rem;
  min-width: 8rem;
}

.pdl-form-toolbar__field--grow .kt-input {
  width: 100%;
  min-width: 0;
}

.pdl-form-toolbar__field--label .pdl-label-picker.pdl-sign-in-field {
  width: 14rem;
  min-width: 14rem;
  height: var(--pdl-filter-control-height, 2.5rem);
  min-height: var(--pdl-filter-control-height, 2.5rem);
  align-self: center;
  overflow: hidden;
}

.pdl-form-toolbar__field--label .pdl-label-picker .pdl-label-picker__icon {
  align-self: stretch;
  height: auto;
  min-height: 100%;
  border-radius: 0.5rem 0 0 0.5rem;
}

.pdl-form-toolbar__field--label .pdl-label-picker .pdl-label-picker__input {
  height: 100%;
  min-height: 0;
  padding-block: 0;
}

.pdl-form-toolbar__field--date .kt-input.pdl-date-picker,
.pdl-form-toolbar__field--date .pdl-myp-wrap[data-granularity="date"] {
  width: var(--pdl-picker-width-date);
  min-width: var(--pdl-picker-width-date);
  max-width: var(--pdl-picker-width-date);
}

.pdl-form-toolbar__field--date .pdl-myp-wrap:not([data-granularity="date"]) {
  width: var(--pdl-picker-width-month);
  min-width: var(--pdl-picker-width-month);
  max-width: var(--pdl-picker-width-month);
}

.pdl-form-toolbar__field--select .kt-input,
.pdl-form-toolbar__field--select select {
  width: 11rem;
  min-width: 11rem;
}

.pdl-form-toolbar__field--file .kt-input[type="file"],
.pdl-form-toolbar__field--file input[type="file"] {
  width: auto;
  max-width: 16rem;
  padding: 0.35rem 0.5rem;
}

.pdl-form-toolbar__radio-group {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem;
}

.pdl-form-toolbar__radio {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.8125rem;
  white-space: nowrap;
  cursor: pointer;
}

.pdl-form-toolbar__actions {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

/* Results tables — card below filter toolbar */
.pdl-results-card {
  border: 1px solid var(--pdl-color-border-soft);
  min-width: 0;
  max-width: 100%;
}

.pdl-results-card .kt-card-body {
  min-width: 0;
  max-width: 100%;
}

/* Wide result tables — horizontal scroll inside page width */
.kt-scrollable-x-auto,
.pdl-table-scroll-host {
  display: block;
  overflow-x: auto;
  overflow-y: visible;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  box-sizing: border-box;
}

.pdl-wide-table-page,
#l1l2-summary-page-root {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
  box-sizing: border-box;
  contain: inline-size;
}

html:has(.pdl-wide-table-page),
html:has(.pdl-wide-table-page) body {
  overflow-x: clip;
  max-width: 100%;
}

body:has(.pdl-wide-table-page) #content,
body:has(.pdl-wide-table-page) .kt-wrapper,
body:has(.pdl-wide-table-page) #content .kt-container-fixed {
  overflow-x: clip;
  max-width: 100%;
  min-width: 0;
}

.pdl-wide-table-page .pdl-results-card,
.pdl-wide-table-page .pdl-results-card .kt-card-body {
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 768px) {
  .pdl-table-scroll-host {
    scrollbar-gutter: stable;
    border: 1px solid var(--pdl-color-border-soft);
    border-radius: 0.5rem;
    background: var(--pdl-color-white);
  }

  .pdl-table-scroll-host::-webkit-scrollbar {
    width: 12px;
    height: 12px;
  }

  .pdl-table-scroll-host::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 6px;
  }

  .pdl-table-scroll-host::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 6px;
    border: 2px solid #f1f5f9;
  }

  .pdl-table-scroll-host::-webkit-scrollbar-thumb:hover {
    background: #64748b;
  }

  .pdl-table-scroll-host {
    scrollbar-width: auto;
    scrollbar-color: #94a3b8 #f1f5f9;
  }
}

#content .kt-scrollable-x-auto > table.kt-table.table,
#content .pdl-table-scroll-host > table.kt-table.table {
  width: max-content !important;
  min-width: 100%;
  max-width: none !important;
  table-layout: auto;
}

/* Process listing — action tags wrap inside viewport (not one wide row) */
#content .kt-scrollable-x-auto > #processtbl.kt-table.table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
}

#content .kt-scrollable-x-auto > #processtbl.kt-table.table td:first-child,
#content .kt-scrollable-x-auto > #processtbl.kt-table.table th:first-child {
  width: 11rem !important;
  white-space: nowrap;
}

#content .kt-scrollable-x-auto > #processtbl.kt-table.table td:nth-child(2),
#content .kt-scrollable-x-auto > #processtbl.kt-table.table th:nth-child(2) {
  min-width: 0;
}

#content .kt-scrollable-x-auto > #processtbl.kt-table.table td:last-child,
#content .kt-scrollable-x-auto > #processtbl.kt-table.table th:last-child {
  width: 10rem !important;
}

.pdl-process-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.25rem;
  max-width: 100%;
}

.pdl-process-actions .kt-btn {
  white-space: nowrap;
}

.pdl-process-actions .kt-btn i {
  padding: 0 !important;
}

.pdl-process-milestones {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
}

.pdl-process-milestones .kt-btn {
  justify-content: flex-start;
}

.pdl-process-milestones .kt-btn i {
  padding: 0 !important;
}

#content .pdl-l1l2-summary-table td,
#content .pdl-l1l2-summary-table th {
  white-space: nowrap;
}

.pdl-add-report-card {
  border: 1px solid var(--pdl-color-border-soft);
  min-width: 14rem;
  cursor: pointer;
}

.pdl-add-report-card:hover {
  border-color: var(--color-primary, #3b82f6);
}

.pdl-add-report-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

@media (max-width: 1199px) {
  .pdl-form-toolbar {
    flex-wrap: wrap;
  }

  .pdl-form-toolbar__main {
    flex-wrap: wrap;
  }

  .pdl-form-toolbar__actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-end;
  }
}

/* Filter toolbars — Go / Reset / Download (site-wide) */
.l1report-toolbar-actions,
.pdl-form-toolbar-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.l1report-toolbar-actions .kt-btn,
.pdl-form-toolbar-actions .kt-btn {
  min-height: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
}

.l1report-toolbar-actions .kt-btn .fa,
.pdl-form-toolbar-actions .kt-btn .fa {
  font-size: 0.875rem;
  line-height: 1;
}

/* Site-wide filter spacing + control height (toolbars, meta search, legacy rows/tables) */
:root {
  --pdl-filter-field-gap: 0.65rem;
  --pdl-filter-actions-gap: 8px;
  --pdl-filter-control-height: 2.5rem;
  /* Standard picker entry widths — see templates/metronicdesign/PDL-UI-DESIGN.md § Standard picker entry widths */
  --pdl-picker-width-month: 9rem;
  --pdl-picker-width-month-only: 6.5rem;
  --pdl-picker-width-year: 6.5rem;
  --pdl-picker-width-date: 7.5rem;
  --pdl-picker-width-platform: 9.5rem;
  --pdl-picker-width-platform-multi: 12rem;
  --pdl-picker-width-language: 9rem;
  --pdl-picker-width-language-multi: 12rem;
}

.pdl-form-toolbar,
.pdl-form-toolbar__main,
.pdl-form-toolbar__row,
.pdl-meta-search-toolbar,
.pdl-filter-toolbar,
form.typeahead > .flex.flex-wrap,
form#search > .flex.flex-wrap {
  gap: var(--pdl-filter-field-gap);
}

.pdl-meta-search-toolbar .pdl-meta-search-actions,
.pdl-meta-search-actions.l1report-toolbar-actions {
  gap: var(--pdl-filter-actions-gap);
  margin-left: auto;
}

.pdl-meta-search-toolbar .pdl-meta-search-actions .kt-btn,
.pdl-meta-search-actions.l1report-toolbar-actions .kt-btn {
  min-height: var(--pdl-filter-control-height);
  height: var(--pdl-filter-control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
}

/* Legacy filter rows (flex + p-3 wrappers) */
.pdl-filter-toolbar,
form.typeahead > .flex.flex-wrap.border-bottom,
form.typeahead > .flex.flex-wrap.gap-4,
form#search > .flex.flex-wrap,
form#search > .pdl-filter-toolbar,
form.typeahead > .pdl-filter-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pdl-filter-field-gap);
}

form.typeahead > .flex.flex-wrap > .p-3,
form.typeahead > .flex.flex-wrap > .pl-4,
form#search > .flex.flex-wrap > .p-3,
form#search > .pdl-filter-toolbar > div,
.pdl-filter-toolbar > .p-3,
.pdl-filter-toolbar > div,
.pdl-filter-toolbar__field {
  padding: 0 !important;
  margin: 0;
}

/* Admin forms — card shell + legacy widget bodies */
.pdl-form-card {
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-form-card > .kt-card-body > form,
.widget-body > form,
.widget-body form {
  margin: 0;
}

.widget-body form .kt-input,
.widget-body form select.kt-input,
.widget-body form input[type="text"],
.widget-body form input[type="email"],
.widget-body form input[type="number"],
.widget-body form select {
  min-height: var(--pdl-filter-control-height);
  box-sizing: border-box;
}

.widget-body form table td {
  padding: 0 calc(var(--pdl-filter-field-gap) / 2) 0 0 !important;
  vertical-align: middle;
}

.widget-body form .l1report-toolbar-actions,
.widget-body form td:has(.kt-btn) {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--pdl-filter-actions-gap);
}

.pdl-filter-toolbar__actions,
form.typeahead .pdl-filter-toolbar__actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--pdl-filter-actions-gap);
  flex-shrink: 0;
}

/* Table-based filter forms */
form.typeahead table td,
form#search table td,
.pdl-form-card form table td {
  padding: 0 calc(var(--pdl-filter-field-gap) / 2) 0 0 !important;
  vertical-align: middle;
}

form.typeahead table td:has(.kt-btn),
form#search table td:has(.kt-btn),
.pdl-form-card form table td:has(.kt-btn) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pdl-filter-actions-gap);
  white-space: nowrap;
}

form.typeahead .kt-input,
form#search .kt-input,
.pdl-form-toolbar .kt-input,
.pdl-meta-search-toolbar .kt-input,
.pdl-filter-toolbar .kt-input,
.pdl-form-card form .kt-input,
.pdl-form-card form select.kt-input {
  min-height: var(--pdl-filter-control-height);
  box-sizing: border-box;
}

/* Filter actions — Go primary, Reset outline (site-wide) */
form.typeahead .kt-btn-primary,
.pdl-form-toolbar .kt-btn-primary,
.pdl-meta-search-actions .kt-btn-primary,
.l1report-toolbar-actions .kt-btn-primary,
.pdl-form-toolbar-actions .kt-btn-primary,
.pdl-filter-toolbar__actions .kt-btn-primary {
  background-color: var(--pdl-color-brand, var(--primary));
  border-color: var(--pdl-color-brand, var(--primary));
  color: #fff;
}

form.typeahead .kt-btn-other,
.pdl-form-toolbar .kt-btn-other,
.pdl-meta-search-actions .kt-btn-other,
.l1report-toolbar-actions .kt-btn-other,
.pdl-form-toolbar-actions .kt-btn-other,
.pdl-filter-toolbar__actions .kt-btn-other {
  background-color: var(--pdl-color-other-bg);
  border-color: var(--pdl-color-other-border);
  color: var(--pdl-color-other-text);
}

form.typeahead .kt-btn-other:hover,
.pdl-form-toolbar .kt-btn-other:hover,
.pdl-meta-search-actions .kt-btn-other:hover,
.l1report-toolbar-actions .kt-btn-other:hover,
.pdl-form-toolbar-actions .kt-btn-other:hover,
.pdl-filter-toolbar__actions .kt-btn-other:hover {
  background-color: var(--pdl-color-other-hover-bg);
  border-color: var(--pdl-color-other-hover-border);
  color: var(--pdl-color-other-hover-text);
}

form.typeahead .kt-btn-outline,
.pdl-form-toolbar .kt-btn-outline,
.pdl-meta-search-actions .kt-btn-outline,
.l1report-toolbar-actions .kt-btn-outline,
.pdl-form-toolbar-actions .kt-btn-outline,
.pdl-filter-toolbar__actions .kt-btn-outline,
form.typeahead button[type="reset"].kt-btn,
form.typeahead button[onclick*="reset" i].kt-btn-outline,
form.typeahead button[onclick*="Reset" i].kt-btn-outline {
  background-color: transparent;
  border-color: var(--pdl-color-border, #cbd5e1);
  color: var(--pdl-color-text, #1e293b);
}

/* Wrong variant on filter Reset — normalize to outline */
form.typeahead button[onclick*="reset" i].kt-btn-destructive,
form.typeahead button[onclick*="Reset" i].kt-btn-destructive,
form.typeahead button[type="reset"].kt-btn-destructive,
form.typeahead button[type="reset"].kt-btn-primary,
.pdl-meta-search-actions .kt-btn-destructive,
.l1report-toolbar-actions .kt-btn-destructive:not(.pdl-btn-destructive-keep) {
  background-color: transparent !important;
  border-color: var(--pdl-color-border, #cbd5e1) !important;
  color: var(--pdl-color-text, #1e293b) !important;
}

#l1report_toolbar .l1report-toolbar-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

#l1report_toolbar .l1report-toolbar-actions .kt-btn {
  min-height: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
}

#l1report_toolbar .l1report-toolbar-admin {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
}

#l1report_toolbar .l1report-toolbar-admin .kt-input {
  width: 10rem;
  min-width: 8rem;
}

#l1report_toolbar .pdl-segmented-control {
  flex-shrink: 0;
}

/* Trends toolbar — dashboard only (Option A live layout) */
#dashboard_btns.pdl-trends-toolbar--live {
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  align-items: center;
}

/* Platforms | period (centered in gap) | export — one row on laptop+ */
#dashboard_btns .pdl-trends-toolbar-sections.pdl-trends-toolbar-sections--option-a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  align-content: center;
  gap: 12px 20px;
  width: 100%;
  min-height: 44px;
  padding: 0 0.75rem;
  box-sizing: border-box;
}

#dashboard_btns .pdl-trends-toolbar-sections--option-a .pdl-trends-toolbar__section {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: center;
  gap: 0;
  min-height: 0;
}

#dashboard_btns .pdl-trends-toolbar__section--platforms {
  justify-self: start;
  align-self: center;
  flex-shrink: 0;
  min-width: 0;
}

/* Total+DSP pill, then independent YouTube and Meta pills (do not touch) */
#dashboard_btns .pdl-trends-platform-groups,
#pdl_trend_v2 .pdl-trends-platform-groups {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
}

#dashboard_btns .pdl-segmented-control--platform-solo,
#pdl_trend_v2 .pdl-segmented-control--platform-solo {
  flex-shrink: 0;
}

/* ID+display rules on the pill override Tailwind `.hidden`; keep solos out until revealed */
#dashboard_btns .pdl-segmented-control--platform-solo.hidden,
#pdl_trend_v2 .pdl-segmented-control--platform-solo.hidden {
  display: none !important;
}

#dashboard_btns .pdl-trends-toolbar__section--period {
  justify-self: center;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

#dashboard_btns .pdl-trends-toolbar__period-row,
#pdl_trend_v2 .pdl-trends-toolbar__period-row {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#dashboard_btns .pdl-trends-ma-badges,
#pdl_trend_v2 .pdl-trends-ma-badges {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#dashboard_btns .pdl-trends-ma-badge,
#pdl_trend_v2 .pdl-trends-ma-badge {
  border: 1px solid var(--pdl-color-border);
  border-radius: 9999px;
  background: var(--pdl-color-white);
  padding: 4px 10px;
  font-family: var(--pdl-font);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: var(--pdl-color-muted);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#dashboard_btns .pdl-trends-ma-badge:hover,
#pdl_trend_v2 .pdl-trends-ma-badge:hover {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
  border-color: var(--pdl-color-brand-soft);
}

#dashboard_btns .pdl-trends-ma-badge.active,
#pdl_trend_v2 .pdl-trends-ma-badge.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
  border-color: var(--pdl-color-brand);
}

#dashboard_btns .pdl-trends-ma-badge#pdl_trend_ma_7.active,
#pdl_trend_v2 .pdl-trends-ma-badge#pdl_trend_ma_7.active {
  background: rgba(153, 27, 27, 0.1);
  color: #991b1b;
  border-color: #991b1b;
}

#dashboard_btns .pdl-trends-ma-badge#pdl_trend_ma_15.active,
#pdl_trend_v2 .pdl-trends-ma-badge#pdl_trend_ma_15.active {
  background: rgba(55, 65, 81, 0.1);
  color: #374151;
  border-color: #374151;
}

#dashboard_btns .pdl-trends-toolbar__section--export {
  justify-self: end;
  align-self: center;
  margin-left: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

#dashboard_btns .pdl-trends-toolbar__stack {
  min-width: 0;
}

#dashboard_btns .pdl-trends-toolbar__meta-notice {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  line-height: 1.35;
}

/* L1 dashboard trend chart — Apex tooltip (Total + single DSP) */
.apexcharts-tooltip .pdl-trend-tip {
  min-width: 248px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.35;
}

.apexcharts-tooltip .pdl-trend-tip__date {
  font-weight: 400;
  font-size: 14px;
  color: var(--pdl-color-brand, #7c3aed);
  margin-bottom: 10px;
}

.apexcharts-tooltip .pdl-trend-tip__rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.apexcharts-tooltip .pdl-trend-tip__row {
  display: grid;
  grid-template-columns: 20px minmax(88px, 1fr) 88px 72px;
  column-gap: 8px;
  align-items: center;
  font-weight: 600;
}

.apexcharts-tooltip .pdl-trend-tip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.apexcharts-tooltip .pdl-trend-tip__icon--spacer {
  visibility: hidden;
}

.apexcharts-tooltip .pdl-trend-tip__label {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.apexcharts-tooltip .pdl-trend-tip__count {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.apexcharts-tooltip .pdl-trend-tip__change {
  text-align: right;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.apexcharts-tooltip .pdl-trend-tip__change--up {
  color: #16a34a;
}

.apexcharts-tooltip .pdl-trend-tip__change--down {
  color: #dc2626;
}

.apexcharts-tooltip .pdl-trend-tip__hr {
  border: 0;
  border-top: 1px solid var(--color-border, #e2e8f0);
  margin: 10px 0 8px;
}

.apexcharts-tooltip .pdl-trend-tip__row--total .pdl-trend-tip__label {
  font-weight: 700;
}

/* Single-platform tooltip — stacked: icon+name, count, change each on its own line */
.apexcharts-tooltip .pdl-trend-tip--single {
  min-width: 180px;
}

.apexcharts-tooltip .pdl-trend-tip__stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.apexcharts-tooltip .pdl-trend-tip__platform {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

.apexcharts-tooltip .pdl-trend-tip--single .pdl-trend-tip__count {
  text-align: left;
  font-size: 15px;
  font-weight: 700;
  padding-left: 26px;
}

.apexcharts-tooltip .pdl-trend-tip__change-line {
  text-align: left;
  padding-left: 26px;
}

.apexcharts-tooltip .pdl-trend-tip__change-line .pdl-trend-tip__change {
  text-align: left;
}

/* Trend chart — period statistics above the plot */
.pdl-trend-stats {
  padding: 0 20px 6px;
}

.pdl-trend-stats__highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (min-width: 768px) {
  .pdl-trend-stats__highlights {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .pdl-trend-stats--no-rise-fall .pdl-trend-stats__highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .pdl-trend-stats__highlights {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .pdl-trend-stats--no-rise-fall .pdl-trend-stats__highlights {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.pdl-trend-stats__card {
  display: flex;
  flex-direction: column;
  background: var(--color-background, #f8fafc);
  border: 1px solid var(--color-border, #e2e8f0);
  border-radius: 8px;
  padding: 10px 12px;
  min-width: 0;
}

.pdl-trend-stats__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-secondary-foreground, #64748b);
  margin-bottom: 4px;
}

.pdl-trend-stats__value {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  color: var(--color-foreground, #0f172a);
}

.pdl-trend-stats__value--up {
  color: #16a34a;
}

.pdl-trend-stats__value--down {
  color: #dc2626;
}

.pdl-trend-stats__meta {
  font-size: 11px;
  color: var(--color-secondary-foreground, #64748b);
  margin-top: auto;
  padding-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pdl-trend-stats__card--avg .pdl-trend-stats__meta {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pdl-trend-stats__card--avg .pdl-trend-stats__meta .pdl-platform-icon-mount,
.pdl-trend-stats__card--avg .pdl-trend-stats__meta .pdl-platform-sprite-icon {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.pdl-trend-stats__meta-label {
  flex: 0 1 auto;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Loading shimmer — value/meta become animated skeleton bars while fetching */
@keyframes pdlTrendShimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.pdl-trend-stats--loading .pdl-trend-stats__value,
.pdl-trend-stats--loading .pdl-trend-stats__meta {
  color: transparent;
  border-radius: 5px;
  background-color: #eef1f5;
  background-image: linear-gradient(90deg, #eef1f5 0%, #f7f9fb 50%, #eef1f5 100%);
  background-size: 200% 100%;
  background-repeat: no-repeat;
  animation: pdlTrendShimmer 1.2s linear infinite;
}

.pdl-trend-stats--loading .pdl-trend-stats__value * {
  color: transparent;
}

/* Chart area — fade-out overlay shown while a new chart loads */
.pdl-trend-v2-chart-area {
  position: relative;
}

#chart_div_v2 {
  transition: opacity 0.25s ease, filter 0.25s ease;
}

#pdl_trend_v2.pdl-trend-v2-loading #chart_div_v2 {
  opacity: 0.3;
  filter: saturate(0.55);
  pointer-events: none;
}

.pdl-trend-v2-chart-area .pdl-trend-chart-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.55);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  z-index: 5;
}

#pdl_trend_v2.pdl-trend-v2-loading .pdl-trend-chart-overlay {
  opacity: 1;
  visibility: visible;
}

.pdl-trend-chart-overlay__spinner {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid rgba(1, 158, 247, 0.25);
  border-top-color: #019ef7;
  animation: pdlTrendSpin 0.8s linear infinite;
}

@keyframes pdlTrendSpin {
  to {
    transform: rotate(360deg);
  }
}

.pdl-trend-chart-overlay__text {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #475569;
}

.pdl-trend-stats--loading .pdl-trend-stats__value {
  min-height: 20px;
  width: 64%;
}

.pdl-trend-stats--loading .pdl-trend-stats__meta {
  min-height: 12px;
  width: 46%;
  margin-top: auto;
}

.pdl-trend-stats--loading .pdl-trend-stats__meta * {
  visibility: hidden;
}

#dashboard_btns .pdl-segmented-control--chart-style {
  flex-shrink: 0;
}

#dashboard_btns .pdl-segmented-control,
#dashboard_btns .pdl-segmented-control--platforms {
  align-items: center;
  align-self: center;
}

#dashboard_btns .pdl-segmented-control--platforms {
  display: inline-flex;
  flex-wrap: nowrap;
  max-width: none;
  width: max-content;
}

#dashboard_btns .pdl-segment-btn--platform,
#dashboard_btns #total.pdl-segment-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
}

#dashboard_btns .pdl-segment-btn--platform {
  padding-left: 10px;
  padding-right: 10px;
  min-width: 40px;
}

#dashboard_btns .pdl-segment-btn--platform img,
#dashboard_btns .pdl-segment-btn--platform .pdl-platform-icon-mount,
#dashboard_btns .pdl-segment-btn--platform .pdl-platform-icon-mount svg,
#dashboard_btns .pdl-segment-btn--platform .pdl-platform-sprite-icon {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  pointer-events: none;
  flex-shrink: 0;
}

#dashboard_btns .pdl-segment-btn--platform .pdl-platform-icon-mount {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

#dashboard_btns .pdl-segment-btn--platform.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
}

/* Total view — DSPs in the main pill only (YouTube and Meta stay independent) */
#pdl_trend_v2 .pdl-platform-btn.pdl-platform-btn--in-total {
  background: #dbeafe;
  border-color: #bfdbfe;
  box-shadow: 0 0 0 1px #bfdbfe;
}

#pdl_trend_v2 .pdl-platform-btn.pdl-platform-btn--in-total:hover {
  background: #bfdbfe;
}

/* Trend v2 — icon-only platform segments (do not use text pill padding) */
#pdl_trend_v2 .pdl-segmented-control--platforms .pdl-segment-btn--platform.pdl-platform-btn {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 6px;
  margin: 0;
}

#pdl_trend_v2 .pdl-segmented-control--platforms .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-icon-mount,
#pdl_trend_v2 .pdl-segmented-control--platforms .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-icon-mount svg,
#pdl_trend_v2 .pdl-segmented-control--platforms .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-sprite-icon {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  pointer-events: none;
  flex-shrink: 0;
}

#pdl_trend_v2 .pdl-segmented-control--platforms .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-icon-mount {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Design picker — stacked option rows */
.pdl-toolbar-design-picker__intro {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  color: var(--pdl-color-muted);
  line-height: 1.5;
}

.pdl-toolbar-option {
  margin-bottom: 1.25rem;
  padding: 1rem 1.125rem;
  border: 1px solid var(--pdl-color-border-soft);
  border-radius: 12px;
  background: var(--pdl-color-surface-subtle);
}

.pdl-toolbar-option:last-child {
  margin-bottom: 0;
}

.pdl-toolbar-option__label {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--pdl-color-brand-dark);
  margin-bottom: 0.875rem;
}

.pdl-toolbar-option__tag {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--pdl-color-muted);
  margin-left: 0.35rem;
}

/* Option B — separate floating capsules */
.pdl-toolbar-option--b .pdl-capsule-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pdl-toolbar-option--b .pdl-capsule {
  border: 1px solid var(--pdl-color-chip-border);
  border-radius: 9999px;
  background: var(--pdl-color-white);
  padding: 8px 16px;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--pdl-color-chip-text);
  cursor: default;
}

.pdl-toolbar-option--b .pdl-capsule.active {
  border-color: var(--pdl-color-brand-soft);
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
}

.pdl-toolbar-option--b .pdl-capsule-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 8px;
  border-radius: 9999px;
}

.pdl-toolbar-option--b .pdl-capsule--icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Option C — soft lavender capsules (design idea) */
.pdl-toolbar-option--c .pdl-capsule-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pdl-toolbar-option--c .pdl-capsule {
  border: 1px solid var(--pdl-color-chip-border);
  border-radius: var(--pdl-radius-chip);
  background: var(--pdl-color-white);
  padding: 8px 16px;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--pdl-color-chip-text);
}

.pdl-toolbar-option--c .pdl-capsule.active,
.pdl-toolbar-option--c .pdl-capsule--soft.active {
  border-color: var(--pdl-color-selection-bg);
  background: var(--pdl-color-selection-bg);
  color: var(--pdl-color-selection-text);
}

.pdl-toolbar-option--c .pdl-capsule-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  padding: 8px;
  border-radius: var(--pdl-radius-chip);
}

.pdl-toolbar-option--c .pdl-capsule--soft {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Option D — unified toolbar band */
.pdl-toolbar-option--d .pdl-trends-toolbar-sections--band {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--pdl-color-border-soft);
  background: var(--pdl-color-surface-soft);
  gap: 12px 18px;
}

.pdl-toolbar-option--d .pdl-segmented-control--inset {
  border-color: var(--pdl-color-border-soft);
  background: var(--pdl-color-white);
}

.pdl-toolbar-option--d .pdl-capsule--soft {
  border: 1px solid var(--pdl-color-chip-border);
  border-radius: var(--pdl-radius-chip);
  background: var(--pdl-color-white);
  padding: 8px 12px;
  color: var(--pdl-color-selection-text);
}

@media (max-width: 767px) {
  .pdl-trends-toolbar__section--end {
    margin-left: 0;
    width: 100%;
  }

  .pdl-trends-toolbar-sections {
    flex-direction: column;
    align-items: stretch;
  }

  #dashboard_btns .pdl-trends-toolbar-sections.pdl-trends-toolbar-sections--option-a {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  #dashboard_btns .pdl-trends-toolbar__section--platforms,
  #dashboard_btns .pdl-trends-toolbar__section--period,
  #dashboard_btns .pdl-trends-toolbar__section--export {
    justify-self: stretch;
    width: 100%;
  }

  #dashboard_btns .pdl-trends-toolbar__section--period {
    justify-content: center;
  }

  #dashboard_btns .pdl-trends-platform-groups,
  #pdl_trend_v2 .pdl-trends-platform-groups {
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }

  #dashboard_btns .pdl-segmented-control--platforms {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
  }

  #dashboard_btns .pdl-segmented-control--platform-solo,
  #pdl_trend_v2 .pdl-segmented-control--platform-solo {
    width: auto;
  }

  /* L1 Revenue and Stream — stack filters; keep platform strip horizontal scroll */
  #l1report_toolbar.pdl-trends-toolbar--live {
    gap: 10px;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  #l1report_toolbar .l1report-toolbar-row--filters {
    flex-direction: column;
    align-items: stretch;
    overflow-x: visible;
    gap: 10px;
  }

  #l1report_toolbar .l1report-toolbar-row--filters > .pdl-segmented-control:not(.pdl-segmented-control--platforms) {
    display: flex;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
  }

  #l1report_toolbar .l1report-toolbar-row--filters > .pdl-segmented-control:not(.pdl-segmented-control--platforms) > .pdl-segment-btn {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  #l1report_toolbar .l1report-toolbar-dates {
    display: flex;
    width: 100%;
    justify-content: stretch;
  }

  #l1report_toolbar .l1report-toolbar-month-fields {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    gap: 8px;
  }

  #l1report_toolbar .l1report-toolbar-month-fields .kt-input,
  #l1report_toolbar .l1report-toolbar-month-fields .pdl-myp-wrap {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
  }

  #l1report_toolbar .l1report-toolbar-month-fields .pdl-myp-trigger {
    width: 100%;
  }

  #l1report_toolbar .l1report-toolbar-actions {
    display: flex;
    width: 100%;
    gap: 8px;
  }

  #l1report_toolbar .l1report-toolbar-actions .kt-btn {
    flex: 1 1 0;
    min-width: 0;
  }

  #l1report_toolbar .l1report-toolbar-admin {
    margin-left: 0;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  #l1report_toolbar .l1report-toolbar-admin .kt-input {
    width: 100%;
    min-width: 0;
  }

  #l1report_toolbar .l1report-toolbar-row--platforms {
    gap: 8px 10px;
  }

  #l1report_toolbar #l1report-platform-bar.pdl-segmented-control--platforms {
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
  }
}

/* Top trends / analytics blocks */
.pdl-analytics-section .kt-card-body {
  padding-top: 1rem;
}

.pdl-analytics-card {
  border: 1px solid var(--pdl-color-border-soft);
  border-radius: 0.75rem;
  background: var(--pdl-color-surface);
  padding: 1rem 1.25rem;
}

.pdl-analytics-card__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--pdl-color-border-soft);
}

.pdl-analytics-card__title {
  font-weight: 700;
  font-size: 0.95rem;
  min-width: 0;
}

.pdl-analytics-card__title a {
  color: var(--pdl-color-brand-dark);
}

.pdl-analytics-card__title-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
}

.pdl-analytics-card__title-link:hover {
  color: var(--pdl-color-brand);
}

.pdl-analytics-card__external-icon {
  font-size: 0.8rem;
  line-height: 1;
  opacity: 0.7;
  flex-shrink: 0;
}

.pdl-analytics-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

/* Chart cards: title + controls on one row */
.pdl-analytics-card__toolbar--chart {
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.pdl-analytics-card__toolbar--chart .pdl-analytics-card__title {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 38%;
  margin-right: 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Truncate the bold title text itself (not just the container) so it never
   slides under the fixed new-tab icon when horizontal space is tight
   (e.g. Windows scrollbars). The external icon keeps flex-shrink: 0. */
.pdl-analytics-card__toolbar--chart .pdl-analytics-card__title-link {
  min-width: 0;
  overflow: hidden;
}

.pdl-analytics-card__toolbar--chart .pdl-analytics-card__title-link > b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-analytics-card__toolbar--chart .pdl-analytics-card__toolbar-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.375rem 0.5rem;
  min-width: 0;
  flex: 1 1 auto;
  margin-left: 0;
}

.pdl-analytics-card__toolbar--chart .pdl-analytics-card__actions {
  flex-wrap: nowrap;
  margin-left: 0;
  flex-shrink: 0;
}

.pdl-analytics-card__toolbar--chart .pdl-chart-toggle {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.375rem;
  width: auto;
  flex-shrink: 0;
}

.pdl-chart-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

@media (max-width: 639px) {
  .pdl-analytics-card__toolbar--chart {
    flex-wrap: wrap;
  }

  .pdl-analytics-card__toolbar--chart .pdl-analytics-card__toolbar-row {
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
  }
}

/* Custom checkbox — clear checked / unchecked (chart toolbars) */
.pdl-legend-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  cursor: pointer;
  user-select: none;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--pdl-color-muted);
}

.pdl-legend-toggle:hover .pdl-legend-toggle__text {
  color: var(--pdl-color-text);
}

.pdl-legend-toggle__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pdl-legend-toggle__box {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--pdl-color-border);
  border-radius: 4px;
  background: var(--pdl-color-white);
  box-sizing: border-box;
  position: relative;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.pdl-legend-toggle__input:checked + .pdl-legend-toggle__box {
  background: var(--pdl-color-brand);
  border-color: var(--pdl-color-brand);
  box-shadow: 0 0 0 1px var(--pdl-color-brand);
}

.pdl-legend-toggle__input:checked + .pdl-legend-toggle__box::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 8px;
  border: solid var(--pdl-color-white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.pdl-legend-toggle__input:focus-visible + .pdl-legend-toggle__box {
  outline: 2px solid color-mix(in srgb, var(--pdl-color-brand) 45%, transparent);
  outline-offset: 2px;
}

.pdl-legend-toggle__input:checked ~ .pdl-legend-toggle__text {
  color: var(--pdl-color-brand-dark);
  font-weight: 500;
}

.pdl-input-narrow {
  width: 4.5rem;
  min-width: 4.5rem;
  text-align: center;
}

.pdl-chart-top-input {
  width: 2.5rem;
  min-width: 2.5rem;
  max-width: 2.75rem;
  padding: 0.3rem 0.2rem;
  text-align: center;
  font-weight: 600;
  font-size: 0.875rem;
  -moz-appearance: textfield;
}

.pdl-chart-top-input::-webkit-outer-spin-button,
.pdl-chart-top-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pdl-chart-type-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

.pdl-chart-type-toggle .kt-btn.kt-btn-icon {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0;
  flex-grow: 0;
  border-radius: var(--radius-md, 0.375rem);
}

.pdl-chart-type-toggle .kt-btn.kt-btn-icon i.ki-filled {
  width: var(--pdl-action-icon-size);
  height: var(--pdl-action-icon-size);
  font-size: var(--pdl-action-icon-size);
  line-height: 1;
}

.pdl-chart-type-toggle .pdl-chart-type-btn.kt-btn-outline {
  background: var(--pdl-color-white) !important;
  border-color: var(--pdl-color-chip-border) !important;
  color: var(--pdl-color-chip-text) !important;
}

.pdl-chart-type-toggle .pdl-chart-type-btn.kt-btn-primary {
  background: var(--pdl-color-selection-bg) !important;
  border-color: var(--pdl-color-selection-bg) !important;
  color: var(--pdl-color-selection-text) !important;
}

.pdl-chart-type-toggle .pdl-chart-type-btn.active {
  z-index: 1;
}

.pdl-chart-box.graph {
  width: 100%;
  min-height: 380px;
  height: 380px;
}

.pdl-chart-box-host {
  width: 100%;
  min-height: 380px;
}

.pdl-table-wrap {
  width: 100%;
  -webkit-overflow-scrolling: touch;
}

/* Top Songs — KTUI datatable layout (basic usage, no search) */
.pdl-top-songs-datatable .pdl-analytics-card__toolbar--table {
  margin-bottom: 0;
  padding-bottom: 10px;
  border-bottom: none;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.pdl-top-songs-datatable .pdl-analytics-card__toolbar--table .pdl-analytics-card__title {
  flex: 0 1 auto;
  min-width: 0;
}

.pdl-top-songs-datatable .pdl-analytics-card__toolbar--table .pdl-analytics-card__actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  margin-left: auto;
}

.pdl-top-trends-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}

.pdl-top-trends-header__row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  width: 100%;
  min-height: 36px;
}

.pdl-top-trends-header__start {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.6rem;
  flex: 1 1 auto;
  min-width: 0;
}

.pdl-top-trends-header__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.pdl-top-trends-header__platform-name {
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--pdl-color-brand-dark);
  letter-spacing: -0.02em;
}

/* Top trends chart tabs (Show charts: All / Language / Genres / Country) */
.pdl-trends-tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
  padding: 0.85rem 1.1rem;
  width: 100%;
  background: var(--pdl-color-brand-dark);
  border-radius: 1rem;
  box-shadow: var(--pdl-shadow-md);
}

.pdl-trends-tabs__label {
  flex: 0 0 auto;
  color: var(--pdl-color-white);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-right: 0.25rem;
  white-space: nowrap;
}

.pdl-trends-tab {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  flex: 1 1 0;
  min-width: 0;
  text-align: center;
  border: 2px solid var(--pdl-color-white-overlay-50);
  background: transparent;
  color: var(--pdl-color-white);
  border-radius: 0.75rem;
  padding: 0.9rem 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pdl-trends-tab:hover:not(:disabled):not(.is-disabled) {
  background: var(--pdl-color-white-overlay-50);
  border-color: var(--pdl-color-white);
  color: var(--pdl-color-white);
  transform: translateY(-1px);
}

/* Selected button — based on --pdl-color-muted */
.pdl-trends-tab.active {
  background: var(--pdl-color-brand-medium) !important;
  border-color: var(--pdl-color-brand-dark) !important;
  color: var(--pdl-color-white);
  box-shadow: 0 8px 18px -8px var(--pdl-color-black-overlay-30);
  transform: translateY(-1px);
  z-index: 1;
}

/* Disabled button — based on --pdl-color-outline */
.pdl-trends-tab:disabled,
.pdl-trends-tab.is-disabled {
  background: var(--pdl-color-border) !important;
  border-color: var(--pdl-color-outline) !important;
  color: var(--pdl-color-white-overlay-50);
  box-shadow: none;
  opacity: 1;
  cursor: not-allowed;
}

.pdl-trends-tab:disabled:hover,
.pdl-trends-tab.is-disabled:hover {
  transform: none;
  box-shadow: none;
}

.pdl-trends-charts__panels {
  position: relative;
}

/* Keep hidden panels in the DOM at full width (so their donut keeps correct
   dimensions and never needs a resize redraw), but pull them out of flow and
   make them invisible/non-interactive. Avoids the entry-animation flicker on
   tab switches. */
.pdl-trends-panel--hidden {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  pointer-events: none;
  z-index: -1;
}

@media (max-width: 640px) {
  .pdl-trends-tabs {
    flex-wrap: wrap;
  }
  .pdl-trends-tabs__label {
    flex: 1 1 100%;
    margin-right: 0;
    margin-bottom: 0.25rem;
  }
  .pdl-trends-tab {
    flex: 1 1 calc(50% - 0.425rem);
    font-size: 1rem;
    padding: 0.8rem 0.75rem;
  }
}

/* Top trends donut + table legend layout */
.pdl-chart-donut-layout {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2.5rem;
  flex-wrap: wrap;
  width: 100%;
}

.pdl-chart-donut-layout .pdl-chart-box.graph {
  flex: 0 0 380px;
  width: 380px;
  max-width: 100%;
  min-height: 380px;
  height: 380px;
}

.pdl-chart-legend {
  flex: 0 1 460px;
  min-width: 280px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0.5rem 1rem;
  align-self: center;
}

.pdl-chart-legend__marker {
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 0.25rem;
  flex-shrink: 0;
  cursor: pointer;
}

.pdl-chart-legend__name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--pdl-color-text, #1d1b20);
  cursor: pointer;
}

.pdl-chart-legend__value {
  justify-self: end;
  text-align: right;
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--pdl-color-text, #1d1b20);
  cursor: pointer;
}

.pdl-chart-legend--no-values .pdl-chart-legend__value {
  display: none;
}

.pdl-chart-legend__item--off {
  opacity: 0.4;
}

.pdl-chart-legend__item--off.pdl-chart-legend__name {
  text-decoration: line-through;
}


/* Top trends DSP row — match Recent Streaming Trends (#dashboard_btns) */
#spotify_trends_platform_icons.pdl-segmented-control--platforms {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  align-self: center;
  max-width: none;
  width: max-content;
  border: 1px solid var(--pdl-color-border);
  border-radius: 9999px;
  overflow: hidden;
  background: var(--pdl-color-white);
  padding: 0;
}

#spotify_trends_platform_icons > .pdl-segment-btn {
  border: none;
  background: transparent;
  padding: 8px 18px;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--pdl-color-muted);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  transform: none;
  min-height: 0;
  margin: 0;
}

#spotify_trends_platform_icons > .pdl-segment-btn:not(:last-child) {
  border-right: 1px solid var(--pdl-color-border);
}

#spotify_trends_platform_icons > .pdl-segment-btn:hover:not(:disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
}

#spotify_trends_platform_icons > .pdl-segment-btn.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
}

#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  min-width: 36px;
  max-width: 36px;
  padding: 6px;
  font-size: 0;
  line-height: 0;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow: hidden;
  min-height: 36px;
}

#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn img,
#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-icon-mount,
#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-icon-mount svg,
#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-sprite-icon {
  display: block;
  width: 24px;
  height: 24px;
  max-width: 24px;
  max-height: 24px;
  object-fit: contain;
  pointer-events: none;
  flex-shrink: 0;
}

#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn .pdl-platform-icon-mount {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

#spotify_trends_platform_icons > .pdl-segment-btn--platform.pdl-platform-btn.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
  border-color: var(--pdl-color-brand-soft);
  box-shadow: 0 0 0 1px var(--pdl-color-brand-soft);
}

.pdl-top-songs-actions {
  gap: 0.4rem 0.5rem;
  flex-wrap: nowrap;
}

.pdl-top-songs-actions__label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--pdl-color-text-muted, #64748b);
  white-space: nowrap;
}

.pdl-top-songs-count-input {
  width: 2.75rem;
  min-width: 2.75rem;
  max-width: 3rem;
  padding: 0.3rem 0.25rem;
  text-align: center;
  font-weight: 600;
  font-size: 0.875rem;
  -moz-appearance: textfield;
}

/* Meta — Daily play report (isrcdownload) — toolbar + optional compare row */
#pdl_isrcdownload_page {
  --pdl-isrcdownload-control-h: 2.5rem;
  --pdl-isrcdownload-radius: var(--pdl-radius-chip, 8px);
}

.pdl-isrcdownload-card {
  border: 1px solid var(--pdl-color-border-soft);
}

.pdl-isrcdownload-card .kt-card-body {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.pdl-isrcdownload-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
  width: 100%;
  min-width: 0;
}

.pdl-isrcdownload-toolbar__main {
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  min-width: 0;
}

.pdl-isrcdownload-field {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 0;
}

.pdl-isrcdownload-field--inline {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

.pdl-isrcdownload-field__prompt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pdl-color-text-secondary, #475569);
  line-height: 1.2;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Songwise | Label — chip shell (matches platform + month on this page) */
#pdl_isrcdownload_page .pdl-isrcdownload-segmented.pdl-segmented-control {
  display: inline-flex;
  flex-shrink: 0;
  align-items: stretch;
  border: 1px solid var(--pdl-color-border);
  min-height: var(--pdl-isrcdownload-control-h);
  height: var(--pdl-isrcdownload-control-h);
  border-radius: var(--pdl-isrcdownload-radius);
  overflow: hidden;
  background: var(--pdl-color-white);
  padding: 0;
}

#pdl_isrcdownload_page .pdl-isrcdownload-segmented .pdl-segment-btn {
  border: none;
  background: transparent;
  min-height: 0;
  height: 100%;
  padding: 0 1rem;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--pdl-color-muted);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#pdl_isrcdownload_page .pdl-isrcdownload-segmented .pdl-segment-btn:not(:last-child) {
  border-right: 1px solid var(--pdl-color-border);
}

#pdl_isrcdownload_page .pdl-isrcdownload-segmented .pdl-segment-btn:hover:not(:disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
}

#pdl_isrcdownload_page .pdl-isrcdownload-segmented .pdl-segment-btn.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
}

.pdl-isrcdownload-label-field {
  display: flex;
  align-items: stretch;
  width: 12rem;
  min-width: 12rem;
  min-height: var(--pdl-isrcdownload-control-h);
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: var(--pdl-isrcdownload-radius);
  background: var(--pdl-color-white, #fff);
  overflow: hidden;
}

.pdl-isrcdownload-label-field__input {
  flex: 1 1 auto;
  min-width: 0;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: var(--pdl-isrcdownload-control-h);
  height: var(--pdl-isrcdownload-control-h);
  font-size: 0.875rem;
}

.pdl-isrcdownload-label-field__suggest {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--pdl-color-text-muted, #64748b);
  white-space: nowrap;
  border-left: 1px solid var(--pdl-color-border-soft);
  background: var(--pdl-color-surface-soft, #f8fafc);
  cursor: pointer;
}

/* Filter toolbars — shared single platform picker (isrcdownload, process report, meta-search) */
#pdl_isrcdownload_page .pdl-isrcdownload-field--platform div[data-size]:has(> .pdl-platform-dropdown),
#process_report_toolbar .pdl-report-field--platform div[data-size]:has(> .pdl-platform-dropdown),
.pdl-meta-search-toolbar div[data-size]:has(> .pdl-platform-dropdown):not(.is-multi):not(.is-language) {
  display: block;
  width: var(--pdl-picker-width-platform);
  min-width: var(--pdl-picker-width-platform);
  max-width: var(--pdl-picker-width-platform);
}

#pdl_isrcdownload_page .pdl-isrcdownload-field--platform .pdl-platform-input,
#pdl_isrcdownload_page .pdl-isrcdownload-field--platform .kt-input.pdl-platform-picker,
#pdl_isrcdownload_page .pdl-isrcdownload-field--platform div[data-size]:has(> .pdl-platform-dropdown)[data-size="md"]:not(.is-language) .pdl-platform-input,
#pdl_isrcdownload_page .pdl-isrcdownload-field--platform div[data-size]:has(> .pdl-platform-dropdown)[data-size="md"]:not(.is-language) input.kt-input.pdl-platform-picker,
#process_report_toolbar .pdl-report-field--platform .pdl-platform-input,
#process_report_toolbar .pdl-report-field--platform .kt-input.pdl-platform-picker,
#process_report_toolbar .pdl-report-field--platform div[data-size]:has(> .pdl-platform-dropdown)[data-size="md"]:not(.is-language) .pdl-platform-input,
#process_report_toolbar .pdl-report-field--platform div[data-size]:has(> .pdl-platform-dropdown)[data-size="md"]:not(.is-language) input.kt-input.pdl-platform-picker,
.pdl-meta-search-toolbar div[data-size]:has(> .pdl-platform-dropdown):not(.is-multi):not(.is-language) .pdl-platform-input,
.pdl-meta-search-toolbar div[data-size]:has(> .pdl-platform-dropdown):not(.is-multi):not(.is-language) input.kt-input.pdl-platform-picker,
.pdl-meta-search-toolbar div[data-size]:has(> .pdl-platform-dropdown):not(.is-multi):not(.is-language) input.kt-input.pdl-platform-input {
  width: 100%;
  min-height: var(--pdl-filter-control-height, 2.5rem);
  height: var(--pdl-filter-control-height, 2.5rem);
  border-radius: var(--pdl-radius-chip, 8px);
  font-size: 0.875rem;
  line-height: 1.25;
  box-sizing: border-box;
  padding-block: 0;
  padding-inline-start: 2.75rem;
  padding-inline-end: 0.75rem;
}

#pdl_isrcdownload_page .pdl-isrcdownload-field--month .pdl-myp-wrap {
  width: var(--pdl-picker-width-month);
  min-width: var(--pdl-picker-width-month);
  max-width: var(--pdl-picker-width-month);
}

#pdl_isrcdownload_page .pdl-isrcdownload-field--month .pdl-myp-trigger,
#pdl_isrcdownload_page .pdl-isrcdownload-field--month .pdl-myp-wrap[data-size="md"] .pdl-myp-trigger,
#pdl_isrcdownload_page .pdl-isrcdownload-field--month .kt-input.pdl-month-year-picker {
  width: auto;
  min-height: var(--pdl-isrcdownload-control-h);
  height: auto;
  border-radius: var(--pdl-isrcdownload-radius);
  font-size: 0.875rem;
  line-height: 1.25;
  box-sizing: border-box;
  padding: 0 0.45rem;
}

.pdl-isrcdownload-actions {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 8px;
}

.pdl-isrcdownload-reset,
.pdl-isrcdownload-submit {
  min-height: var(--pdl-isrcdownload-control-h);
  height: var(--pdl-isrcdownload-control-h);
  white-space: nowrap;
}

.pdl-isrcdownload-format-btns {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#pdl_isrcdownload_page .pdl-isrcdownload-format {
  min-height: var(--pdl-isrcdownload-control-h);
  height: var(--pdl-isrcdownload-control-h);
  width: var(--pdl-isrcdownload-control-h);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#pdl_isrcdownload_page .pdl-isrcdownload-format i {
  font-size: 1.05rem;
  line-height: 1;
}

.pdl-isrcdownload-timing {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin: 0.75rem 0 0;
  font-size: 0.8125rem;
  color: var(--pdl-color-text-secondary, #475569);
}

.pdl-isrcdownload-timing[hidden] {
  display: none;
}

.pdl-isrcdownload-field--compare {
  gap: 0.4rem;
}

.pdl-isrcdownload-field--compare .kt-checkbox {
  width: 1rem;
  height: 1rem;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--pdl-color-brand, #2563eb);
}

.pdl-isrcdownload-field--compare .pdl-isrcdownload-field__prompt {
  cursor: pointer;
}

.pdl-isrcdownload-field--compare:has(.kt-checkbox:disabled) {
  opacity: 0.5;
}

.pdl-isrcdownload-field--compare:has(.kt-checkbox:disabled) .pdl-isrcdownload-field__prompt {
  cursor: default;
}

.pdl-isrcdownload-compare {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-isrcdownload-compare[hidden] {
  display: none;
}

.pdl-isrcdownload-compare__window {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: nowrap;
}

#pdl_isrcdownload_page .pdl-isrcdownload-compare .pdl-myp-wrap {
  width: var(--pdl-picker-width-date);
  min-width: var(--pdl-picker-width-date);
  max-width: var(--pdl-picker-width-date);
}

#pdl_isrcdownload_page .pdl-isrcdownload-compare .pdl-myp-trigger,
#pdl_isrcdownload_page .pdl-isrcdownload-compare .pdl-myp-wrap[data-size="md"] .pdl-myp-trigger,
#pdl_isrcdownload_page .pdl-isrcdownload-compare .kt-input.pdl-date-picker {
  width: auto;
  min-height: var(--pdl-isrcdownload-control-h);
  height: auto;
  border-radius: var(--pdl-isrcdownload-radius);
  font-size: 0.875rem;
  line-height: 1.25;
  box-sizing: border-box;
  padding: 0 0.45rem;
}

.pdl-isrcdownload-compare__count {
  width: 3.75rem;
  min-width: 3.75rem;
  min-height: var(--pdl-isrcdownload-control-h);
  height: var(--pdl-isrcdownload-control-h);
  text-align: center;
  border-radius: var(--pdl-isrcdownload-radius);
  font-size: 0.875rem;
  padding: 0 0.35rem;
  box-sizing: border-box;
}

/* Label picker inside admin field — match control shell */
.pdl-isrcdownload-label-field .pdl-label-picker.pdl-sign-in-field {
  min-height: var(--pdl-isrcdownload-control-h);
  height: 100%;
  border-radius: 0;
  border: none;
}

@media (max-width: 991px) {
  .pdl-isrcdownload-toolbar {
    flex-wrap: wrap;
  }

  .pdl-isrcdownload-toolbar__main {
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    padding-right: 0;
  }

  .pdl-isrcdownload-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

/* L1/L2 admin listing — unified search toolbar */
.pdl-l1l2-search-card,
.pdl-form-card {
  border: 1px solid var(--pdl-color-border-soft);
}

/* Admin filter / form sections (standard Metronic card shell) */
.pdl-form-card .kt-card-body table td {
  padding: 0.25rem 0.5rem 0.25rem 0;
  vertical-align: middle;
}

/* Metronic kt-switch — keep compat layer from flattening toggle controls */
.pdl-form-card .kt-switch {
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background-color: var(--input, var(--pdl-color-border-soft));
}

.pdl-form-card .kt-switch:checked {
  background-color: var(--primary, var(--pdl-color-brand));
}

/* Filter switch — outer gray pad + outer stroke; inner pill keeps its own border */
.pdl-filter-switch-outer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.1875rem 0.3125rem;
  line-height: 0;
  background-color: var(--input, var(--pdl-color-border-soft, #e2e8f0));
  border: 1px solid var(--pdl-color-border, #cbd5e1);
  border-radius: 0.25rem;
  box-sizing: border-box;
}

.pdl-filter-switch-outer:has(.pdl-filter-switch:checked),
.pdl-filter-switch-outer:has(.pdl-filter-switch[aria-checked="true"]) {
  background-color: var(--input, var(--pdl-color-border-soft, #e2e8f0));
  border-color: var(--pdl-color-border, #cbd5e1);
}

/* Compact filter-row switches — fixed track + thumb travel (not stretched by pdl-form-input) */
.pdl-filter-switch.kt-switch {
  flex-shrink: 0;
  min-width: 0 !important;
  width: 1.5rem !important;
  height: 0.875rem !important;
  padding: 0 !important;
  border: 1px solid var(--pdl-color-border, #cbd5e1) !important;
  border-radius: 9999px !important;
  box-sizing: border-box !important;
  position: relative;
  appearance: none;
  cursor: pointer;
  background-color: var(--input, var(--pdl-color-border-soft));
}

.pdl-filter-switch.kt-switch:checked,
.pdl-filter-switch.kt-switch[aria-checked="true"] {
  background-color: var(--primary, var(--pdl-color-brand));
  border-color: var(--pdl-color-border, #cbd5e1) !important;
}

.pdl-filter-switch.kt-switch::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  /* Fixed inset — avoid Metronic top:50% + translateY stacking (thumb rode too high) */
  top: calc((100% - 0.625rem) / 2) !important;
  bottom: auto !important;
  inset-inline-start: 0.125rem !important;
  left: 0.125rem !important;
  width: 0.625rem !important;
  height: 0.625rem !important;
  margin: 0 !important;
  border-radius: 9999px !important;
  background-color: #fff !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
  --tw-translate-x: 0 !important;
  --tw-translate-y: 0 !important;
  transform: none !important;
  translate: none !important;
  transition: transform 0.15s ease !important;
  pointer-events: none;
}

.pdl-filter-switch.kt-switch:checked::before,
.pdl-filter-switch.kt-switch[aria-checked="true"]::before {
  /* Track 1.5rem − thumb 0.625rem − inset 0.125rem × 2 = 0.625rem travel */
  transform: translateX(0.625rem) !important;
  translate: none !important;
}

.pdl-meta-search-field--switch {
  min-width: 0 !important;
  flex: 0 0 auto;
}

.pdl-form-card .kt-card-body .kt-input,
.pdl-form-card .kt-card-body select.kt-input {
  min-height: 2.375rem;
}

.pdl-form-card .kt-card-body .kt-btn-sm,
.pdl-form-card .kt-card-body input.kt-btn-sm {
  min-height: 2.375rem;
}

.pdl-form-card .kt-card-header + .kt-card-body {
  padding-top: 1rem;
}

/* Multi-row label/value admin forms (process upload, CRBT upload, etc.) */
.pdl-form-card .pdl-form-fields-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.pdl-form-card .pdl-form-fields-table td {
  padding: 0.45rem 0.75rem 0.45rem 0 !important;
  vertical-align: middle;
}

.pdl-form-card .pdl-form-fields-table td:first-child {
  width: 1%;
  white-space: nowrap;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pdl-color-text-secondary, #475569);
  padding-right: 1.25rem !important;
}

.pdl-form-card .pdl-form-fields-table__actions td {
  padding-top: 0.85rem !important;
}

.pdl-form-card .pdl-form-fields-table .pdl-form-toolbar__field--file .kt-input[type="file"],
.pdl-form-card .pdl-form-fields-table .pdl-form-toolbar__field--file input[type="file"] {
  display: inline-block;
  width: auto;
  max-width: 22rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid var(--pdl-color-border, #cbd5e1);
  border-radius: 0.375rem;
  background-color: var(--pdl-color-surface-soft, #f8fafc);
  color: var(--pdl-color-text-secondary, #475569);
  cursor: pointer;
}

.pdl-form-card .pdl-form-fields-table input[type="file"].kt-input::file-selector-button {
  margin-right: 0.65rem;
  padding: 0.3rem 0.75rem;
  border: 1px solid var(--pdl-color-brand, var(--primary));
  border-radius: 0.25rem;
  background-color: var(--pdl-color-brand, var(--primary));
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
}

.pdl-form-card .pdl-form-fields-table input[type="file"].kt-input::-webkit-file-upload-button {
  margin-right: 0.65rem;
  padding: 0.3rem 0.75rem;
  border: 1px solid var(--pdl-color-brand, var(--primary));
  border-radius: 0.25rem;
  background-color: var(--pdl-color-brand, var(--primary));
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
}

/* ISRC source choice — side-by-side selectable cards */
.pdl-isrc-source-cards {
  width: 100%;
}

.pdl-isrc-source-cards--3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
}

@media (min-width: 1024px) {
  .pdl-isrc-source-cards--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.pdl-isrc-source-cards--3 .pdl-isrc-source-card {
  height: 100%;
}

.pdl-isrc-source-cards--4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  width: 100%;
}

@media (min-width: 768px) {
  .pdl-isrc-source-cards--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .pdl-isrc-source-cards--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.pdl-isrc-source-cards--4 .pdl-isrc-source-card {
  height: 100%;
}

label.pdl-isrc-source-card {
  margin: 0;
}

.pdl-isrc-source-card--compact .pdl-isrc-source-card__head {
  border-bottom: 0;
}

.pdl-isrc-source-card--compact .pdl-isrc-source-card__title {
  font-size: 0.8125rem;
}

.pdl-meta-search-toolbar.pdl-youtube-topsongs-toolbar {
  flex-wrap: wrap;
  overflow: visible;
}

.pdl-youtube-metric-cards {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.4rem;
  flex: 1 1 auto;
  min-width: 0;
}

.pdl-youtube-metric-cards .pdl-isrc-source-card {
  flex: 0 1 auto;
}

.pdl-youtube-metric-cards .pdl-isrc-source-card__head {
  padding: 0.35rem 0.6rem;
  gap: 0.4rem;
}

.pdl-youtube-metric-cards .pdl-isrc-source-card__title {
  font-size: 0.8125rem;
  white-space: nowrap;
}

.pdl-youtube-metric-cards .pdl-isrc-source-card__radio,
.pdl-youtube-metric-cards .pdl-isrc-source-card__radio-mark {
  width: 1.05rem;
  height: 1.05rem;
  min-width: 1.05rem;
  min-height: 1.05rem;
}

.pdl-youtube-metric-cards .pdl-isrc-source-card__radio input:checked + .pdl-isrc-source-card__radio-mark {
  box-shadow: inset 0 0 0 3px #fff;
}

.pdl-fb-conflicts-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
}

.pdl-fb-conflicts-cards {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0.4rem;
  min-width: 0;
}

.pdl-fb-conflicts-cards--type {
  padding-left: 0.5rem;
  margin-left: 0.1rem;
  border-left: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-fb-conflicts-toolbar .pdl-isrc-source-card {
  flex: 0 0 auto;
}

.pdl-fb-conflicts-toolbar .pdl-isrc-source-card__head {
  padding: 0.35rem 0.6rem;
  gap: 0.4rem;
  border-bottom: 0;
  min-height: var(--pdl-filter-control-height, 2.5rem);
  height: 100%;
}

.pdl-fb-conflicts-toolbar .pdl-isrc-source-card__title {
  font-size: 0.8125rem;
  white-space: nowrap;
}

.pdl-fb-conflicts-toolbar .pdl-isrc-source-card__radio,
.pdl-fb-conflicts-toolbar .pdl-isrc-source-card__radio-mark {
  width: 1.05rem;
  height: 1.05rem;
  min-width: 1.05rem;
  min-height: 1.05rem;
}

.pdl-fb-conflicts-toolbar .pdl-isrc-source-card__radio input:checked + .pdl-isrc-source-card__radio-mark {
  box-shadow: inset 0 0 0 3px #fff;
}

.pdl-fb-conflicts-label-card .pdl-label-picker.pdl-sign-in-field {
  width: 14rem;
  min-width: 12rem;
  height: 2rem;
  min-height: 2rem;
}

.pdl-fb-conflicts-label-card .pdl-label-picker .pdl-label-picker__input {
  height: 100%;
  min-height: 0;
  padding-block: 0;
}

.pdl-fb-conflicts-label-card:not(.pdl-isrc-source-card--selected) .pdl-label-picker {
  pointer-events: none;
  opacity: 0.7;
}

.pdl-fb-conflicts-toolbar .pdl-form-toolbar__actions {
  margin-left: auto;
  align-self: center;
}

.pdl-fb-conflicts-summary-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-fb-conflicts-summary .pdl-fb-conflicts-summary-body {
  min-width: 0;
}

.pdl-fb-conflicts-graph {
  width: 100%;
  height: 400px;
}

.pdl-youtube-topsongs-card.pdl-meta-listing-card .pdl-top-songs-store-card__stats,
.pdl-youtube-channels-card.pdl-meta-listing-card .pdl-top-songs-store-card__stats {
  min-width: 22rem;
  flex: 1 1 auto;
  align-items: stretch;
  justify-content: center;
}

.pdl-youtube-channels-card.pdl-meta-listing-card .pdl-top-songs-store-card__stats {
  min-width: 28rem;
}

.pdl-youtube-topsongs-stats {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.85rem;
  width: 100%;
  min-width: 0;
}

.pdl-youtube-topsongs-stat {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  flex: 1 1 0;
  min-width: 0;
}

.pdl-youtube-topsongs-stat__label {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--pdl-color-text-muted, #64748b);
  line-height: 1.2;
}

.pdl-youtube-topsongs-stat__value {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pdl-color-text, #0f172a);
  line-height: 1.25;
}

.pdl-youtube-topsongs-stat--active .pdl-youtube-topsongs-stat__label,
.pdl-youtube-topsongs-stat--active .pdl-youtube-topsongs-stat__value {
  color: var(--pdl-color-brand-dark, #21005d);
}

.pdl-youtube-topsongs-col--active {
  font-weight: 600;
  color: var(--pdl-color-brand-dark, #21005d);
}

.pdl-youtube-channel-link {
  color: inherit;
  text-decoration: none;
}

.pdl-youtube-channel-link:hover {
  text-decoration: underline;
}

.pdl-youtube-channel-link .fa-external-link-alt {
  font-size: 0.65em;
  opacity: 0.75;
  margin-left: 0.2rem;
}

.pdl-youtube-channels-desc {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--pdl-color-text-muted, #64748b);
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pdl-youtube-channels-stats {
  flex-wrap: wrap;
}

.pdl-isrc-source-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 2px solid var(--pdl-color-border, #cbd5e1);
  border-radius: 0.5rem;
  background: var(--pdl-color-surface, #fff);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.pdl-isrc-source-card--selected {
  border-color: var(--pdl-color-brand, var(--primary));
  background: var(--pdl-color-brand-hover-soft, #fbf7ff);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--pdl-color-brand, #6750a4) 22%, transparent);
}

.pdl-isrc-source-card:not(.pdl-isrc-source-card--selected) .pdl-isrc-source-card__body {
  opacity: 0.7;
}

.pdl-isrc-source-card__head {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 1rem;
  margin: 0;
  cursor: pointer;
  border-bottom: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-isrc-source-card--selected .pdl-isrc-source-card__head {
  border-bottom-color: color-mix(in srgb, var(--pdl-color-brand, #6750a4) 18%, #e2e8f0);
}

.pdl-isrc-source-card__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--pdl-color-text, #0f172a);
  line-height: 1.3;
}

.pdl-isrc-source-card--selected .pdl-isrc-source-card__title {
  color: var(--pdl-color-brand-dark, #21005d);
}

.pdl-isrc-source-card__radio {
  position: relative;
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  min-height: 1.5rem;
  flex-shrink: 0;
}

.pdl-isrc-source-card__radio input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
  cursor: pointer;
  z-index: 2;
}

.pdl-isrc-source-card__radio-mark {
  display: block;
  width: 100%;
  height: 100%;
  border: 2.5px solid var(--pdl-color-text-muted, #94a3b8);
  border-radius: 50%;
  background: #fff;
  box-sizing: border-box;
  pointer-events: none;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.pdl-isrc-source-card__radio input:checked + .pdl-isrc-source-card__radio-mark {
  border-color: var(--pdl-color-brand, #6750a4);
  background: var(--pdl-color-brand, #6750a4);
  box-shadow: inset 0 0 0 4px #fff;
}

.pdl-isrc-source-card__radio input:focus-visible + .pdl-isrc-source-card__radio-mark {
  outline: 2px solid var(--pdl-color-brand, #6750a4);
  outline-offset: 2px;
}

.pdl-isrc-source-card__body {
  padding: 1rem;
  cursor: default;
}

.pdl-isrc-source-card:not(.pdl-isrc-source-card--selected) .pdl-isrc-source-card__body input,
.pdl-isrc-source-card:not(.pdl-isrc-source-card--selected) .pdl-isrc-source-card__body textarea {
  pointer-events: none;
}

.pdl-isrc-source-card__body textarea.kt-input {
  /* Metronic .kt-input sets a single-line height — reset for multi-line paste. */
  height: auto;
  min-height: 6.75rem; /* ~4 rows */
  line-height: 1.45;
  padding-block: 0.55rem;
  resize: vertical;
}

/* OneDrive path: PDLData prefix outside the input + Finder-style browse */
.pdl-onedrive-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
  width: 100%;
}

.pdl-onedrive-field__row {
  display: flex;
  align-items: stretch;
  min-width: 0;
  width: 100%;
}

.pdl-onedrive-field__prefix {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0 0.7rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--pdl-color-brand-dark, #21005d);
  background: var(--pdl-color-brand-hover-soft, #fbf7ff);
  border: 1px solid var(--pdl-color-border, #cbd5e1);
  border-right: 0;
  border-radius: 0.375rem 0 0 0.375rem;
  white-space: nowrap;
}

.pdl-onedrive-field__row .pdl-onedrive-field__input.kt-input {
  flex: 1 1 auto;
  min-width: 8rem;
  width: auto;
  border-radius: 0 0.375rem 0.375rem 0;
}

.pdl-onedrive-field__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  flex-shrink: 0;
}

.pdl-onedrive-field__actions .kt-btn {
  min-width: 2.5rem;
  height: auto;
  min-height: var(--pdl-filter-control-height, 2.5rem);
}

.pdl-onedrive-modal__help {
  margin: 0;
  padding: 0.55rem 1.1rem 0.15rem;
  font-size: 0.8125rem;
  color: var(--pdl-color-text-secondary, #475569);
}

.pdl-onedrive-modal__content {
  width: min(36rem, calc(100vw - 2rem));
  max-height: min(36rem, calc(100vh - 2rem));
  display: flex;
  flex-direction: column;
}

.pdl-onedrive-modal__crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.2rem;
  padding: 0.65rem 1.1rem;
  border-bottom: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  background: var(--pdl-color-surface-soft, #f8fafc);
  font-size: 0.8125rem;
}

.pdl-onedrive-modal__crumb-btn {
  border: 0;
  background: transparent;
  color: var(--pdl-color-brand, #6750a4);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  padding: 0.1rem 0.2rem;
}

.pdl-onedrive-modal__crumb-btn:hover {
  text-decoration: underline;
}

.pdl-onedrive-modal__crumb-sep {
  color: var(--pdl-color-text-muted, #94a3b8);
}

.pdl-onedrive-modal__body {
  overflow: auto;
  min-height: 12rem;
  max-height: 22rem;
  padding: 0.5rem 0.75rem 0.75rem;
}

.pdl-onedrive-modal__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pdl-onedrive-modal__row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0.55rem 0.5rem;
  border-radius: 0.375rem;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.pdl-onedrive-modal__row:hover {
  background: var(--pdl-color-brand-hover-soft, #fbf7ff);
}

.pdl-onedrive-modal__row i {
  flex-shrink: 0;
  color: var(--pdl-color-brand, #6750a4);
}

.pdl-onedrive-modal__row.is-file i {
  color: var(--pdl-color-text-secondary, #475569);
}

.pdl-onedrive-modal__name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-onedrive-modal__meta {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: var(--pdl-color-text-muted, #94a3b8);
}

.pdl-onedrive-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
}

.pdl-form-toolbar .pdl-onedrive-field {
  min-width: 14rem;
}

.pdl-isrc-source-card:not(.pdl-isrc-source-card--selected) .pdl-onedrive-field__actions,
.pdl-isrc-source-card:not(.pdl-isrc-source-card--selected) .pdl-onedrive-field__actions .kt-btn {
  pointer-events: auto;
}

.pdl-l1l2-search-card__limit {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
}

/* L1/L2 search — row 1: search + months + page size + actions; row 2: position + type */
.pdl-l1l2-search-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  width: 100%;
  min-width: 0;
}

.pdl-l1l2-search-toolbar__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}

.pdl-l1l2-search-toolbar__row--secondary {
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
}

.pdl-l1l2-search-toolbar__main {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}

.pdl-l1l2-search-toolbar__field--inline {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
  min-width: 0;
}

.pdl-l1l2-search-toolbar__prompt {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pdl-color-text-secondary, #475569);
  line-height: 1.2;
  white-space: nowrap;
  flex-shrink: 0;
}

.pdl-l1l2-search-toolbar__field--search {
  flex: 1 1 12rem;
  min-width: 10rem;
}

.pdl-l1l2-search-toolbar__field--search .pdl-l1l2-unified-search__field {
  flex: 1 1 auto;
  min-width: 8rem;
}

.pdl-l1l2-search-toolbar__field--month .pdl-myp-wrap {
  width: var(--pdl-picker-width-month);
  min-width: var(--pdl-picker-width-month);
  max-width: var(--pdl-picker-width-month);
}

.pdl-l1l2-search-toolbar__field--month .pdl-myp-trigger,
.pdl-l1l2-search-toolbar__field--month .kt-input.pdl-month-year-picker {
  width: 100%;
  min-width: 0;
  min-height: 2.375rem;
  box-sizing: border-box;
}

.pdl-l1l2-search-toolbar__field--limit {
  gap: 0.35rem;
}

.pdl-l1l2-search-toolbar__limit-text {
  font-size: 0.8125rem;
  color: var(--pdl-color-text-muted, #64748b);
  white-space: nowrap;
}

.pdl-l1l2-search-toolbar__radio-group {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.65rem;
}

.pdl-l1l2-search-toolbar__radio {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  font-size: 0.8125rem;
  white-space: nowrap;
  cursor: pointer;
}

.pdl-l1l2-search-toolbar__actions {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.pdl-l1l2-unified-search__label,
.pdl-l1l2-filters__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-l1l2-search-toolbar__field--search .pdl-l1l2-unified-search__field {
  flex-wrap: nowrap;
}

.pdl-l1l2-search-toolbar__field--search .pdl-l1l2-unified-search__field .pdl-label-picker.pdl-sign-in-field {
  min-width: 8rem;
}

.pdl-l1l2-unified-search__field {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.5rem;
  border: 1px solid var(--pdl-color-border, #cbd5e1);
  border-radius: var(--pdl-radius-chip, 8px);
  background: var(--pdl-color-white, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

.pdl-l1l2-unified-search__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.85rem;
  color: var(--pdl-color-brand, #7239b3);
  background: var(--pdl-color-surface-soft, #f8fafc);
  border-right: 1px solid var(--pdl-color-border-soft);
}

.pdl-l1l2-unified-search__input {
  flex: 1 1 12rem;
  min-width: 12rem;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.pdl-l1l2-unified-search__typeahead {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0 0.85rem;
  font-size: 0.8125rem;
  color: var(--pdl-color-text-muted, #64748b);
  white-space: nowrap;
  border-left: 1px solid var(--pdl-color-border-soft);
  background: var(--pdl-color-surface-soft, #f8fafc);
  cursor: pointer;
}

.pdl-l1l2-filters__field {
  min-width: 8.5rem;
}

/* My Sub Labels — single-row toolbar (meta search + l1report Go/Reset) */
#pdl_comp_search_toolbar.pdl-meta-search-toolbar {
  padding-left: 0;
  padding-right: 0;
}

#pdl_comp_search_toolbar .pdl-comp-search__status .kt-input {
  width: 11rem;
  min-width: 11rem;
  min-height: 2.375rem;
}

#pdl_comp_search_toolbar .pdl-meta-search-actions.l1report-toolbar-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

#pdl_comp_search_toolbar .l1report-toolbar-actions .kt-btn {
  min-height: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
}

.pdl-isrcdownload-actions.l1report-toolbar-actions {
  margin-left: auto;
}

.pdl-l1l2-filters__radios {
  min-width: auto;
}

.pdl-l1l2-filters__actions {
  margin-left: auto;
  align-self: flex-end;
}

@media (max-width: 1199px) {
  .pdl-l1l2-search-toolbar__row:not(.pdl-l1l2-search-toolbar__row--secondary) {
    flex-wrap: wrap;
  }

  .pdl-l1l2-search-toolbar__actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-end;
  }
}

.pdl-l1l2-listing-placeholder {
  border: 1px dashed var(--pdl-color-border-soft);
  border-radius: var(--pdl-radius-chip, 8px);
  background: var(--pdl-color-surface-soft, #f8fafc);
}

@media (max-width: 767px) {
  .pdl-l1l2-search-card__limit {
    width: 100%;
    margin-left: 0 !important;
  }

  .pdl-l1l2-filters__actions {
    width: 100%;
    margin-left: 0;
  }
}

.pdl-top-songs-count-input::-webkit-outer-spin-button,
.pdl-top-songs-count-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-views {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.pdl-top-songs-datatable .pdl-top-songs-views--fetching .pdl-top-songs-variant {
  opacity: 0.38;
  transition: opacity 0.22s ease;
}

.pdl-top-songs-variant__label {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-top-songs-variant__hint {
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  color: var(--pdl-color-text-muted, #94a3b8);
}

.pdl-top-songs-datatable .kt-card-table {
  margin: 0 -0.25rem;
  border: 1px solid var(--pdl-color-border-soft);
  border-radius: 0.5rem;
  overflow: hidden;
  background: var(--pdl-color-white);
}

.pdl-top-songs-variant--store .pdl-top-songs-store-body {
  position: relative;
}

.pdl-top-songs-store-list {
  gap: 0.625rem;
}

.pdl-top-songs-store-card > .kt-card-content {
  padding-block: 0.5rem;
  padding-inline: 0.5rem 1rem;
}

.pdl-top-songs-store-card__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  padding: 0;
  margin: 0;
  min-height: 0;
}

.pdl-top-songs-store-card__main {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  min-width: 0;
  flex: 1;
  height: 70px;
  overflow: hidden;
}

.pdl-top-songs-store-card__thumb {
  display: block;
  flex-shrink: 0;
  width: 90px;
  height: 70px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0.5rem;
  line-height: 0;
  font-size: 0;
  background: color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 55%, var(--pdl-color-white));
  box-shadow: none;
  overflow: hidden;
}

.pdl-top-songs-store-card__thumb img {
  width: 90px;
  height: 70px;
  max-height: 70px;
  object-fit: cover;
  display: block;
  vertical-align: top;
}

.pdl-top-songs-store-card__meta {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  min-width: 0;
  flex: 1;
}

.pdl-top-songs-store-rank {
  flex-shrink: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.35;
  padding-top: 0.05rem;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-top-songs-store-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  min-width: 0;
}

.pdl-top-songs-store-title {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--pdl-color-brand-dark, #7239b3);
  text-align: left;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-top-songs-store-album {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--pdl-color-text-muted, #64748b);
  text-align: left;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-top-songs-store-card__stats {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0.25rem;
  flex-shrink: 0;
  text-align: right;
  padding-top: 0.05rem;
}

.pdl-top-songs-store-plays {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-top-songs-store-isrc {
  font-size: 0.6875rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-top-songs-store-card:hover {
  border-color: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 25%, var(--pdl-color-border-soft));
}

/* TuneMetrics DSP switcher — icon + label chips, same toolbar row as filters */
.pdl-meta-search-toolbar .pdl-meta-search-field--cm-dsp,
.pdl-meta-search-toolbar--listing.pdl-form-input > .pdl-meta-search-field--cm-dsp {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  min-width: max-content;
  height: var(--pdl-filter-control-height, 2.5rem);
  border: 1px solid var(--pdl-color-border, #e2e8f0);
  border-radius: var(--pdl-radius-chip, 8px);
  overflow: hidden;
  background: var(--pdl-color-white, #fff);
}
.pdl-cm-dsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  height: 100%;
  min-height: var(--pdl-filter-control-height, 2.5rem);
  padding: 0 0.7rem;
  border: none;
  border-right: 1px solid var(--pdl-color-border, #e2e8f0);
  border-radius: 0;
  background: transparent;
  background-color: transparent;
  color: var(--pdl-color-text, #1e293b);
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.pdl-cm-dsp-btn:last-child {
  border-right: none;
}
.pdl-cm-dsp-btn:not(.active) {
  color: var(--pdl-color-muted, #49454f);
}
.pdl-cm-dsp-btn:hover:not(.active) {
  background: var(--pdl-color-brand-hover-soft, #f5f3ff);
  background-color: var(--pdl-color-brand-hover-soft, #f5f3ff);
  color: var(--pdl-color-brand-dark, #21005d);
}
.pdl-meta-search-toolbar .pdl-meta-search-field--cm-dsp > button.pdl-cm-dsp-btn.active {
  background: var(--pdl-color-brand-soft, #eaddff) !important;
  background-color: var(--pdl-color-brand-soft, #eaddff) !important;
  color: var(--pdl-color-brand-dark, #21005d);
  box-shadow: 0 0 0 1px var(--pdl-color-brand-soft, #eaddff);
  font-weight: 600;
}
.pdl-cm-dsp-btn .pdl-platform-icon-mount,
.pdl-cm-dsp-btn .pdl-platform-sprite-icon,
.pdl-cm-dsp-btn .pdl-platform-icon-mount img,
.pdl-cm-dsp-btn .pdl-platform-icon-mount svg {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.pdl-cm-dsp-btn__label {
  line-height: 1;
}

/* TuneMetrics DSP rights: large L1 icon, two small L2 icons below. Stay inside the existing column. */
.pdl-cm-dsp-rights {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.125rem;
  width: 1.75rem;
  line-height: 0;
}
.pdl-cm-dsp-rights-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.pdl-cm-dsp-rights-icon .pdl-platform-icon-mount,
.pdl-cm-dsp-rights-icon .pdl-platform-sprite-icon,
.pdl-cm-dsp-rights-icon .pdl-platform-icon-mount img,
.pdl-cm-dsp-rights-icon .pdl-platform-icon-mount svg {
  display: block;
  width: 100%;
  height: 100%;
}
.pdl-cm-dsp-rights-icon--l1,
.pdl-cm-dsp-rights-icon--l1 .pdl-platform-icon-mount,
.pdl-cm-dsp-rights-icon--l1 .pdl-platform-sprite-icon {
  width: 1.25rem;
  height: 1.25rem;
}
.pdl-cm-dsp-rights__l2s {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1px;
}
.pdl-cm-dsp-rights-icon--l2,
.pdl-cm-dsp-rights-icon--l2 .pdl-platform-icon-mount,
.pdl-cm-dsp-rights-icon--l2 .pdl-platform-sprite-icon {
  width: 12px;
  height: 12px;
}
.pdl-cm-dsp-rights--legend {
  cursor: help;
}
.pdl-cm-dsp-rights-icon.is-granted {
  opacity: 1;
  filter: none;
}
.pdl-cm-dsp-rights-icon.is-missing {
  opacity: 0.28;
  filter: grayscale(1);
}
th.pdl-cm-dsp-rights-col,
td.pdl-cm-dsp-rights-col,
#content .kt-table.table thead th.pdl-cm-dsp-rights-col,
#content .kt-table.table tbody td.pdl-cm-dsp-rights-col {
  width: 2.75rem;
  max-width: 2.75rem;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
  text-align: center;
  vertical-align: middle;
  overflow: visible;
}

/* CM playlist scan listing — card rows (scan_listing) */
.pdl-cm-scan-list {
  gap: 0.75rem;
}

.pdl-cm-results-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1.25rem;
  margin-bottom: 1rem;
}

.pdl-cm-results-summary__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.5rem;
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-results-summary__label {
  font-weight: 600;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-results-summary__sep {
  color: var(--pdl-color-text-muted, #94a3b8);
  user-select: none;
}

.pdl-cm-results-summary__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-scan-card > .kt-card-content {
  padding-block: 0.65rem;
  padding-inline: 0.75rem 1rem;
}

.pdl-cm-scan-card__playlist-main {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  min-width: 0;
}

.pdl-cm-scan-card__playlist-text {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
  flex: 1;
}

.pdl-cm-scan-card__thumb--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pdl-color-brand, #7239b3);
  font-size: 1.25rem;
}

.pdl-cm-scan-card__thumb--playlist {
  width: 90px;
  height: 90px;
}

.pdl-cm-scan-card__thumb--playlist img {
  width: 90px;
  height: 90px;
  max-height: 90px;
  object-fit: cover;
}

.pdl-cm-scan-card__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(0, 1.35fr) minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 1rem 1.25rem;
  align-items: start;
}

.pdl-cm-scan-card__playlist {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--pdl-color-brand-dark, #7239b3);
}

.pdl-cm-scan-card__playlist a {
  color: inherit;
  text-decoration: none;
}

.pdl-cm-scan-card__playlist a:hover {
  text-decoration: underline;
}

.pdl-cm-scan-card__metrics {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-top: 0.4rem;
}

.pdl-cm-scan-card__metric {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-scan-card__metric .fa {
  font-size: 0.75rem;
  color: var(--pdl-color-brand, #7239b3);
}

.pdl-cm-scan-card__metric-value {
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-scan-card__song {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-scan-card__song-main {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  min-width: 0;
}

.pdl-cm-scan-card__song-text {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
  flex: 1;
}

.pdl-cm-scan-card__thumb--song {
  flex-shrink: 0;
}

.pdl-cm-scan-card__album {
  display: block;
  margin-top: 0;
  font-size: 0.75rem;
  line-height: 1.25;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-scan-card__added {
  display: block;
  margin-top: 0;
  font-size: 0.75rem;
  line-height: 1.25;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-scan-card__stack-line {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-scan-card__stack-line--muted {
  color: var(--pdl-color-text-muted, #64748b);
}

@media (max-width: 991px) {
  .pdl-cm-scan-card__inner {
    grid-template-columns: 1fr 1fr;
  }

  .pdl-cm-scan-card__col--playlist {
    grid-column: 1 / -1;
  }

  .pdl-cm-isrc-lookup-card__inner {
    grid-template-columns: 1fr 1fr;
  }

  .pdl-cm-isrc-lookup-card__col--song {
    grid-column: 1 / -1;
  }

  .pdl-cm-isrc-lookup-card__playlist-wrap {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
  }
}

/* CM ISRC lookup — song, labels, narrow meta, fixed playlist panel at row end */
.pdl-cm-isrc-lookup-card__inner {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) 7.5rem 28rem;
}

.pdl-cm-isrc-lookup-card__col--meta {
  min-width: 0;
}

.pdl-cm-isrc-lookup-card__col--meta .pdl-cm-scan-card__stack-line {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-cm-isrc-lookup-card__playlist-wrap {
  grid-column: 4;
  align-self: start;
  justify-self: end;
  width: 28rem;
  max-width: 100%;
}

.pdl-cm-isrc-lookup-card__playlist-panel {
  box-sizing: border-box;
  width: 100%;
  padding: 0.5rem 0.625rem;
  border-radius: 0.625rem;
  background: color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 45%, var(--pdl-color-white));
  border: 1px solid color-mix(in srgb, var(--pdl-color-brand, #7239b3) 18%, var(--pdl-color-border-soft));
  box-shadow: 0 1px 3px color-mix(in srgb, var(--pdl-color-brand, #7239b3) 8%, transparent);
}

.pdl-cm-isrc-lookup-card__playlist-panel-inner {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
  min-width: 0;
}

.pdl-cm-isrc-lookup-card__playlist-thumb {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  width: 90px;
}

.pdl-cm-playlist-thumb-added {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.05rem;
  width: 100%;
  line-height: 1.25;
}

.pdl-cm-playlist-thumb-added__label {
  font-size: 0.6875rem;
  font-weight: 400;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-playlist-thumb-added__date {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-isrc-lookup-card__playlist-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.35rem;
  flex: 1;
  min-width: 0;
  text-align: left;
}

.pdl-cm-isrc-lookup-card__playlist-text .pdl-cm-scan-card__playlist {
  width: 100%;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-cm-isrc-lookup-card__metrics {
  justify-content: flex-start;
  margin-top: 0;
  width: 100%;
}

.pdl-cm-isrc-lookup-song-header__inner {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 1rem 1.25rem;
  align-items: start;
}

.pdl-cm-isrc-lookup-song-header__rights {
  display: flex;
  justify-content: center;
  padding-top: 0.2rem;
}

.pdl-cm-isrc-lookup-song-header__meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.pdl-cm-isrc-lookup-card--playlist-only .pdl-cm-isrc-lookup-card__playlist-panel {
  max-width: none;
}

.pdl-cm-playlist-badges {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 0.4rem;
  width: 100%;
  min-width: 0;
}

.pdl-cm-playlist-badge-line {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.35rem 0.5rem;
  width: 100%;
  min-width: 0;
}

.pdl-cm-playlist-badge-line__label {
  flex: 0 0 auto;
  min-width: 3.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pdl-color-text-muted, #64748b);
  line-height: 1.45;
  padding-top: 0.1rem;
}

.pdl-cm-playlist-badge-line__items {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.pdl-cm-playlist-badge-chip {
  white-space: nowrap;
  line-height: 1.2;
}

.pdl-cm-isrc-lookup-card__playlist-text .pdl-cm-scan-card__metrics {
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
}

@media (max-width: 991px) {
  .pdl-cm-isrc-lookup-song-header__inner {
    grid-template-columns: 2rem minmax(0, 1fr);
    grid-template-areas:
      "rights song"
      "rights meta";
  }

  .pdl-cm-isrc-lookup-song-header__rights {
    grid-area: rights;
  }

  .pdl-cm-isrc-lookup-song-header__inner > .pdl-cm-scan-card__song-main {
    grid-area: song;
  }

  .pdl-cm-isrc-lookup-song-header__meta {
    grid-area: meta;
  }
}

/* CM scan listing — rights icon, playlist, then song / labels / meta */
.pdl-cm-scan-listing-card__inner {
  display: grid;
  grid-template-columns: 2rem minmax(16rem, 28rem) minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 7.5rem);
  gap: 1rem 1.25rem;
  align-items: start;
}

.pdl-cm-scan-listing-card__rights {
  display: flex;
  justify-content: center;
  padding-top: 0.15rem;
}

.pdl-cm-scan-listing-card__playlist-wrap {
  min-width: 0;
}

.pdl-cm-scan-listing-card__col--meta {
  min-width: 0;
}

.pdl-cm-scan-listing-card__col--meta .pdl-cm-scan-card__stack-line {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .pdl-cm-scan-listing-card__inner {
    grid-template-columns: 2rem 1fr 1fr;
    grid-template-areas:
      "rights playlist playlist"
      "rights song song"
      "rights labels meta";
  }

  .pdl-cm-scan-listing-card__rights {
    grid-area: rights;
  }

  .pdl-cm-scan-listing-card__playlist-wrap {
    grid-area: playlist;
  }

  .pdl-cm-scan-listing-card__col--song {
    grid-area: song;
  }

  .pdl-cm-scan-listing-card__col--labels {
    grid-area: labels;
  }

  .pdl-cm-scan-listing-card__col--meta {
    grid-area: meta;
  }
}

/* CM ISRC line + summary icon (scan listing, top songs, lookup headers) */
.pdl-cm-isrc-line {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
}

.pdl-cm-isrc-line__text {
  min-width: 0;
}

.pdl-cm-isrc-line.pdl-cm-scan-card__isrc,
.pdl-cm-isrc-line.pdl-cm-top-songs-card__isrc {
  display: flex;
  font-size: 0.75rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  line-height: 1.35;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-isrc-line.pdl-cm-isrc-header-line {
  display: inline-flex;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.pdl-cm-isrc-summary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  border-radius: 4px;
  color: var(--pdl-color-primary, #2563eb);
  text-decoration: none;
  font-size: 0.75rem;
  line-height: 1;
}

.pdl-cm-isrc-summary-icon:hover,
.pdl-cm-isrc-summary-icon:focus {
  background: rgba(37, 99, 235, 0.08);
  color: var(--pdl-color-primary, #2563eb);
  outline: none;
}

/* CM ISRC 7-day summary grid */
.pdl-cm-isrc-summary__song-inner {
  display: grid;
  grid-template-columns: auto auto minmax(10rem, 1.4fr) minmax(8rem, 1fr) minmax(8rem, 1fr);
  gap: 1.25rem;
  align-items: center;
  padding: 0.25rem 0;
}

.pdl-cm-isrc-summary__song-col--rights {
  flex-shrink: 0;
}

.pdl-cm-isrc-summary__song-col--thumb {
  flex-shrink: 0;
}

.pdl-cm-isrc-summary__song-col--title {
  min-width: 0;
}

.pdl-cm-isrc-summary__song-col--labels,
.pdl-cm-isrc-summary__song-col--meta {
  min-width: 0;
}

.pdl-cm-isrc-summary__song-thumb {
  flex-shrink: 0;
}

.pdl-cm-isrc-summary__song-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 0.35rem;
  line-height: 1.3;
}

.pdl-cm-isrc-summary__song-meta {
  font-size: 0.875rem;
  line-height: 1.45;
  margin: 0 0 0.2rem;
}

.pdl-cm-isrc-summary__isrc-line {
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-isrc-summary__stack-line {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-isrc-summary__stack-line--muted {
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-isrc-summary__grid-scroll {
  overflow-x: auto;
  width: 100%;
}

.pdl-cm-isrc-summary__grid {
  width: 100%;
  min-width: 48rem;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.8125rem;
}

.pdl-cm-isrc-summary__th {
  padding: 0.55rem 0.35rem;
  text-align: center;
  font-weight: 600;
  background: var(--pdl-color-surface-muted, #f8fafc);
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
  white-space: nowrap;
  vertical-align: middle;
}

.pdl-cm-isrc-summary__th--playlist {
  text-align: left;
  width: 14rem;
  position: sticky;
  left: 0;
  z-index: 2;
  box-shadow: 2px 0 4px rgba(15, 23, 42, 0.04);
  border-right: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-cm-isrc-summary__th--date {
  width: 6.75rem;
  border-left: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-cm-isrc-summary__row-head {
  padding: 0.55rem 0.65rem;
  vertical-align: middle;
  font-weight: 500;
  text-align: left;
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
  background: #fff;
  position: sticky;
  left: 0;
  z-index: 1;
  width: 14rem;
  border-right: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-cm-isrc-summary__playlist-label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
}

.pdl-cm-isrc-summary__playlist-thumb {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 4px;
}

.pdl-cm-isrc-summary__playlist-thumb img {
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  object-fit: cover;
}

.pdl-cm-isrc-summary__playlist-text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
  max-width: 12rem;
}

.pdl-cm-isrc-summary__playlist-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1.3;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-isrc-summary__playlist-name a {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
}

.pdl-cm-isrc-summary__playlist-name a:hover {
  text-decoration: underline;
}

.pdl-cm-isrc-summary__playlist-added {
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-isrc-summary__cell {
  padding: 0.55rem 0.35rem;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
  width: 6.75rem;
  border-left: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-cm-isrc-summary__cell--empty {
  background: var(--pdl-color-surface-muted, #f8fafc);
}

.pdl-cm-isrc-summary__cell-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0.35rem;
  width: 100%;
  margin: 0 auto;
}

.pdl-cm-isrc-summary__metric {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  font-variant-numeric: tabular-nums;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-cm-isrc-summary__metric .fa-fire {
  color: #f97316;
}

.pdl-cm-isrc-summary__metric-val {
  min-width: 1.25rem;
  text-align: left;
}

/* CM Top Songs — store card list (matches dashboard Top Songs style) */
.pdl-cm-top-songs-list {
  margin-bottom: 0.5rem;
}

.pdl-cm-top-songs-card__inner {
  display: grid;
  grid-template-columns: 2rem 90px 22rem 15rem minmax(0, 1fr);
  align-items: start;
  column-gap: 1.25rem;
  row-gap: 0.35rem;
  padding: 0;
  margin: 0;
  min-height: 0;
}

.pdl-cm-top-songs-card__rights {
  grid-column: 1;
  display: flex;
  justify-content: center;
  padding-top: 0.2rem;
}

.pdl-cm-top-songs-card__thumb {
  grid-column: 2;
  align-self: start;
}

.pdl-cm-top-songs-card__text {
  grid-column: 3;
  width: 22rem;
  max-width: 100%;
  gap: 0.25rem;
}

.pdl-cm-top-songs-card__labels {
  grid-column: 4;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  width: 15rem;
  max-width: 100%;
  align-self: start;
  padding-top: 0.05rem;
}

.pdl-cm-top-songs-card__label {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pdl-color-text, #1e293b);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-cm-top-songs-card__label--l2 {
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-top-songs-card__playlist-wrap {
  grid-column: 5;
  justify-self: end;
  align-self: start;
  flex-shrink: 0;
}

.pdl-cm-top-songs-card__playlist-badge {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  width: 5rem;
  height: 5rem;
  padding: 0.45rem;
  border-radius: 0.75rem;
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 80%, var(--pdl-color-white)),
    color-mix(in srgb, var(--pdl-color-brand, #7239b3) 12%, var(--pdl-color-white))
  );
  border: 1px solid color-mix(in srgb, var(--pdl-color-brand, #7239b3) 28%, var(--pdl-color-border-soft));
  box-shadow: 0 2px 8px color-mix(in srgb, var(--pdl-color-brand, #7239b3) 14%, transparent);
  color: inherit;
  text-decoration: none;
  text-align: center;
}

a.pdl-cm-top-songs-card__playlist-badge:hover {
  color: var(--pdl-color-brand-dark, #7239b3);
  border-color: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 45%, var(--pdl-color-border-soft));
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--pdl-color-brand, #7239b3) 22%, transparent);
}

.pdl-cm-top-songs-card__playlist-count {
  font-size: 2rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--pdl-color-brand-dark, #7239b3);
}

.pdl-cm-top-songs-card__playlist-label {
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-cm-top-songs-card__playlist-link-icon {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  font-size: 0.55rem;
  opacity: 0.65;
}

@media (max-width: 991px) {
  .pdl-cm-top-songs-card__inner {
    grid-template-columns: 2rem 90px minmax(0, 1fr) 13rem auto;
  }

  .pdl-cm-top-songs-card__text {
    width: auto;
  }

  .pdl-cm-top-songs-card__labels {
    width: 13rem;
  }
}

@media (max-width: 767px) {
  .pdl-cm-top-songs-card__inner {
    grid-template-columns: 2rem 90px minmax(0, 1fr) auto;
    grid-template-areas:
      "rights thumb text playlist"
      "rights thumb labels labels";
  }

  .pdl-cm-top-songs-card__rights {
    grid-area: rights;
  }

  .pdl-cm-top-songs-card__thumb {
    grid-area: thumb;
  }

  .pdl-cm-top-songs-card__text {
    grid-area: text;
    width: auto;
  }

  .pdl-cm-top-songs-card__labels {
    grid-area: labels;
    width: auto;
    padding-top: 0;
  }

  .pdl-cm-top-songs-card__playlist-wrap {
    grid-area: playlist;
    grid-column: auto;
    justify-self: end;
  }
}

@media (max-width: 575px) {
  .pdl-cm-top-songs-card__inner {
    grid-template-columns: 2rem 90px minmax(0, 1fr);
    grid-template-areas:
      "rights thumb text"
      "rights labels labels"
      "rights playlist playlist";
  }

  .pdl-cm-top-songs-card__playlist-wrap {
    justify-self: end;
  }
}

@media (max-width: 575px) {
  .pdl-cm-scan-card__inner {
    grid-template-columns: 1fr;
  }
}

.pdl-top-songs-datatable .kt-table-wrapper {
  border-bottom: 1px solid var(--pdl-color-border-soft);
}

.pdl-top-songs-datatable .pdl-top-songs-table-body {
  position: relative;
}

.pdl-top-songs-loading {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  background: color-mix(in srgb, var(--pdl-color-white, #fff) 82%, transparent);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.pdl-top-songs-loading.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.pdl-top-songs-loading--page {
  position: fixed;
  inset: 0;
  z-index: 10050;
}

/* Zip download overlay: login hero + large percent, pinned to #content */
.pdl-file-download-overlay {
  position: fixed;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.pdl-file-download-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.pdl-file-download-overlay__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: linear-gradient(135deg, #1a0a2e 0%, #4a1259 45%, #f10065 100%);
}

.pdl-file-download-overlay__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdl-file-download-overlay__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 8, 28, 0.55) 0%, rgba(15, 8, 28, 0.72) 55%, rgba(15, 8, 28, 0.88) 100%),
    radial-gradient(ellipse 80% 60% at 50% 20%, rgba(241, 0, 101, 0.18), transparent 70%);
  pointer-events: none;
}

.pdl-file-download-overlay__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
  color: #fff;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.pdl-file-download-overlay__hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7.25rem;
  min-width: 8.5rem;
}

.pdl-file-download-overlay__ring {
  position: absolute;
  width: 8.25rem;
  height: 8.25rem;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.18);
  border-top-color: #fff;
  opacity: 0;
  pointer-events: none;
}

.pdl-file-download-overlay.is-processing .pdl-file-download-overlay__ring {
  opacity: 1;
  animation: pdl-download-ring-spin 1.05s linear infinite;
}

.pdl-file-download-overlay__timer {
  position: relative;
  z-index: 1;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  opacity: 0.92;
}

.pdl-file-download-overlay.is-processing .pdl-file-download-overlay__timer {
  font-size: clamp(2.75rem, 7vw, 4.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  opacity: 1;
}

.pdl-file-download-overlay.is-downloading .pdl-file-download-overlay__timer {
  position: absolute;
  top: -1.35rem;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.pdl-file-download-overlay__pct {
  position: relative;
  z-index: 1;
  font-size: clamp(2.75rem, 7vw, 4.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
  display: none;
}

.pdl-file-download-overlay.is-downloading.has-progress .pdl-file-download-overlay__pct {
  display: block;
}

.pdl-file-download-overlay.is-processing .pdl-file-download-overlay__pct {
  display: none;
}

.pdl-file-download-overlay__text {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pdl-file-download-overlay__text.is-processing {
  animation: pdl-download-processing-fade 1.6s ease-in-out infinite;
}

.pdl-file-download-overlay__summary {
  font-size: 0.875rem;
  font-weight: 500;
  opacity: 0.9;
  min-height: 1.25em;
}

.pdl-file-download-overlay__detail {
  font-size: 0.875rem;
  font-weight: 500;
  opacity: 0.85;
  min-height: 1.25em;
  max-width: 28rem;
}

.pdl-file-download-overlay__hide {
  margin-top: 0.85rem;
  padding: 0.45rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.pdl-file-download-overlay__hide:hover,
.pdl-file-download-overlay__hide:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  outline: none;
}

@keyframes pdl-download-processing-fade {
  0%, 100% { opacity: 0.22; }
  50% { opacity: 1; }
}

@keyframes pdl-download-ring-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .pdl-file-download-overlay__text.is-processing {
    animation: none;
    opacity: 1;
  }

  .pdl-file-download-overlay.is-processing .pdl-file-download-overlay__ring {
    animation: none;
    opacity: 0.45;
  }
}

.pdl-top-songs-loading__spinner {
  width: 1.35rem;
  height: 1.35rem;
  border: 2px solid var(--pdl-color-border-soft, #e2e8f0);
  border-top-color: var(--pdl-color-brand, #7239b3);
  border-radius: 50%;
  animation: pdl-top-songs-spin 0.65s linear infinite;
}

.pdl-top-songs-loading__text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pdl-color-brand-dark, #5b21b6);
  letter-spacing: 0.02em;
}

@keyframes pdl-top-songs-spin {
  to {
    transform: rotate(360deg);
  }
}

.pdl-top-songs-datatable .pdl-top-songs-variant {
  transition: opacity 0.22s ease;
}

/* PDL data table headers — standard (exceptions: .l1report-data-table, .pdl-meta-active-table, .pdl-meta-listmeta-table) */
.pdl-dt-table thead th,
.pdl-top-songs-datatable .kt-table thead th,
.pdl-placement-datatable .kt-table thead th,
.pdl-datatable-shell .kt-table thead th {
  font-size: var(--pdl-dt-th-font-size);
  font-weight: var(--pdl-dt-th-font-weight);
  color: var(--pdl-dt-th-color);
  background: var(--pdl-dt-th-bg);
  border-bottom: 1px solid var(--pdl-dt-th-border);
  padding: var(--pdl-dt-th-padding-y) var(--pdl-dt-th-padding-x);
  vertical-align: middle;
  white-space: nowrap;
}

.pdl-dt-table .kt-table-col-sort,
.pdl-top-songs-datatable .kt-table-col-sort,
.pdl-placement-datatable .kt-table-col-sort,
.pdl-datatable-shell .kt-table-col-sort {
  display: none;
}

/* Numeric header/body alignment — pair with .pdl-dt-th--numeric / .pdl-dt-td--numeric */
.pdl-dt-table th.pdl-dt-th--numeric,
.pdl-dt-table td.pdl-dt-td--numeric,
.pdl-table-layout th.text-end,
.pdl-table-layout td.text-end {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

/* Few-column tables — narrow width instead of stretching full page */
.pdl-table-layout {
  width: 100%;
}

.pdl-table-layout--few-columns {
  width: fit-content;
  max-width: 100%;
}

.pdl-table-layout--few-columns .pdl-table-layout__card {
  display: inline-block;
  width: auto;
  max-width: 100%;
  min-width: min(100%, 18rem);
  margin: 0;
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: 0.5rem;
  overflow: hidden;
  background: var(--pdl-color-white, #fff);
}

.pdl-table-layout--few-columns .pdl-table-layout__scroll {
  overflow-x: auto;
}

.pdl-table-layout--few-columns .kt-table {
  width: auto;
  min-width: 100%;
  table-layout: auto;
}

.pdl-table-layout--few-columns .pdl-dt-th--label,
.pdl-table-layout--few-columns .pdl-dt-td--label {
  text-align: left;
  min-width: 9rem;
}

.pdl-table-layout--few-columns .pdl-dt-th--numeric,
.pdl-table-layout--few-columns .pdl-dt-td--numeric {
  min-width: 6.5rem;
  padding-left: 1.25rem;
  white-space: nowrap;
}

.pdl-top-songs-datatable .pdl-top-songs-table__img {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-table__img img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 0.5rem;
  border: 1px solid var(--pdl-color-border-soft);
  display: block;
}

.pdl-top-songs-datatable .pdl-top-songs-table__img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  border: 1px solid var(--pdl-color-border-soft);
  background: var(--pdl-color-surface-muted, #f3f4f6);
  color: var(--color-primary, #3b82f6);
  font-size: 1.25rem;
}

.pdl-top-songs-datatable .pdl-top-songs-table__song {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-table__song strong {
  font-weight: 600;
  line-height: 1.35;
}

/* Footer: single row (KTUI stacks column below 40rem — too narrow inside analytics card) */
.pdl-top-songs-datatable .pdl-top-songs-datatable__footer.kt-datatable-toolbar {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3rem;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__length.kt-datatable-length {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__length-label,
.pdl-top-songs-datatable .pdl-top-songs-datatable__length-suffix {
  flex-shrink: 0;
  line-height: 1.25;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__length .pdl-top-songs-count-input {
  flex-shrink: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__info.kt-datatable-info {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1.25rem;
  margin-left: auto;
  min-width: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__info-text,
.pdl-top-songs-datatable .pdl-top-songs-datatable__page-label {
  white-space: nowrap;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__page-label {
  font-size: 0.8125rem;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__pagination.kt-datatable-pagination {
  flex-shrink: 0;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__pagination .kt-datatable-pagination-button {
  pointer-events: auto;
  cursor: pointer;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__pagination .kt-datatable-pagination-button[disabled] {
  pointer-events: none;
  opacity: 0.4;
  cursor: not-allowed;
}

.pdl-top-songs-datatable .pdl-top-songs-datatable__pagination .kt-datatable-pagination-button.active {
  font-weight: 600;
}

@media (max-width: 639px) {
  .pdl-top-songs-datatable .pdl-top-songs-datatable__footer.kt-datatable-toolbar {
    flex-wrap: wrap;
    row-gap: 0.75rem;
  }

  .pdl-top-songs-datatable .pdl-top-songs-datatable__info.kt-datatable-info {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
  }
}

/* Placement listings (Songs / Album) — dashboard-style datatable */
.pdl-placement-datatable .pdl-placement-platform {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}

.pdl-placement-datatable .pdl-placement-platform__icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.pdl-placement-datatable .pdl-placement-table__name strong {
  font-weight: 600;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-placement-datatable .pdl-placement-link {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: var(--pdl-color-brand, #7239b3);
  cursor: pointer;
  text-align: left;
  max-width: 100%;
}

.pdl-placement-datatable .pdl-placement-link:hover {
  text-decoration: underline;
}

/* Action icon glyphs — sized via --pdl-action-icon-size in :root */
.pdl-action-strip i,
.pdl-action-strip__icon--inactive i,
.pdl-placement-action i,
.pdl-chart-type-toggle .kt-btn.kt-btn-icon i {
  font-size: var(--pdl-action-icon-size);
  line-height: 1;
}

.pdl-action-strip i[class*="ki-"],
.pdl-action-strip__icon--inactive i[class*="ki-"],
.pdl-placement-action i[class*="ki-"],
.pdl-chart-type-toggle .kt-btn.kt-btn-icon i[class*="ki-"] {
  width: var(--pdl-action-icon-size);
  height: var(--pdl-action-icon-size);
}

/* Fixed-width action icon slots — empty slots keep alignment when icons are conditional */
.pdl-action-strip {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  overflow: visible;
}

.pdl-action-strip__slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pdl-action-slot-size);
  height: var(--pdl-action-slot-size);
  flex: 0 0 var(--pdl-action-slot-size);
  overflow: visible;
  position: relative;
}

/* Developer-only actions — always last in the strip, teal cluster + Dev label */
.pdl-action-strip__dev {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  margin-left: 0.45rem;
  padding: 0.125rem 0.3rem 0.125rem 0.4rem;
  border-radius: 0.5rem;
  background: var(--pdl-dev-action-bg);
  outline: 1px dashed var(--pdl-dev-action-border);
}

.pdl-action-strip__dev-label {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pdl-dev-action-fg);
  line-height: 1;
  padding-right: 0.1rem;
  user-select: none;
}

.pdl-action-strip__dev .kt-btn {
  color: var(--pdl-dev-action-fg);
}

.pdl-action-strip__dev .kt-btn:hover,
.pdl-action-strip__dev .kt-btn:focus-visible {
  background: var(--pdl-dev-action-bg-hover);
  color: var(--pdl-dev-action-fg-hover);
}

.pdl-action-strip__dev i {
  color: inherit;
}

/* Inactive / skipped action icons — very faint, no pointer */
.pdl-action-strip__icon--inactive {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--pdl-action-slot-size);
  height: var(--pdl-action-slot-size);
  cursor: default;
  pointer-events: none;
  opacity: 0.16;
  color: var(--color-muted-foreground, #9ca3af);
}

.pdl-action-strip__icon--inactive:hover {
  cursor: default;
}

.pdl-placement-datatable .pdl-placement-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.pdl-placement-datatable .pdl-placement-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--pdl-radius-chip, 8px);
  color: var(--pdl-color-muted, #64748b);
  transition: background-color 0.15s ease, color 0.15s ease;
}

.pdl-placement-datatable .pdl-placement-action--btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.pdl-placement-datatable .pdl-placement-action:hover {
  background: var(--pdl-color-surface-soft, #f1f5f9);
  color: var(--pdl-color-brand, #7239b3);
}

.pdl-placement-datatable .pdl-placement-action--danger:hover {
  color: var(--pdl-color-danger, #dc2626);
}

.pdl-placement-datatable .pdl-placement-action--emailed {
  color: #ff8989;
}

.pdl-placement-datatable .pdl-placement-table-wrap {
  width: 100%;
}

.pdl-placement-datatable .pdl-placement-table-body {
  max-height: none;
}

.pdl-placement-datatable .pdl-placement-table td,
.pdl-placement-datatable .pdl-placement-table th {
  vertical-align: middle;
}

.pdl-placement-datatable .pdl-placement-table__img img {
  border-radius: 8px;
  object-fit: cover;
  display: block;
}

.pdl-placement-datatable .pdl-placement-table td:last-child {
  white-space: nowrap;
}

.pdl-placement-datatable .pdl-action-strip .pdl-placement-action--emailed,
.pdl-action-strip .pdl-placement-action--emailed {
  color: #ff8989;
}

/* Placement detail view — view_playlist / view_album */
.pdl-placement-view-card {
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-placement-view-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.5rem;
  margin: 0;
}

.pdl-placement-view-meta__item {
  min-width: 0;
}

.pdl-placement-view-meta__item--wide {
  grid-column: 1 / -1;
}

.pdl-placement-view-meta dt {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-placement-view-meta dd {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--pdl-color-text, #1d1b20);
  word-break: break-word;
}

.pdl-placement-view-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-top-songs-store-card__thumb .pdl-store-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 70px;
  color: var(--pdl-color-brand, #7239b3);
}

.pdl-top-songs-store-card__stats .pdl-placement-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}


/* Meta listing — multi-column row layout */
.pdl-meta-listing-card .pdl-top-songs-store-card__main {
  height: auto;
  min-height: 70px;
  overflow: visible;
}

.pdl-meta-listing-cols {
  display: flex;
  flex: 1;
  gap: 0.75rem 1.25rem;
  min-width: 0;
  align-items: flex-start;
}

.pdl-meta-listing-col {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}

.pdl-meta-listing-col--labels {
  flex: 1 1 11rem;
  min-width: 9rem;
}

.pdl-meta-listing-col--song {
  flex: 2 1 14rem;
  min-width: 11rem;
}

.pdl-meta-listing-col--artists {
  flex: 1.5 1 10rem;
  min-width: 10rem;
}

.pdl-meta-listing-card {
  --pdl-meta-live-action-size: var(--pdl-action-slot-size);
  --pdl-meta-live-icon-size: var(--pdl-action-icon-size);
}

.pdl-meta-listing-card .pdl-top-songs-store-card__stats {
  flex: 0 1 auto;
  align-self: stretch;
  align-items: flex-end;
  justify-content: center;
  min-width: 4.75rem;
  padding-inline-start: 0.5rem;
}

.pdl-meta-listing-card .pdl-meta-live-actions__tools .pdl-action-strip {
  flex-wrap: nowrap;
}

.pdl-meta-listing-line--copyable {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-meta-listing-line--copyable .pdl-meta-listing-line__value {
  display: inline;
}

.pdl-meta-listing-line__copy {
  display: inline;
  vertical-align: baseline;
  width: auto;
  height: auto;
  min-width: 0;
  min-height: 0;
  margin: 0 0 0 0.45rem;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--pdl-color-muted, #94a3b8);
  cursor: pointer;
  line-height: 1;
  font-size: inherit;
  font-weight: inherit;
  transform: none;
  gap: 0;
}

.pdl-meta-listing-line__copy:hover,
.pdl-meta-listing-line__copy:focus-visible {
  color: var(--pdl-color-brand, #7239b3);
  background: none;
  box-shadow: none;
  transform: none;
}

.pdl-meta-listing-line__copy .ki-outline {
  display: inline;
  font-size: 0.625rem;
  line-height: 1;
  vertical-align: baseline;
}

.pdl-copy-hint {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  background: rgba(15, 23, 42, 0.92);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, calc(-100% - 4px));
  transition: opacity 0.08s ease;
}

.pdl-copy-hint.is-visible {
  opacity: 1;
}

.pdl-copy-feedback {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  padding: 0.35rem 0.65rem;
  border-radius: 0.25rem;
  background: var(--pdl-color-brand, #7239b3);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.12s ease, transform 0.12s ease;
}

.pdl-copy-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.pdl-meta-listing-line__copy .ki-outline::before {
  line-height: 1;
}

.pdl-meta-live-card .pdl-meta-listing-cols--live {
  gap: 0.5rem 0.65rem;
}

.pdl-meta-live-card .pdl-meta-listing-col--labels {
  flex: 0 1 11rem;
  min-width: 8.5rem;
  max-width: 13rem;
}

.pdl-meta-live-card .pdl-meta-listing-col--song {
  flex: 2.5 1 16rem;
  min-width: 12rem;
  max-width: 22rem;
}

.pdl-meta-live-card .pdl-meta-listing-col--artists {
  flex: 1 1 9.5rem;
  min-width: 8rem;
  max-width: 13rem;
}

.pdl-meta-live-card.pdl-meta-listing-card .pdl-top-songs-store-card__stats {
  flex: 0 1 auto;
  min-width: 4.5rem;
  align-items: flex-end;
  padding-inline-start: 0.65rem;
}

.pdl-meta-live-card {
  --pdl-meta-live-action-size: var(--pdl-action-slot-size);
  --pdl-meta-live-icon-size: var(--pdl-action-icon-size);
}

.pdl-meta-live-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.35rem;
  width: max-content;
  max-width: 100%;
}

.pdl-meta-live-actions__platforms,
.pdl-meta-live-actions__tools {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
}

.pdl-meta-live-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--pdl-meta-live-action-size);
  width: var(--pdl-meta-live-action-size);
  height: var(--pdl-meta-live-action-size);
  border-radius: 0.375rem;
  color: var(--pdl-color-muted, #64748b);
  background: transparent;
  transition: background-color 0.15s ease, color 0.15s ease;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
}

.pdl-meta-live-action__icon {
  width: var(--pdl-meta-live-icon-size);
  height: var(--pdl-meta-live-icon-size);
  font-size: var(--pdl-meta-live-icon-size);
  line-height: 1;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}

.pdl-meta-live-action:hover {
  background: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 10%, transparent);
  color: var(--pdl-color-brand, #7239b3);
}

.pdl-meta-live-action--hot {
  color: var(--pdl-color-danger, #dc2626);
}

.pdl-meta-live-action--unavailable {
  opacity: 0.22;
  filter: grayscale(1);
  cursor: default;
  pointer-events: none;
}

.pdl-meta-live-action--btn {
  font: inherit;
}

.pdl-meta-listing-line {
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pdl-color-text, #1e293b);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Primary catalog entity title — event names, song names, etc. */
.pdl-catalog-title,
.pdl-meta-listing-line--song {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--pdl-color-brand-dark, #7239b3);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-meta-listing-line--prompt {
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-meta-listing-line__label {
  font-weight: 500;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-event-listing-card .pdl-top-songs-store-card__main {
  height: auto;
  min-height: 0;
  overflow: visible;
  align-items: flex-start;
}

.pdl-event-listing-card .pdl-top-songs-store-card__inner {
  align-items: center;
  gap: 0.75rem 1rem;
}

.pdl-event-listing-card .pdl-top-songs-store-card__main {
  flex: 1 1 auto;
}

.pdl-event-listing-card .pdl-top-songs-store-card__meta {
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
}

.pdl-event-listing-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 auto;
}

.pdl-event-listing-desc {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--pdl-color-text-muted, #64748b);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-event-listing-tags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  margin-top: 0.2rem;
  width: 100%;
}

.pdl-event-listing-card .pdl-catalog-tag-row {
  justify-content: flex-start;
  gap: 0.35rem 0.5rem;
}

.pdl-event-listing-card .pdl-catalog-tag-schedule {
  gap: 0.35rem;
}

.pdl-event-listing-card .pdl-top-songs-store-card__stats {
  flex: 0 0 auto;
  align-self: center;
  justify-content: center;
  min-width: 0;
  padding-inline-start: 0.25rem;
}

.pdl-catalog-tag-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem 0.75rem;
}

.pdl-catalog-tag-row--identity {
  min-height: 1.375rem;
}

.pdl-catalog-tag-row--schedule {
  min-height: 1.375rem;
}

.pdl-catalog-tag-schedule {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.pdl-catalog-tag-sep {
  color: var(--pdl-color-text-muted, #64748b);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  user-select: none;
}

.pdl-catalog-tag-slot {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  min-height: 1.375rem;
}

.pdl-catalog-tag-slot--type {
  width: 4.75rem;
}

.pdl-catalog-tag-slot--ownership {
  width: 5.75rem;
}

.pdl-catalog-tag-slot--status {
  width: 7.5rem;
}

.pdl-catalog-tag-slot--date {
  width: 10.75rem;
}

.pdl-catalog-tag-slot--meta {
  width: 5.25rem;
}

.pdl-catalog-tag {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-top-songs-store-card.pdl-event-row--own {
  border-color: color-mix(in srgb, #ffb4b4 60%, var(--pdl-color-border-soft));
  background: color-mix(in srgb, #ffb4b4 12%, var(--pdl-color-white));
}

.pdl-event-row--own {
  background: color-mix(in srgb, #ffb4b4 35%, transparent);
}

table.pdl-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

table.pdl-data-table th {
  text-align: left;
  padding: 10px 12px;
  font-weight: 600;
  color: var(--pdl-color-muted);
  background: var(--pdl-color-surface-soft);
  border-bottom: 1px solid var(--pdl-color-border-soft);
}

table.pdl-data-table td {
  padding: 10px 12px;
  vertical-align: top;
  border-bottom: 1px solid var(--pdl-color-border-soft);
  color: var(--pdl-color-text);
}

table.pdl-data-table tr:hover td {
  background: var(--pdl-color-brand-hover-soft);
}

.pdl-data-table__img img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--pdl-color-border-soft);
}

.pdl-data-table__song strong {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

.pdl-data-table__num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pdl-data-table__isrc {
  font-size: 0.8125rem;
  color: var(--pdl-color-muted);
  word-break: break-all;
}

/* Orphan legacy markup safety — hide stray empty cells outside data tables */
td:empty {
  display: none;
}

/* Data tables — keep column alignment when a cell has no value */
.kt-table td:empty,
.table td:empty {
  display: table-cell;
}

.kt-table td:empty::before,
.table td:empty::before {
  content: '\00a0';
}

/* --------------------------------------------------------------------------
   Authenticated content area (all modules under Metronic shell)
   -------------------------------------------------------------------------- */
#content .kt-container-fixed {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#content .row {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

#content [class*="col-"] {
  min-width: 0;
}

#content table {
  max-width: 100%;
}

#content pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: normal;
}

#content .subheader {
  margin-bottom: 1.25rem;
  border-radius: 0.75rem;
  background: var(--pdl-color-white);
  border: 1px solid var(--pdl-color-border-soft);
  box-shadow: 0 1px 3px var(--pdl-shadow-color-xs);
}

#content .subheader .container-fluid,
#content .subheader.bg-success {
  background: var(--pdl-color-white) !important;
  color: var(--pdl-color-text) !important;
  padding: 1rem 1.25rem;
}

#content .subheader h5,
#content .subheader .text-light {
  color: var(--pdl-color-brand-dark) !important;
  font-weight: 700;
}

#content .divclass,
#content .pdl-legacy-panel,
#content .kt-card.pdl-legacy-panel {
  border: 1px solid var(--pdl-color-border-soft);
  border-radius: 0.75rem;
  background: var(--pdl-color-surface);
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 1px 3px var(--pdl-shadow-color-xs);
}

#content .kt-alert {
  margin-bottom: 1rem;
  border-radius: 0.5rem;
}

/* Uniform notice bars — meta listing idle, l1 report, process pages */
.pdl-notice-bar-wrap {
  margin-bottom: 0;
}

.pdl-notice-bar-wrap--inset {
  padding: 1.25rem 1.25rem 0;
}

.pdl-notice-bar-wrap--spaced {
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}

.pdl-notice-bar {
  display: block;
  margin: 0;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}

.pdl-notice-bar--info {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
}

.pdl-notice-bar--error {
  background: var(--pdl-color-danger-soft, #fceeee);
  border: 1px solid var(--pdl-color-danger-border, #f5c7c3);
  color: #991b1b;
}

.pdl-notice-bar--warning {
  background: var(--pdl-color-warning-soft, #fff8ec);
  border: 1px solid var(--pdl-color-warning-border, #f3dfcc);
  color: var(--pdl-color-warning-text, #6b4c2f);
}

/* Prominent “data fetched from …” banner — topsongs and similar reports */
.pdl-report-source-banner {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border-radius: 0.625rem;
  border: 1px solid color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 30%, #93c5fd);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 10%, #eff6ff) 0%,
    #f8fafc 100%
  );
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}


.pdl-report-source-banner__body {
  min-width: 0;
  flex: 1;
}

.pdl-report-source-banner__title {
  display: block;
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.4;
  color: #0f172a;
}

.pdl-report-source-banner__detail {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.45;
  color: #64748b;
}

.pdl-report-source-banner__item {
  display: block;
}

.pdl-report-source-banner__item + .pdl-report-source-banner__item {
  margin-top: 0.35rem;
  padding-top: 0.35rem;
  border-top: 1px dashed color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 18%, #cbd5e1);
}

/* Datatable idle / empty notices — outside kt-card shell */
.pdl-datatable-shell-notices {
  margin-bottom: 1.25rem;
}

.pdl-datatable-shell-notices .pdl-notice-bar-wrap {
  margin-bottom: 0;
}

.pdl-datatable-shell-notices .pdl-notice-bar-wrap + .pdl-notice-bar-wrap {
  margin-top: 0.75rem;
}

.pdl-datatable-shell[hidden] {
  display: none !important;
}

.pdl-search-for-results-notice .kt-alert,
.pdl-notice-bar-wrap .kt-alert {
  margin-bottom: 0;
}

/* Standalone legacy kt-alert banners in content → same bar look */
#content div.kt-alert.kt-alert-info,
#content div.kt-alert.kt-alert-secondary {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
  font-weight: 500;
  padding: 0.75rem 1rem;
  text-align: left;
}

#content div.kt-alert.kt-alert-destructive {
  background: var(--pdl-color-danger-soft, #fceeee);
  border: 1px solid var(--pdl-color-danger-border, #f5c7c3);
  color: #991b1b;
  font-weight: 500;
  padding: 0.75rem 1rem;
  text-align: left;
}

#content .kt-card:not(.pdl-legacy-panel) {
  margin-bottom: 1.25rem;
}

#content .kt-input,
#content select.kt-input,
#content textarea.kt-input {
  min-height: 2.375rem;
}

#content .kt-table.table {
  width: 100%;
  border-collapse: collapse;
}

#content .kt-table.table thead th {
  font-size: var(--pdl-dt-th-font-size);
  font-weight: var(--pdl-dt-th-font-weight);
  color: var(--pdl-dt-th-color);
  background: var(--pdl-dt-th-bg);
  border-bottom: 1px solid var(--pdl-dt-th-border);
  padding: var(--pdl-dt-th-padding-y) var(--pdl-dt-th-padding-x);
}

#content .kt-table.table tbody td {
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--pdl-color-border-soft);
  vertical-align: top;
}

/* Company listing — action icons must stay clickable (Metronic table styles) */
#company_listing .pdl-company-listing-table td a,
#company_listing .table td a {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  cursor: pointer;
  display: inline-block;
  padding: 0.15rem 0.35rem;
  vertical-align: middle;
}

#company_listing .pdl-company-listing-table td a i,
#company_listing .table td a i {
  pointer-events: none;
}

#company_listing .user__changeUser {
  cursor: pointer;
}

#company_listing .user__changeUser i {
  color: var(--pdl-color-text-muted, #64748b);
}

#company_listing .user__changeUser--faded i {
  color: var(--pdl-color-text-muted, #94a3b8);
  opacity: 0.4;
}

.pdl-company-names__name,
.pdl-company-ids__id {
  font-weight: 600;
  line-height: 1.3;
}

.pdl-company-names__parent,
.pdl-company-ids__parent {
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.3;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-company-id-cell {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.pdl-company-level {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.05rem;
  border-radius: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.pdl-company-level--l1 {
  background: var(--pdl-color-brand, #7239b3);
  color: #fff;
}

.pdl-company-level--l2 {
  background: var(--pdl-color-surface-soft, #f1f5f9);
  color: var(--pdl-color-text-muted, #64748b);
  outline: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-company-ids {
  font-variant-numeric: tabular-nums;
}

.pdl-action-strip__count {
  position: absolute;
  top: -0.15rem;
  right: -0.1rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.22rem;
  border-radius: 999px;
  background: var(--pdl-color-text, #1e293b);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1rem;
  text-align: center;
  pointer-events: none;
}

#content .alert:not(.kt-alert) {
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}

#content #showTable table,
#content table.pdl-data-table {
  width: 100%;
}

/* Sign-in (login templates — Metronic only, no pdl-app-compat) */
html:has(body.pdl-sign-in-page) {
  height: 100%;
}

.pdl-sign-in-page {
  font-family: var(--pdl-font);
  color: #fff;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: var(--pdl-vh, 100dvh);
  position: relative;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
}

/* Same hero media treatment as https://pdlindia.org homepage */
.pdl-sign-in-media {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;
  height: var(--pdl-vh, 100dvh);
  z-index: 0;
  background: linear-gradient(135deg, #1a0a2e 0%, #4a1259 45%, #f10065 100%);
}

.pdl-sign-in-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdl-sign-in-media-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(15, 8, 28, 0.55) 0%, rgba(15, 8, 28, 0.72) 55%, rgba(15, 8, 28, 0.88) 100%),
    radial-gradient(ellipse 80% 60% at 50% 20%, rgba(241, 0, 101, 0.18), transparent 70%);
  pointer-events: none;
}

.pdl-sign-in-layout {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: var(--pdl-vh, 100dvh);
  display: flex;
  flex-direction: column;
}

.pdl-sign-in-main {
  flex: 1 1 auto;
  min-height: 0;
}

.pdl-sign-in-brand {
  padding: 2rem 1rem 0.5rem;
}

.pdl-sign-in-logo {
  max-width: 11rem;
  height: auto;
  filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.35));
}

.pdl-sign-in-tagline {
  margin: 0.75rem 0 0;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.88);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

/* Login / recovery — floating alert above sign-in card */
.pdl-sign-in-card-wrap {
  position: relative;
  width: 100%;
}

.pdl-sign-in-card-wrap--narrow {
  max-width: 420px;
}

.pdl-sign-in-card-wrap--portal {
  max-width: 34rem;
}

.pdl-portal-chooser__brand {
  display: flex;
  justify-content: center;
  padding: 1.35rem 1.5rem 0;
}

.pdl-portal-chooser__logo {
  display: block;
  max-width: 8.75rem;
  height: auto;
}

.pdl-portal-chooser__header {
  justify-content: center;
  padding-top: 0.75rem !important;
}

.pdl-portal-chooser__header .pdl-sign-in-card-title {
  text-align: center;
}

.pdl-portal-chooser__body {
  padding-top: 0.25rem !important;
}

.pdl-portal-chooser__signed-in,
.pdl-portal-chooser__subtitle {
  margin: 0 0 1rem;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--pdl-color-muted, #5f6368);
}

.pdl-portal-chooser__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pdl-portal-option {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  width: 100%;
  padding: 0.875rem 1rem;
  border-radius: 0.85rem;
  border: 1px solid #dadce0;
  background: #fff;
  color: #3c4043;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pdl-portal-option:hover {
  background: #f8f9fa;
  border-color: #c6c9ce;
  box-shadow: 0 2px 8px rgba(60, 64, 67, 0.12);
  transform: translateY(-1px);
}

.pdl-portal-option:focus-visible {
  outline: 2px solid var(--pdl-color-brand);
  outline-offset: 2px;
}

.pdl-portal-option--disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.pdl-portal-option__logo-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  background: #0f081c;
  overflow: hidden;
}

.pdl-portal-option__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdl-portal-option__content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.pdl-portal-option__name {
  font-size: 0.9375rem;
  font-weight: 650;
  line-height: 1.25;
  color: #202124;
}

.pdl-portal-option__desc {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.45;
  color: #5f6368;
}

.pdl-portal-option__chevron {
  flex-shrink: 0;
  align-self: center;
  color: #9aa0a6;
  font-size: 0.875rem;
}

.pdl-portal-option__badge {
  flex-shrink: 0;
  align-self: center;
  font-size: 0.75rem;
  color: #5f6368;
  white-space: nowrap;
}

.pdl-sign-in-card--main {
  position: relative;
  width: 100%;
  overflow: visible;
}

.pdl-sign-in-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  position: relative;
}

.pdl-sign-in-help {
  position: relative;
  flex-shrink: 0;
}

.pdl-sign-in-help-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--pdl-color-outline) 28%, var(--pdl-color-border));
  background: var(--pdl-color-surface-soft);
  color: var(--pdl-color-muted);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pdl-sign-in-help-btn:hover,
.pdl-sign-in-help-btn[aria-expanded="true"] {
  background: var(--pdl-color-brand-hover-soft, #f6edf7);
  border-color: color-mix(in srgb, var(--pdl-color-brand) 40%, var(--pdl-color-border));
  color: var(--pdl-color-brand-dark);
}

.pdl-sign-in-help-btn:focus-visible {
  outline: 2px solid var(--pdl-color-brand);
  outline-offset: 2px;
}

.pdl-sign-in-help-btn__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pdl-sign-in-help-panel {
  position: absolute;
  top: 0;
  left: calc(100% + 0.65rem);
  right: auto;
  z-index: 20;
  width: min(18.5rem, calc(100vw - 2.5rem));
  padding: 0.9rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--pdl-color-outline) 22%, var(--pdl-color-border));
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 16px 36px rgba(33, 0, 93, 0.16),
    0 4px 12px rgba(15, 23, 42, 0.08);
}

.pdl-sign-in-help-panel[hidden] {
  display: none !important;
}

.pdl-sign-in-help-panel__title {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--pdl-color-brand-dark);
}

.pdl-sign-in-help-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.pdl-sign-in-help-item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.pdl-sign-in-help-item__label {
  font-size: 0.8125rem;
  font-weight: 650;
  color: color-mix(in srgb, var(--pdl-color-brand-dark) 82%, var(--pdl-color-muted));
  line-height: 1.25;
}

.pdl-sign-in-help-item__text {
  font-size: 0.75rem;
  font-weight: 450;
  line-height: 1.45;
  color: var(--pdl-color-muted);
}

.pdl-sign-in-row-btn {
  box-sizing: border-box;
  min-height: 3.25rem;
  height: 3.25rem;
}

.pdl-sign-in-brand-btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  width: 100%;
  padding: 0 1rem;
  font-size: 0.9375rem;
  font-weight: 550;
  line-height: 1.2;
  border-radius: 0.85rem;
  border: 1px solid #dadce0;
  background: #fff;
  color: #3c4043;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pdl-sign-in-brand-btn:hover {
  background: #f8f9fa;
  border-color: #c6c9ce;
  box-shadow: 0 2px 6px rgba(60, 64, 67, 0.12);
  transform: translateY(-1px);
}

.pdl-sign-in-brand-btn:focus-visible {
  outline: 2px solid var(--pdl-color-brand);
  outline-offset: 2px;
}

.pdl-sign-in-brand-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.pdl-sign-in-brand-btn__icon svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}

.pdl-sign-in-brand-btn__label {
  flex: 1 1 auto;
  text-align: left;
}

.pdl-sign-in-brand-btn--microsoft {
  border-color: #dadce0;
  color: #3c4043;
  font-weight: 550;
}

.pdl-sign-in-brand-btn--microsoft:hover {
  border-color: #c6c9ce;
  background: #f8f9fa;
}

.pdl-sign-in-brand-btn--yahoo {
  border-color: #dadce0;
  color: #3c4043;
}

.pdl-sign-in-brand-btn--yahoo:hover {
  border-color: #c6c9ce;
  background: #f8f9fa;
}

.pdl-sign-in-brand-btn--yahoo .pdl-sign-in-brand-btn__icon {
  color: #6001d2;
  font-size: 1.2rem;
}

.pdl-sign-in-brand-btn--passkey {
  border-color: #dadce0;
  color: #3c4043;
}

.pdl-sign-in-brand-btn--passkey .pdl-sign-in-brand-btn__icon {
  color: #3c4043;
  font-size: 1.15rem;
}

.pdl-sign-in-method {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.pdl-sign-in-method.is-active {
  border: 0;
  box-shadow: none;
}

.pdl-sign-in-method[data-pdl-method-block="phone"].is-active {
  border: 0;
  box-shadow: none;
}

.pdl-sign-in-method .pdl-sign-in-method-btn.pdl-sign-in-row-btn {
  min-height: 3.25rem;
  height: 3.25rem;
  padding: 0 1rem;
  gap: 0.75rem;
  border-radius: 0.85rem;
  border: 1px solid #dadce0;
  background: #fff;
  color: #3c4043;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08);
  font-size: 0.9375rem;
  font-weight: 550;
  line-height: 1.2;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pdl-sign-in-method .pdl-sign-in-method-btn.pdl-sign-in-row-btn:hover {
  background: #f8f9fa;
  border-color: #c6c9ce;
  box-shadow: 0 2px 6px rgba(60, 64, 67, 0.12);
  transform: translateY(-1px);
}

.pdl-sign-in-method.is-active .pdl-sign-in-method-btn.pdl-sign-in-row-btn {
  background: #fff;
  border-color: #dadce0;
}

.pdl-sign-in-method .pdl-sign-in-method-btn.pdl-sign-in-row-btn .pdl-sign-in-method-btn__title {
  font-size: 0.9375rem;
  font-weight: 550;
  color: #3c4043;
  line-height: 1.2;
}

.pdl-sign-in-method .pdl-sign-in-method-btn.pdl-sign-in-row-btn .pdl-sign-in-method-btn__icon {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0;
  background: transparent;
  color: #3c4043;
  font-size: 1.15rem;
}

.pdl-sign-in-method-btn--phone .pdl-sign-in-method-btn__icon,
.pdl-sign-in-method-btn--email .pdl-sign-in-method-btn__icon {
  background: transparent;
  color: #3c4043;
}

.pdl-sign-in-method-btn--phone .pdl-sign-in-method-btn__title {
  font-weight: 550;
  color: #3c4043;
}

.pdl-sign-in-phone-country {
  flex: 0 0 4.75rem;
  width: 4.75rem;
  max-width: 4.75rem;
  padding-left: 0.55rem !important;
  padding-right: 1.5rem !important;
}

@media (max-width: 640px) {
  .pdl-sign-in-help-panel {
    top: calc(100% + 0.5rem);
    left: auto;
    right: 0;
  }
}

.pdl-sign-in-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin: 0 0.75rem 0;
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  box-shadow:
    0 8px 24px rgba(15, 23, 42, 0.16),
    0 2px 6px rgba(15, 23, 42, 0.08);
  position: relative;
  z-index: 2;
}

.pdl-sign-in-card-wrap .pdl-sign-in-alert + .pdl-sign-in-alert {
  margin-top: 0.5rem;
}

.pdl-sign-in-card-wrap .pdl-sign-in-alert:last-of-type {
  margin-bottom: -0.75rem;
}

.pdl-sign-in-alert__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  margin-top: 0.1rem;
  font-size: 1.125rem;
  line-height: 1;
}

.pdl-sign-in-alert__body {
  flex: 1;
  min-width: 0;
  white-space: pre-line;
}

.pdl-sign-in-alert__body a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pdl-sign-in-alert--error {
  background: var(--pdl-color-danger-soft, #fceeee);
  border: 1px solid var(--pdl-color-danger-border, #f5c7c3);
  color: #7f1d1d;
}

.pdl-sign-in-alert--error .pdl-sign-in-alert__icon {
  color: var(--pdl-color-danger, #b3261e);
}

.pdl-sign-in-alert--warning {
  background: var(--pdl-color-warning-soft, #fff8ec);
  border: 1px solid var(--pdl-color-warning-border, #f3dfcc);
  color: var(--pdl-color-warning-text, #6b4c2f);
}

.pdl-sign-in-alert--warning .pdl-sign-in-alert__icon {
  color: var(--pdl-color-warning, #b17a00);
}

.pdl-sign-in-alert--success {
  background: var(--pdl-color-success-soft, #eaf8f1);
  border: 1px solid var(--pdl-color-success-border, #c8ead8);
  color: #166534;
}

.pdl-sign-in-alert--success .pdl-sign-in-alert__icon {
  color: var(--pdl-color-success, #1e8e5a);
}

.pdl-sign-in-alert--info {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
}

.pdl-sign-in-alert--info .pdl-sign-in-alert__icon {
  color: #2563eb;
}

.pdl-sign-in-alert--rich {
  font-size: 0.75rem;
  font-weight: 400;
}

.pdl-sign-in-card--has-alert .kt-card-header {
  padding-top: 1.35rem;
}

.pdl-sign-in-card {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    0 24px 48px rgba(33, 0, 93, 0.22),
    0 8px 16px rgba(241, 0, 101, 0.08);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.pdl-sign-in-card.pdl-sign-in-card--main {
  overflow: visible;
}

.pdl-sign-in-card .kt-card-header,
.pdl-sign-in-card .kt-card-body {
  padding-inline: 1.75rem;
}

.pdl-sign-in-card .kt-card-header {
  padding-top: 1.75rem;
  padding-bottom: 0.5rem;
}

.pdl-sign-in-card .kt-card-body {
  padding-top: 0.75rem;
  padding-bottom: 1.75rem;
}

.pdl-sign-in-card-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--pdl-color-brand-dark);
  letter-spacing: -0.02em;
}

.pdl-sign-in-card-subtitle {
  margin: 0;
  font-size: 0.875rem;
  color: var(--pdl-color-muted);
  line-height: 1.45;
}

.pdl-sign-in-remember {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1rem;
  padding: 0.1rem 0.15rem 0.15rem;
}

.pdl-sign-in-remember .kt-checkbox {
  flex-shrink: 0;
}

.pdl-sign-in-remember label {
  margin: 0;
  user-select: none;
}

.pdl-sign-in-field {
  display: flex;
  align-items: stretch;
  border-radius: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--pdl-color-outline) 22%, var(--pdl-color-border));
  background: var(--pdl-color-white);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(33, 0, 93, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pdl-sign-in-field:hover:not(:focus-within) {
  border-color: color-mix(in srgb, var(--pdl-color-brand) 35%, var(--pdl-color-border));
  box-shadow: 0 1px 3px rgba(33, 0, 93, 0.06);
}

.pdl-sign-in-field:focus-within {
  border-color: var(--pdl-color-brand);
  box-shadow:
    0 0 0 3px var(--pdl-color-brand-overlay-12),
    0 1px 2px rgba(33, 0, 93, 0.06);
}

.pdl-sign-in-field-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  flex-shrink: 0;
  color: var(--pdl-color-brand);
  background: var(--pdl-color-surface-soft);
  border-inline-end: 1px solid var(--pdl-color-border-soft);
  font-size: 0.9rem;
}

.pdl-sign-in-input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-block: 0.65rem;
}

.pdl-sign-in-field-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid var(--pdl-color-border-soft);
  background: var(--pdl-color-surface-soft);
  color: var(--pdl-color-muted);
  font-size: 0.9rem;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
}

.pdl-sign-in-field-toggle:hover {
  color: var(--pdl-color-brand);
  background: var(--pdl-color-brand-hover-soft);
}

.pdl-sign-in-field-toggle:focus-visible {
  outline: 2px solid var(--pdl-color-brand);
  outline-offset: -2px;
}

.pdl-sign-in-field-icon .fas,
.pdl-sign-in-field-toggle .fas {
  display: inline-block;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.pdl-sign-in-captcha {
  display: flex;
  justify-content: center;
}

.pdl-sign-in-providers {
  margin-bottom: 0.25rem;
}

.pdl-sign-in-flow:not(.pdl-sign-in-flow--ready) {
  visibility: hidden;
}

.pdl-sign-in-method {
  border-radius: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--pdl-color-outline) 22%, var(--pdl-color-border));
  background: var(--pdl-color-white);
  box-shadow: 0 1px 2px rgba(33, 0, 93, 0.04);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pdl-sign-in-method.is-active {
  border-color: color-mix(in srgb, var(--pdl-color-brand) 40%, var(--pdl-color-border));
  box-shadow: 0 6px 18px rgba(33, 0, 93, 0.1);
}

.pdl-sign-in-method[data-pdl-method-block="phone"].is-active {
  border-color: color-mix(in srgb, #f10065 45%, var(--pdl-color-border));
  box-shadow: 0 8px 22px rgba(241, 0, 101, 0.14);
}

.pdl-sign-in-method-btn {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  padding: 0.9rem 1rem;
  text-align: left;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pdl-color-brand-dark);
  cursor: pointer;
  transition: background 0.15s ease;
}

.pdl-sign-in-method-btn:hover {
  background: var(--pdl-color-surface-soft);
}

.pdl-sign-in-method.is-active .pdl-sign-in-method-btn {
  background: var(--pdl-color-surface-soft);
}

.pdl-sign-in-method-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 0.65rem;
  background: var(--pdl-color-surface-soft);
  font-size: 1.15rem;
}

.pdl-sign-in-method-btn__text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.pdl-sign-in-method-btn__title {
  font-size: 0.9375rem;
  font-weight: 550;
  line-height: 1.25;
  color: #3c4043;
}

.pdl-sign-in-method-btn__hint {
  font-size: 0.75rem;
  font-weight: 450;
  color: var(--pdl-color-muted);
  line-height: 1.3;
}

.pdl-sign-in-method-btn__chevron {
  color: #3c4043;
  font-size: 0.8rem;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.pdl-sign-in-method.is-active .pdl-sign-in-method-btn__chevron {
  transform: rotate(180deg);
}

.pdl-sign-in-method .pdl-sign-in-method-btn.pdl-sign-in-row-btn .pdl-sign-in-method-btn__icon {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0;
  background: transparent;
  font-size: 1.15rem;
  color: #3c4043;
}

.pdl-sign-in-method-btn--phone .pdl-sign-in-method-btn__icon,
.pdl-sign-in-method-btn--email .pdl-sign-in-method-btn__icon,
.pdl-sign-in-method-btn--google .pdl-sign-in-method-btn__icon {
  background: transparent;
  color: #3c4043;
}

.pdl-sign-in-method-btn--phone .pdl-sign-in-method-btn__title {
  font-weight: 550;
  color: #3c4043;
}

.pdl-sign-in-panel {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--pdl-color-border-soft);
}

.pdl-sign-in-panel[hidden],
.pdl-sign-in-panel.hidden {
  display: none !important;
}

.pdl-sign-in-provider-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.65rem 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  border-radius: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--pdl-color-outline) 22%, var(--pdl-color-border));
  background: var(--pdl-color-white);
  color: var(--pdl-color-brand-dark);
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(33, 0, 93, 0.04);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.pdl-sign-in-provider-btn:hover {
  background: var(--pdl-color-surface-soft);
  border-color: color-mix(in srgb, var(--pdl-color-brand) 35%, var(--pdl-color-border));
  box-shadow: 0 2px 6px rgba(33, 0, 93, 0.08);
  transform: translateY(-1px);
}

.pdl-sign-in-provider-btn i {
  font-size: 1.1rem;
  width: 1.25rem;
  text-align: center;
}

.pdl-sign-in-provider-google i { color: #ea4335; }
.pdl-sign-in-provider-facebook i { color: #1877f2; }
.pdl-sign-in-provider-apple i { color: #1d1d1f; }
.pdl-sign-in-provider-microsoft i { color: #00a4ef; }
.pdl-sign-in-provider-passkey i { color: #0f766e; }
.pdl-sign-in-provider-phone i { color: #059669; }

.pdl-sign-in-phone-panel {
  margin: 0;
  padding: 0.85rem 1rem 1rem;
  border: 0;
  border-top: 1px solid color-mix(in srgb, #f10065 18%, var(--pdl-color-border-soft));
  border-radius: 0;
  background: linear-gradient(180deg, rgba(255, 246, 251, 0.7), rgba(255, 255, 255, 0.4));
  box-shadow: none;
}

.pdl-sign-in-phone-row {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}

.pdl-sign-in-phone-control {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 3rem;
  height: 3rem;
  line-height: 1.25;
  border: 1px solid color-mix(in srgb, var(--pdl-color-outline) 22%, var(--pdl-color-border)) !important;
  border-radius: 0.65rem !important;
  background: var(--pdl-color-white) !important;
  color: var(--pdl-color-brand-dark) !important;
  box-shadow: 0 1px 2px rgba(33, 0, 93, 0.04) !important;
  padding: 0 0.85rem !important;
  font-size: 0.975rem !important;
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
}

select.pdl-sign-in-phone-control {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.4 1.2 6 5.8l4.6-4.6L12 2.6 6 8.6 0 2.6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 0.75rem !important;
  padding-right: 2rem !important;
  cursor: pointer;
}

.pdl-sign-in-phone-control:focus {
  border-color: var(--pdl-color-brand) !important;
  box-shadow:
    0 0 0 3px var(--pdl-color-brand-overlay-12),
    0 1px 2px rgba(33, 0, 93, 0.06) !important;
  outline: none;
}

.pdl-sign-in-phone-country {
  flex: 0 0 4.75rem;
  width: 4.75rem;
  max-width: 4.75rem;
  padding-left: 0.55rem !important;
  padding-right: 1.5rem !important;
}

.pdl-sign-in-phone-number {
  flex: 1 1 auto;
  min-width: 0;
}

.pdl-sign-in-phone-panel .pdl-otp-input {
  letter-spacing: 0.4em;
  font-size: 1.35rem !important;
  text-align: center;
  height: 3.25rem;
  min-height: 3.25rem;
}

#pdl_phone_send.is-waiting,
#pdl_phone_send:disabled {
  opacity: 0.72;
  cursor: not-allowed;
  filter: none;
  transform: none;
  box-shadow: none;
}

.pdl-sign-in-submit {
  padding-block: 0.7rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: none;
  background: linear-gradient(135deg, #f10065 0%, #a9218b 48%, #6750a4 100%) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(241, 0, 101, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.pdl-sign-in-submit:hover {
  filter: brightness(1.06);
  box-shadow: 0 10px 24px rgba(241, 0, 101, 0.42);
  transform: translateY(-1px);
}

.pdl-sign-in-footer {
  padding: 1.25rem 1rem 1.75rem;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.78);
}

.pdl-sign-in-footer a {
  color: #ffb8dc;
  text-decoration: none;
  font-weight: 500;
}

.pdl-sign-in-footer a:hover {
  color: #fff;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .pdl-sign-in-brand {
    flex-shrink: 0;
    padding-top: max(0.75rem, env(safe-area-inset-top, 0px));
    padding-bottom: 0.25rem;
  }

  .pdl-sign-in-logo {
    max-width: 9rem;
  }

  .pdl-sign-in-tagline {
    font-size: 0.9rem;
    margin-top: 0.5rem;
  }

  .pdl-sign-in-main {
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding-top: 0.5rem;
    padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
  }

  .pdl-sign-in-card-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    max-width: none;
  }

  .pdl-sign-in-card {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
  }

  .pdl-sign-in-card .kt-card-header,
  .pdl-sign-in-card .kt-card-body {
    padding-inline: 1.25rem;
  }

  .pdl-sign-in-card .kt-card-header {
    flex-shrink: 0;
    padding-top: 1.25rem;
    padding-bottom: 0.5rem;
  }

  .pdl-sign-in-card .kt-card-body {
    flex: 1 1 auto;
    padding-top: 0.75rem;
    padding-bottom: 1.25rem;
  }

  .pdl-sign-in-footer {
    flex-shrink: 0;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  }
}

/* KTUI modal surfaces */
#AdminModal .kt-modal-content,
#pdlLogoutModal .kt-modal-content {
  background: var(--pdl-color-white);
}

#AdminModal .kt-modal-header,
#AdminModal .kt-modal-footer,
#pdlLogoutModal .kt-modal-header,
#pdlLogoutModal .kt-modal-footer {
  padding: 1rem 1.25rem;
}

#AdminModal .kt-modal-body {
  padding: 1.25rem;
}

/* Shared hide helper (avoid relying on Tailwind .hidden on legacy pages) */
.pdl-is-hidden {
  display: none !important;
}

/* Process royalty / flash report — l1report-style toolbar + card list */
#process_report_toolbar.pdl-trends-toolbar--live {
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

#process_report_toolbar .l1report-toolbar-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

#process_report_toolbar .l1report-toolbar-row--filters {
  overflow-x: auto;
  overflow-y: visible;
  align-items: flex-end;
}

.pdl-report-field--month,
.pdl-report-field--year {
  position: relative;
}

.pdl-report-field--month.is-picker-open,
.pdl-report-field--year.is-picker-open {
  z-index: 60;
}

#process_report_toolbar .l1report-toolbar-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  align-self: flex-end;
}

#process_report_toolbar .l1report-toolbar-actions .kt-btn {
  min-height: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
  white-space: nowrap;
  margin: 0;
  vertical-align: bottom;
}

.pdl-report-extra-toggle {
  gap: 0.5rem;
  padding-left: 0.65rem;
  padding-right: 0.85rem;
  border-color: var(--pdl-color-border-soft, #e2e8f0);
  color: var(--pdl-color-text, #1e293b);
  background: var(--pdl-color-white, #fff);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pdl-report-extra-toggle__box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  border: 1.5px solid var(--pdl-color-border-soft, #cbd5e1);
  border-radius: 0.2rem;
  background: var(--pdl-color-white, #fff);
  transition: background 0.15s ease, border-color 0.15s ease;
}

.pdl-report-extra-toggle__check {
  font-size: 0.625rem;
  line-height: 1;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.12s ease, transform 0.12s ease;
  color: #fff;
}

.pdl-report-extra-toggle__label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
}

.pdl-report-extra-toggle.is-active {
  border-color: var(--pdl-color-brand, #7239b3);
  background: color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 55%, var(--pdl-color-white));
  color: var(--pdl-color-brand-dark, #5b21b6);
}

.pdl-report-extra-toggle.is-active .pdl-report-extra-toggle__box {
  border-color: var(--pdl-color-brand, #7239b3);
  background: var(--pdl-color-brand, #7239b3);
}

.pdl-report-extra-toggle.is-active .pdl-report-extra-toggle__check {
  opacity: 1;
  transform: scale(1);
}

.pdl-report-extra-toggle:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 40%, var(--pdl-color-border-soft));
}

.pdl-report-extra-toggle.is-active:hover:not(:disabled) {
  background: color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 70%, var(--pdl-color-white));
}

.pdl-report-field {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex-shrink: 0;
}

.pdl-report-field__label {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pdl-color-text-muted, #64748b);
  line-height: 1.2;
}

.pdl-report-field--month .pdl-report-picker,
.pdl-report-field--year .pdl-report-picker {
  width: var(--pdl-picker-width-month);
  min-width: var(--pdl-picker-width-month);
}

.pdl-report-field--year .pdl-report-picker {
  width: 6.75rem;
  min-width: 6.75rem;
}

#process_listing_root .pdl-meta-search-toolbar {
  align-items: flex-end;
}

.pdl-report-picker {
  position: relative;
}

.pdl-report-picker-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  min-height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: 0.375rem;
  background: var(--pdl-color-white);
  color: var(--pdl-color-text, #1e293b);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.pdl-report-picker-trigger:hover {
  border-color: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 30%, var(--pdl-color-border-soft));
}

.pdl-report-picker-trigger.is-open,
.pdl-report-picker-trigger:focus-visible {
  outline: none;
  border-color: var(--pdl-color-brand, #7239b3);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pdl-color-brand, #7239b3) 18%, transparent);
}

.pdl-report-picker-trigger__text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}

.pdl-report-picker-trigger__text.is-placeholder {
  color: var(--pdl-color-text-muted, #64748b);
  font-weight: 400;
}

.pdl-report-picker-trigger__icon {
  flex-shrink: 0;
  font-size: 0.65rem;
  line-height: 1;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-report-popover {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 100;
  min-width: 100%;
  padding: 0.5rem;
  border: 1px solid var(--pdl-color-border-soft);
  border-radius: 0.5rem;
  background: var(--pdl-color-white);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.pdl-report-popover.pdl-is-hidden {
  display: none !important;
}

.pdl-report-popover--portal {
  position: fixed;
  z-index: 10050;
}

.pdl-report-popover--open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Inline action confirmation — anchored popover near row action buttons */
.pdl-action-confirm {
  position: fixed;
  z-index: 10050;
  min-width: 11rem;
  max-width: min(18rem, calc(100vw - 1rem));
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: 0.5rem;
  background: var(--pdl-color-white, #fff);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16);
}

.pdl-action-confirm.pdl-is-hidden {
  display: none !important;
}

.pdl-action-confirm--open {
  display: block !important;
}

.pdl-action-confirm__message {
  margin: 0 0 0.6rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pdl-color-text, #0f172a);
}

.pdl-action-confirm__actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 0.4rem;
}

.pdl-action-confirm__actions .kt-btn {
  min-height: 2rem;
  padding-inline: 0.75rem;
}

.pdl-action-confirm-trigger--active {
  outline: 2px solid color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 35%, transparent);
  outline-offset: 2px;
  border-radius: 0.375rem;
}

.pdl-playlist-scan-delete-pop .pdl-action-confirm__actions {
  flex-direction: column;
  align-items: stretch;
}

.pdl-playlist-scan-delete-pop .pdl-action-confirm__actions .kt-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.pdl-report-picker-clear {
  width: 100%;
  margin-top: 0.5rem;
}

/* Dashboard / L1L2 trend chart — inset from card edges */
.pdl-trend-chart-area {
  position: relative;
  padding: 0.5rem 1.25rem 1.25rem;
  box-sizing: border-box;
}

/* Apex title (SVG) — brand violet + bold; also applies on PNG/SVG export */
.pdl-trend-chart-area .apexcharts-title-text {
  font-weight: 700 !important;
  fill: var(--pdl-color-brand-dark, #5b21b6) !important;
}

.pdl-trend-v2-chart-area {
  isolation: isolate;
}

.pdl-trend-chart-area__plot {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

#chart_div_v2 .apexcharts-canvas,
#chart_div_v2 .apexcharts-svg {
  position: relative;
  z-index: 1;
}

.pdl-trend-chart-ma-overlay {
  position: absolute;
  top: 0.5rem;
  left: 1.25rem;
  right: 1.25rem;
  width: auto;
  height: 430px;
  min-height: 430px;
  pointer-events: none;
  z-index: 20;
  overflow: visible;
}

.pdl-trend-chart-ma-overlay:not(.hidden) {
  pointer-events: none;
}

.pdl-trend-chart-ma-overlay .apexcharts-canvas,
.pdl-trend-chart-ma-overlay .apexcharts-svg {
  position: relative;
  z-index: 20;
  background: transparent !important;
  pointer-events: none;
}

.pdl-trend-chart-ma-overlay .apexcharts-inner {
  background: transparent !important;
  pointer-events: none;
}

.pdl-trend-chart-ma-overlay .apexcharts-area-series .apexcharts-area,
.pdl-trend-chart-ma-overlay .apexcharts-area {
  display: none !important;
}

.pdl-trend-chart-ma-overlay .apexcharts-line-series path.apexcharts-line {
  stroke-width: 1.5px !important;
  opacity: 0.62 !important;
  visibility: visible !important;
}

.pdl-trend-chart-ma-overlay .apexcharts-line-series:nth-of-type(1) path.apexcharts-line {
  stroke: #991b1b !important;
}

.pdl-trend-chart-ma-overlay .apexcharts-line-series:nth-of-type(2) path.apexcharts-line {
  stroke: #374151 !important;
}

.pdl-trend-chart-ma-overlay .apexcharts-point-annotations .apexcharts-point-annotation-label {
  opacity: 0.85 !important;
  visibility: visible !important;
  font-size: 9px !important;
}

.pdl-trend-chart-area #chart_div,
.pdl-trend-chart-area #chart_div_v2,
.pdl-trend-chart-area canvas {
  display: block;
  max-width: 100%;
}

.pdl-trend-tip__swatch {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  flex-shrink: 0;
}

.apexcharts-tooltip .pdl-trend-tip__icon--swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.apexcharts-tooltip .pdl-trend-tip__rows--ma {
  gap: 8px;
}

.apexcharts-tooltip .pdl-trend-tip__hr--ma {
  margin-top: 6px;
  margin-bottom: 6px;
}

.apexcharts-tooltip .pdl-trend-tip__ma-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--pdl-color-border, #e5e7eb);
}

.apexcharts-tooltip .pdl-trend-tip__row--ma .pdl-trend-tip__label {
  font-weight: 600;
}


/* Dashboard trend chart — keep Apex line series visible */
.md-chart-area .apexcharts-line-series path.apexcharts-line,
.pdl-trend-chart-area .apexcharts-line-series path.apexcharts-line {
  stroke-width: inherit;
}

.pdl-report-month-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.35rem;
}

.pdl-report-year-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.35rem;
}

.pdl-report-month-btn,
.pdl-report-year-btn {
  min-height: 2rem;
  padding: 0.35rem 0.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid var(--pdl-color-border-soft);
  border-radius: 0.375rem;
  background: var(--pdl-color-white);
  color: var(--pdl-color-text, #1e293b);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pdl-report-month-btn:hover,
.pdl-report-year-btn:hover {
  border-color: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 35%, var(--pdl-color-border-soft));
  background: color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 45%, var(--pdl-color-white));
}

.pdl-report-month-btn.is-selected,
.pdl-report-year-btn.is-selected {
  border-color: var(--pdl-color-brand, #7239b3);
  background: var(--pdl-color-brand, #7239b3);
  color: #fff;
}

.pdl-process-report-views {
  position: relative;
  min-height: 6rem;
}

.pdl-report-card-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pdl-report-row-card > .pdl-report-row-card__inner,
.pdl-report-row-card .kt-card-content.pdl-report-row-card__inner {
  display: grid;
  grid-template-columns: auto 1fr minmax(3.5rem, 0.6fr) minmax(3.5rem, 0.5fr) auto;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.65rem 1rem;
}

.pdl-report-row-card__inner {
  display: grid;
  grid-template-columns: auto 1fr minmax(3.5rem, 0.6fr) minmax(3.5rem, 0.5fr) auto;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.65rem 1rem;
}

.pdl-report-row-card__logo-wrap {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: color-mix(in srgb, var(--pdl-color-brand-soft, #f3e8ff) 40%, var(--pdl-color-white));
}

.pdl-report-row-card__logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.pdl-report-row-card__name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--pdl-color-brand-dark, #7239b3);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pdl-report-row-card__month,
.pdl-report-row-card__year {
  font-size: 0.875rem;
  color: var(--pdl-color-text, #1e293b);
  font-variant-numeric: tabular-nums;
}

.pdl-report-row-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  flex-shrink: 0;
}

.pdl-report-row-card__actions .summary_button {
  background-color: #349b9b;
  border-color: #349b9b;
  color: #fff;
}

.pdl-report-row-card:hover {
  border-color: color-mix(in srgb, var(--pdl-color-brand, #7239b3) 22%, var(--pdl-color-border-soft));
}

@media (max-width: 767px) {
  #process_report_toolbar .l1report-toolbar-row--filters {
    flex-wrap: wrap;
  }

  #process_report_toolbar .l1report-toolbar-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .pdl-report-row-card__inner {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
  }

  .pdl-report-row-card__month {
    grid-column: 2;
  }

  .pdl-report-row-card__year {
    grid-column: 3;
  }

  .pdl-report-row-card__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* AJAX Go button — spinner + "Loading…" while request is in flight */
.kt-btn.is-loading {
  pointer-events: none;
  opacity: 0.72;
}

/* Required fields — red asterisk (legend + per-field marker) */
.pdl-form-required-legend {
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  line-height: 1.35;
  font-weight: 500;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-form-required-legend--start {
  flex: 1 1 100%;
  width: 100%;
  margin-bottom: 0.35rem;
}

.pdl-form-required-legend--below {
  flex: 0 0 auto;
  width: 100%;
  margin: 0.2rem 0 0;
}

.pdl-form-required-legend--above {
  flex: 0 0 auto;
  width: 100%;
  margin: 0 0 0.35rem;
}

.pdl-form-required-legend--before-actions,
.pdl-form-required-legend--end {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

.pdl-meta-search-toolbar--legend-below {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.2rem var(--pdl-filter-field-gap, 0.65rem);
}

.pdl-meta-search-toolbar--legend-below .pdl-meta-search-toolbar__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--pdl-filter-field-gap, 0.65rem);
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.pdl-meta-search-toolbar--legend-below .pdl-meta-search-toolbar__row .pdl-meta-search-actions {
  margin-left: auto;
}

/* Full-width row beneath the filter row: selected-platform chips + field hints. */
.pdl-meta-search-toolbar__belowrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 0.75rem;
  width: 100%;
  margin-top: 0.4rem;
}

.pdl-meta-search-toolbar__belowrow .pdl-field-hint {
  font-size: 0.6875rem;
  line-height: 1.4;
  opacity: 0.7;
}

.pdl-meta-search-toolbar__belowrow .pdl-field-hint--top {
  margin-left: auto;
}

/* Compact numeric input sized for up to 3 digits (e.g. Top # count). */
.pdl-input.pdl-input--num3,
input.pdl-input--num3,
.kt-input.pdl-input--num3 {
  width: 4.75rem;
  min-width: 4.75rem;
  max-width: 4.75rem;
  text-align: center;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

.pdl-form-required-legend__mark {
  color: var(--pdl-color-error, #b3261e);
  font-weight: 700;
}

.pdl-form-field,
.pdl-meta-search-toolbar .pdl-meta-search-field,
.pdl-myp-field {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  min-width: 0;
}

.pdl-myp-field__label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-form-field__label--required::after,
.pdl-myp-field__label--required::after {
  content: " *";
  color: var(--pdl-color-error, #b3261e);
  font-weight: 700;
}

.pdl-form-field__required-mark,
.pdl-meta-search-field > .pdl-form-field__required-mark {
  color: var(--pdl-color-error, #b3261e);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
  flex-shrink: 0;
  user-select: none;
}

.pdl-meta-search-field.pdl-form-field--required:not(:has(label)) > .pdl-form-field__required-mark,
.pdl-form-field.pdl-form-field--required:not(:has(label)) > .pdl-form-field__required-mark,
.pdl-myp-field.pdl-form-field--required:not(:has(.pdl-myp-field__label)) > .pdl-form-field__required-mark {
  display: inline;
}

.pdl-meta-search-field.pdl-form-field--invalid .kt-input,
.pdl-meta-search-field.pdl-form-field--invalid .pdl-myp-trigger,
.pdl-meta-search-field:has(:invalid) .kt-input,
.pdl-myp-field.pdl-form-field--invalid .pdl-myp-trigger,
.pdl-myp-field:has(:invalid) .pdl-myp-trigger,
.pdl-form-field.pdl-form-field--invalid .kt-input,
.pdl-form-field:has(:invalid) .kt-input {
  border-color: var(--pdl-color-error, #b3261e);
}

/* Top Songs report — report type segmented buttons (icon + label) */
#topsongs_toolbar .pdl-segmented-control {
  display: inline-flex;
  border: 1px solid var(--pdl-color-border);
  border-radius: 9999px;
  overflow: hidden;
  background: var(--pdl-color-white);
  padding: 0;
  flex-shrink: 0;
}

#topsongs_toolbar .pdl-segment-btn {
  border: none;
  background: transparent;
  padding: 8px 18px;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--pdl-color-muted);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
  transform: none;
  min-height: 0;
}

#topsongs_toolbar .pdl-segment-btn:not(:last-child) {
  border-right: 1px solid var(--pdl-color-border);
}

#topsongs_toolbar .pdl-segment-btn:hover:not(:disabled):not(.is-disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
}

#topsongs_toolbar .pdl-segment-btn.active {
  background: var(--pdl-color-brand-soft);
  color: var(--pdl-color-brand-dark);
}

#topsongs_toolbar .pdl-segment-btn:disabled,
#topsongs_toolbar .pdl-segment-btn.is-disabled {
  background: var(--pdl-color-border);
  color: var(--pdl-color-muted);
  opacity: 0.65;
  cursor: not-allowed;
  box-shadow: none;
}

#topsongs_toolbar .pdl-segment-btn:disabled:hover,
#topsongs_toolbar .pdl-segment-btn.is-disabled:hover {
  background: var(--pdl-color-border);
  color: var(--pdl-color-muted);
}

#topsongs_toolbar .pdl-segment-btn:disabled.active,
#topsongs_toolbar .pdl-segment-btn.is-disabled.active {
  background: var(--pdl-color-border);
  color: var(--pdl-color-muted);
}

#topsongs_toolbar .pdl-segment-btn--report-type:disabled i,
#topsongs_toolbar .pdl-segment-btn--report-type.is-disabled i,
#topsongs_toolbar .pdl-segment-btn--report-type:disabled.active i,
#topsongs_toolbar .pdl-segment-btn--report-type.is-disabled.active i {
  color: var(--pdl-color-muted);
}

#topsongs_toolbar .pdl-segment-btn--report-type {
  gap: 0.4rem;
  padding: 8px 12px;
  white-space: nowrap;
}

#topsongs_toolbar .pdl-segment-btn--report-type i {
  font-size: 0.9rem;
  color: var(--pdl-color-muted);
  flex-shrink: 0;
  line-height: 1;
}

#topsongs_toolbar .pdl-segment-btn--report-type.active i {
  color: var(--pdl-color-brand-dark);
}

#topsongs_toolbar .pdl-meta-search-field--report-type {
  flex-shrink: 0;
  overflow: visible;
}

/* Song events — catalogue row box + modal editor.
   The card reuses the meta-listing layout (thumb + 3 meta columns via
   .pdl-meta-listing-cols); only the last/stats column differs, holding the
   events box + add/remove/edit actions. */
.pdl-event-tags-card > .kt-card-content {
  padding-inline-end: 0.5rem;
}

.pdl-event-tags-card .pdl-top-songs-store-card__stats {
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0;
  min-width: 0;
  width: calc(13rem + 2rem);
  max-width: calc(13rem + 2rem);
  flex-shrink: 0;
  padding-top: 0;
  align-self: flex-start;
}

.pdl-event-tags-aside {
  display: grid;
  grid-template-columns: 13rem 2rem;
  align-items: start;
  width: 100%;
  min-width: 0;
  column-gap: 0;
}

.pdl-event-tags-aside__events {
  min-width: 0;
}

.pdl-event-tags-aside__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.3rem;
  align-self: stretch;
  justify-self: end;
  padding-top: 0.05rem;
}

.pdl-song-events-box {
  display: flex;
  flex-direction: column;
  width: 13rem;
  min-width: 0;
  max-width: 13rem;
  flex-shrink: 1;
  border: 1px solid var(--pdl-color-border, #e2e8f0);
  border-radius: 0.375rem;
  overflow: hidden;
  background: var(--pdl-color-white, #fff);
}

.pdl-song-events-box--empty .pdl-song-events-box__body {
  min-height: 2rem;
}

.pdl-song-events-box__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.35rem 0.5rem;
  max-height: 6.5rem;
  overflow: hidden;
}

.pdl-song-events-box__item {
  font-size: 0.6875rem;
  line-height: 1.35;
  font-weight: 500;
  color: var(--pdl-color-text, #1d1b20);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pdl-song-events-box__empty {
  font-size: 0.6875rem;
  line-height: 1.35;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-song-events-box__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
  padding: 0.45rem 0.5rem;
  border: none;
  border-top: 1px solid color-mix(in srgb, var(--pdl-color-brand, #6750a4) 80%, #000);
  background: var(--pdl-color-brand, #6750a4);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}

.pdl-song-events-box__footer:hover {
  background: var(--pdl-color-brand-dark, #4f378b);
}

.pdl-song-events-box__footer-count {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pdl-song-events-box__footer-action {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  flex-shrink: 0;
  font-weight: 700;
  white-space: nowrap;
}

.pdl-song-events-box__footer-action i {
  font-size: 0.625rem;
}

.pdl-song-events-modal {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

#AdminModal .kt-modal-header.pdl-admin-modal__header--song-events {
  gap: 0.75rem;
}

#AdminModal .kt-modal-header.pdl-admin-modal__header--song-events .pdl-song-events-modal__done {
  margin-inline-start: auto;
}

.pdl-song-events-modal__intro {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-song-events-modal__song,
.pdl-song-events-modal__album {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--pdl-color-text, #1d1b20);
}

.pdl-song-events-modal__label {
  display: inline-block;
  min-width: 3.25rem;
  margin-right: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-song-events-modal__language {
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-song-events-modal__add-label,
.pdl-song-events-modal__list-title {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pdl-color-text, #1d1b20);
}

.pdl-song-events-modal__picker.pdl-autocomplete-picker.pdl-sign-in-field {
  width: 100%;
  min-width: 0;
  max-width: none;
}

.pdl-song-events-modal__list-wrap {
  display: flex;
  flex-direction: column;
}

.pdl-song-events-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--pdl-color-border, #e2e8f0);
  border-radius: 0.5rem;
  overflow: hidden;
  background: var(--pdl-color-surface, #fff);
}

.pdl-song-events-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--pdl-color-border-soft, #eef2f6);
  transition: opacity 0.22s ease, transform 0.22s ease, background-color 0.22s ease;
}

.pdl-song-events-list__item--removing {
  opacity: 0;
  transform: translateX(0.75rem);
  pointer-events: none;
  background-color: color-mix(in srgb, var(--destructive, #dc2626) 6%, transparent);
}

.pdl-song-events-list__item:last-child {
  border-bottom: none;
}

.pdl-song-events-list__name {
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--pdl-color-text, #1d1b20);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pdl-song-events-list__remove {
  flex-shrink: 0;
}

.pdl-song-events-list__empty {
  padding: 0.875rem 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--pdl-color-text-muted, #64748b);
  text-align: center;
}

/* ── Standard picker entry widths (site-wide) — tokens on :root; overrides: PDL-UI-DESIGN.md ── */
.pdl-myp-wrap:not([data-granularity="date"]):not([data-granularity="year"]):not([data-granularity="month-only"]) {
  width: fit-content;
  min-width: 0;
  max-width: var(--pdl-picker-width-month);
  box-sizing: border-box;
}

.pdl-myp-wrap:not([data-granularity="date"]) .pdl-myp-trigger {
  width: auto;
  min-width: 0;
  box-sizing: border-box;
}

input.kt-input.pdl-date-picker,
.pdl-myp-wrap[data-granularity="date"] {
  width: var(--pdl-picker-width-date);
  min-width: var(--pdl-picker-width-date);
  max-width: var(--pdl-picker-width-date);
  box-sizing: border-box;
}

.pdl-myp-wrap[data-granularity="date"] .pdl-myp-trigger {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

div[data-size]:has(> .pdl-platform-dropdown):not(.is-multi):not(.is-language) {
  width: var(--pdl-picker-width-platform);
  min-width: var(--pdl-picker-width-platform);
  max-width: var(--pdl-picker-width-platform);
  box-sizing: border-box;
}

div[data-size]:has(> .pdl-platform-dropdown).is-multi:not(.is-language) {
  width: var(--pdl-picker-width-platform-multi);
  min-width: var(--pdl-picker-width-platform-multi);
  max-width: var(--pdl-picker-width-platform-multi);
  box-sizing: border-box;
}

div[data-size]:has(> .pdl-platform-dropdown).is-language.is-multi {
  width: var(--pdl-picker-width-language-multi);
  min-width: var(--pdl-picker-width-language-multi);
  max-width: var(--pdl-picker-width-language-multi);
  box-sizing: border-box;
}

div[data-size]:has(> .pdl-platform-dropdown) .pdl-platform-input,
div[data-size]:has(> .pdl-platform-dropdown) input.kt-input.pdl-platform-picker,
div[data-size]:has(> .pdl-platform-dropdown) input.kt-input.pdl-language-picker {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.pdl-autocomplete-picker.pdl-sign-in-field[data-picker-preset="language"],
.pdl-meta-search-field--lang.pdl-meta-search-field--picker .pdl-autocomplete-picker.pdl-sign-in-field {
  width: var(--pdl-picker-width-language);
  min-width: var(--pdl-picker-width-language);
  max-width: var(--pdl-picker-width-language);
  box-sizing: border-box;
}

/* Before platform-picker JS wraps the input */
input.kt-input.pdl-platform-picker:not(.pdl-platform-picker--multi):not(.pdl-language-picker) {
  width: var(--pdl-picker-width-platform);
  min-width: var(--pdl-picker-width-platform);
  max-width: var(--pdl-picker-width-platform);
  box-sizing: border-box;
}

input.kt-input.pdl-platform-picker--multi {
  width: var(--pdl-picker-width-platform-multi);
  min-width: var(--pdl-picker-width-platform-multi);
  max-width: var(--pdl-picker-width-platform-multi);
  box-sizing: border-box;
}

input.kt-input.pdl-language-picker--multi {
  width: var(--pdl-picker-width-language-multi);
  min-width: var(--pdl-picker-width-language-multi);
  max-width: var(--pdl-picker-width-language-multi);
  box-sizing: border-box;
}

/* Process listing — elapsed time appended to session flash after an action completes */
.pdl-action-timing {
  font-size: 0.875em;
  font-weight: 500;
  opacity: 0.9;
  white-space: nowrap;
}

/* Meta listing — CSV download-by-parts dropdown */
.pdl-meta-export-parts {
  position: relative;
  display: inline-flex;
}

.pdl-meta-export-parts__toggle {
  gap: 0.35rem;
}

.pdl-meta-export-parts__label {
  font-size: 0.8125rem;
  font-weight: 500;
}

.pdl-meta-export-parts__menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 40;
  min-width: 14rem;
  max-height: 18rem;
  overflow-y: auto;
  padding: 0.35rem;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 0.5rem;
  background: var(--background, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.pdl-meta-export-parts__item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  padding: 0.45rem 0.65rem;
  border: 0;
  border-radius: 0.375rem;
  background: transparent;
  color: inherit;
  font-size: 0.8125rem;
  text-align: left;
  cursor: pointer;
}

.pdl-meta-export-parts__item:hover,
.pdl-meta-export-parts__item:focus-visible {
  background: var(--muted, #f3f4f6);
  outline: none;
}

.pdl-meta-export-parts__range {
  color: var(--secondary-foreground, #6b7280);
  font-size: 0.75rem;
  white-space: nowrap;
}

.pdl-meta-fast-download {
  gap: 0.35rem;
}

.pdl-meta-fast-download__label {
  font-size: 0.8125rem;
  font-weight: 500;
}

.pdl-meta-snapshot-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.pdl-meta-snapshot-modal[hidden] {
  display: none !important;
}

.pdl-meta-snapshot-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}

.pdl-meta-snapshot-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(26rem, 100%);
  padding: 1.25rem 1.35rem;
  border-radius: 0.75rem;
  border: 1px solid var(--border, #e5e7eb);
  background: var(--background, #fff);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
}

.pdl-meta-snapshot-modal__title {
  margin: 0 0 0.65rem;
  font-size: 1rem;
  font-weight: 600;
}

.pdl-meta-snapshot-modal__message {
  margin: 0 0 1.15rem;
  color: var(--secondary-foreground, #4b5563);
  font-size: 0.9375rem;
  line-height: 1.45;
}

.pdl-meta-snapshot-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

/* Song details view (meta/viewMeta) */
.pdl-view-meta__hero {
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  background:
    linear-gradient(135deg, var(--pdl-color-brand-hover-soft, #fbf7ff) 0%, var(--pdl-color-surface, #fff) 55%),
    var(--pdl-color-surface, #fff);
  overflow: hidden;
}
.pdl-view-meta__hero-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
}
.pdl-view-meta__cover-wrap {
  flex: 0 0 auto;
  width: 11.25rem;
  height: 11.25rem;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid var(--pdl-color-brand-medium, #e1d1f8);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--pdl-color-brand, #6750a4) 18%, transparent);
  background: var(--pdl-color-surface-container, #f3edf7);
}
.pdl-view-meta__cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pdl-view-meta__cover-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--pdl-color-brand, #6750a4);
  font-size: 2.5rem;
  background: var(--pdl-color-brand-soft, #eaddff);
}
.pdl-view-meta__hero-main {
  flex: 1 1 16rem;
  min-width: 0;
}
.pdl-view-meta__hero-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.pdl-view-meta__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pdl-color-brand, #6750a4);
}
.pdl-view-meta__title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--pdl-color-text, #1d1b20);
}
.pdl-view-meta__meta-line {
  margin: 0.4rem 0 0;
  font-size: 0.975rem;
  font-weight: 600;
  color: var(--pdl-color-text, #1d1b20);
  line-height: 1.4;
}
.pdl-view-meta__meta-line--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  color: var(--pdl-color-brand-dark, #21005d);
}
.pdl-view-meta__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.pdl-view-meta__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--pdl-color-selection-text, #7239b3);
  background: var(--pdl-color-selection-bg, #f3e8ff);
  border: 1px solid var(--pdl-color-brand-medium, #e1d1f8);
}
.pdl-view-meta__chip--soft {
  color: var(--pdl-color-muted, #49454f);
  background: var(--pdl-color-surface-soft, #f7f2fa);
  border-color: var(--pdl-color-border-soft, #e2e8f0);
}
.pdl-view-meta__fields {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pdl-view-meta__field {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
  gap: 0.75rem 1.5rem;
  align-items: start;
  padding: 1rem 0;
  border-bottom: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}
.pdl-view-meta__field:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.pdl-view-meta__field:first-child {
  padding-top: 0;
}
.pdl-view-meta__label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pdl-color-brand, #6750a4);
  line-height: 1.4;
  padding-top: 0.15rem;
}
.pdl-view-meta__value {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--pdl-color-text, #1d1b20);
  line-height: 1.45;
  word-break: break-word;
}
.pdl-view-meta__value--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.975rem;
  letter-spacing: 0.02em;
}
.pdl-view-meta__empty {
  color: var(--pdl-color-chip-text, #6b7280);
  font-weight: 500;
}
.pdl-view-meta__artist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.pdl-view-meta__artist-card {
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
  border-radius: 0.75rem;
  background: var(--pdl-color-surface-subtle, #fbfafc);
  padding: 1rem 1.1rem 1.15rem;
  min-height: 8rem;
}
.pdl-view-meta__artist-card-head {
  margin: 0 0 0.85rem;
  padding-bottom: 0.55rem;
  border-bottom: 2px solid var(--pdl-color-brand-soft, #eaddff);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pdl-color-brand, #6750a4);
}
.pdl-view-meta__artist-list {
  margin: 0;
  padding: 0 0 0 1.15rem;
  list-style: decimal;
}
.pdl-view-meta__artist-list li {
  margin: 0 0 0.55rem;
  padding: 0;
  font-size: 0.975rem;
  font-weight: 600;
  color: var(--pdl-color-text, #1d1b20);
  line-height: 1.4;
}
.pdl-view-meta__artist-list li:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .pdl-view-meta__field {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .pdl-view-meta__artist-grid {
    grid-template-columns: 1fr;
  }
  .pdl-view-meta__cover-wrap {
    width: 8.5rem;
    height: 8.5rem;
  }
  .pdl-view-meta__title {
    font-size: 1.25rem;
  }
}

/* Secondary/legacy toolbar actions kept visible but de-emphasized (e.g. admin Go / Q). */
.pdl-btn-faded {
  opacity: 0.42;
  transition: opacity 0.2s ease;
}
.pdl-btn-faded:hover,
.pdl-btn-faded:focus-visible {
  opacity: 0.9;
}

/* Multi-ISRC / customsong: start + end month pickers on one row inside a period card. */
.pdl-period-range-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
}
.pdl-period-range-row__label {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pdl-color-text-muted, #64748b);
  white-space: nowrap;
}
.pdl-period-range-row .pdl-month-year-picker,
.pdl-period-range-row .kt-input {
  width: var(--pdl-picker-width-month, 8.5rem);
  max-width: 100%;
  flex: 0 1 auto;
}

/* Label / DSP Historical Reports — report/dsp_l1_month */
#dsp-l1-month-page {
  --pdl-dsp-l1-control-h: 2.5rem;
  --pdl-dsp-l1-radius: var(--pdl-radius-chip, 8px);
  --pdl-dsp-l1-left-col: 13.5rem;
  --pdl-dsp-l1-range-gap: 0.2rem;
}

#dsp-l1-month-page .dsp-l1-month-toolbar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#dsp-l1-month-page .dsp-l1-month-layout {
  display: grid;
  grid-template-columns: var(--pdl-dsp-l1-left-col) max-content minmax(12rem, 1fr);
  gap: 0.75rem 1.5rem;
  align-items: start;
}

#dsp-l1-month-page .dsp-l1-month-layout__left {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#dsp-l1-month-page .dsp-l1-month-layout__controls {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: max-content;
  max-width: 100%;
}

#dsp-l1-month-page .dsp-l1-month-layout__presets {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
}

#dsp-l1-month-page .dsp-l1-month-companion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#dsp-l1-month-page .dsp-l1-month-companion__ranges {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 0.75rem;
}

#dsp-l1-month-page .dsp-l1-month-actions-card {
  flex: 0 0 auto;
  width: 100%;
  background: var(--pdl-color-surface, #fff);
  border-radius: var(--pdl-dsp-l1-radius);
  box-shadow: none;
}

#dsp-l1-month-page .dsp-l1-month-actions-card__body {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 1rem;
}

#dsp-l1-month-page .dsp-l1-month-actions.l1report-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
}

#dsp-l1-month-page .dsp-l1-month-actions .kt-btn {
  min-width: 6.75rem;
}

#dsp-l1-month-page .dsp-l1-month-presets {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

#dsp-l1-month-page .dsp-l1-month-preset-btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5625rem 0.875rem;
  border: 1px solid var(--pdl-color-border);
  border-radius: var(--pdl-dsp-l1-radius);
  background: var(--pdl-color-white);
  color: var(--pdl-color-text, #1e293b);
  font-family: var(--pdl-font);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#dsp-l1-month-page .dsp-l1-month-preset-btn:hover:not(.active):not(:disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
}

#dsp-l1-month-page .dsp-l1-month-preset-btn.active {
  background: var(--pdl-color-brand);
  color: #fff;
  border-color: var(--pdl-color-brand);
}

#dsp-l1-month-page .dsp-l1-month-preset-btn:focus-visible {
  outline: 2px solid var(--pdl-color-brand);
  outline-offset: -2px;
  z-index: 1;
}

#dsp-l1-month-page .dsp-l1-month-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 2rem;
}

#dsp-l1-month-page .dsp-l1-month-row__left {
  flex: 0 0 var(--pdl-dsp-l1-left-col);
  min-width: min(100%, var(--pdl-dsp-l1-left-col));
  max-width: 100%;
}

#dsp-l1-month-page .dsp-l1-month-row__right {
  flex: 1 1 16rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem 1.25rem;
  min-width: min(100%, 20rem);
}

#dsp-l1-month-page .dsp-l1-month-row__right--ranges {
  align-items: flex-end;
}

#dsp-l1-month-page .dsp-l1-month-field {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

#dsp-l1-month-page .dsp-l1-month-field__label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--pdl-color-text-muted, #64748b);
  line-height: 1.2;
}

#dsp-l1-month-page .dsp-l1-month-segmented.pdl-segmented-control {
  display: inline-flex;
  width: 100%;
  border: 1px solid var(--pdl-color-border);
  border-radius: var(--pdl-dsp-l1-radius);
  overflow: hidden;
  background: var(--pdl-color-white);
  min-height: var(--pdl-dsp-l1-control-h);
  height: var(--pdl-dsp-l1-control-h);
}

#dsp-l1-month-page .dsp-l1-month-segmented .pdl-segment-btn {
  border: none;
  background: transparent;
  flex: 1 1 50%;
  padding: 0 0.75rem;
  font-family: var(--pdl-font);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.25;
  color: var(--pdl-color-muted);
  cursor: pointer;
  min-height: var(--pdl-dsp-l1-control-h);
  white-space: nowrap;
}

#dsp-l1-month-page .dsp-l1-month-segmented .pdl-segment-btn:not(:last-child) {
  border-right: 1px solid var(--pdl-color-border);
}

#dsp-l1-month-page .dsp-l1-month-segmented .pdl-segment-btn:hover:not(:disabled) {
  background: var(--pdl-color-brand-hover-soft);
  color: var(--pdl-color-brand-dark);
}

#dsp-l1-month-page .dsp-l1-month-segmented .pdl-segment-btn.active {
  background: var(--pdl-color-brand);
  color: #fff;
}

#dsp-l1-month-page .dsp-l1-month-field.is-period-inactive,
#dsp-l1-month-page .dsp-l1-month-field.is-scope-inactive {
  opacity: 0.38;
  filter: grayscale(0.2);
  pointer-events: none;
  user-select: none;
}

#dsp-l1-month-page .dsp-l1-month-field.is-period-inactive .pdl-myp-trigger,
#dsp-l1-month-page .dsp-l1-month-field.is-period-inactive .kt-input,
#dsp-l1-month-page .dsp-l1-month-field.is-scope-inactive .pdl-platform-picker,
#dsp-l1-month-page .dsp-l1-month-field.is-scope-inactive .kt-input {
  background: var(--pdl-color-muted-bg, #f1f5f9);
  border-color: var(--pdl-color-border);
  color: var(--pdl-color-text-muted, #94a3b8);
  cursor: not-allowed;
  box-shadow: none;
}

#dsp-l1-month-page .dsp-l1-month-range-inputs {
  display: inline-flex;
  align-items: center;
  gap: var(--pdl-dsp-l1-range-gap);
  flex-wrap: nowrap;
}

#dsp-l1-month-page .dsp-l1-month-range-sep {
  color: var(--pdl-color-text-muted, #64748b);
  font-size: 0.8125rem;
  line-height: 1;
  user-select: none;
  padding: 0;
  flex: 0 0 auto;
}

#dsp-l1-month-page .dsp-l1-month-range-inputs .pdl-myp-wrap:not([data-granularity="year"]) {
  width: var(--pdl-picker-width-month, 8.5rem);
}

#dsp-l1-month-page .dsp-l1-month-range-inputs .pdl-year-picker-wrap {
  width: var(--pdl-picker-width-year, 6.5rem);
}

#dsp-l1-month-page .dsp-l1-month-platform-field {
  width: 100%;
  min-width: 0;
}

#dsp-l1-month-page .dsp-l1-month-platform-field .pdl-platform-picker {
  width: 100%;
  max-width: 100%;
  min-height: var(--pdl-dsp-l1-control-h);
}

#dsp-l1-month-page .dsp-l1-month-toolbar__below {
  margin-top: -0.25rem;
}

#dsp-l1-month-page .dsp-l1-month-range-inputs .pdl-myp-wrap:not([data-granularity="year"]),
#dsp-l1-month-page .dsp-l1-month-range-inputs .pdl-year-picker-wrap {
  max-width: 100%;
  min-height: var(--pdl-dsp-l1-control-h);
}

#dsp-l1-month-page .dsp-l1-month-summary {
  padding-top: 0.25rem;
  border-top: 1px solid var(--pdl-color-border);
}

@media (max-width: 767px) {
  #dsp-l1-month-page {
    --pdl-dsp-l1-left-col: 100%;
  }

  #dsp-l1-month-page .dsp-l1-month-layout {
    grid-template-columns: 1fr;
  }

  #dsp-l1-month-page .dsp-l1-month-layout__controls {
    width: 100%;
  }

  #dsp-l1-month-page .dsp-l1-month-companion__ranges {
    flex-wrap: wrap;
  }

  #dsp-l1-month-page .dsp-l1-month-segmented .pdl-segment-btn {
    padding: 0 0.5rem;
    font-size: 0.75rem;
  }
}

/* Config Settings (`setting/listing`) */
.kt-wrapper:has(#pdl-config-settings) .pdl-page-header-bar {
  position: sticky;
  top: 0;
  z-index: 26;
  background: color-mix(in srgb, var(--pdl-color-surface, #fff) 94%, transparent);
  backdrop-filter: blur(8px);
  padding-top: 0.65rem;
  margin-bottom: 0.35rem;
}

#pdl-config-settings {
  --pdl-config-control-h: var(--pdl-filter-control-height, 2.5rem);
}

.pdl-config-toolbar {
  position: sticky;
  top: var(--pdl-config-header-h, 3.6rem);
  z-index: 25;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0 -0.25rem 1.25rem;
  padding: 0.65rem 0.25rem 0.75rem;
  background: color-mix(in srgb, var(--pdl-color-surface, #fff) 92%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-config-toolbar__search {
  position: relative;
  flex: 1 1 16rem;
  min-width: 12rem;
  max-width: 28rem;
}

.pdl-config-toolbar__search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--pdl-color-muted, #64748b);
  pointer-events: none;
  font-size: 0.95rem;
}

.pdl-config-toolbar__search .kt-input {
  width: 100%;
  min-height: var(--pdl-config-control-h);
  padding-left: 2.25rem;
}

.pdl-config-toolbar__meta {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--pdl-color-muted, #64748b);
  white-space: nowrap;
}

.pdl-config-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
}

.pdl-config-toolbar__actions .kt-btn {
  min-height: var(--pdl-config-control-h);
}

.pdl-config-update-btn {
  min-height: var(--pdl-filter-control-height, 2.5rem);
}

.pdl-config-update-btn:disabled {
  opacity: 0.55;
}

.pdl-config-section {
  overflow: hidden;
}

.pdl-config-section.is-filtered-out,
.pdl-config-row.is-filtered-out {
  display: none;
}

.pdl-config-section__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 0.85rem;
  background: var(--pdl-color-surface, #fff);
}

.pdl-config-section__toggle {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0.85rem 0.5rem 0.85rem 1.25rem;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.pdl-config-section__toggle:hover {
  background: var(--pdl-color-surface-muted, #f8fafc);
}

.pdl-config-section__add {
  flex-shrink: 0;
}

.pdl-config-section__title {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--pdl-color-text, #0f172a);
}

.pdl-config-section__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.35rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--pdl-color-muted, #64748b);
  background: var(--pdl-color-surface-muted, #f1f5f9);
}

.pdl-config-section__dirty {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--pdl-color-brand-dark, #5b21b6);
  background: color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 12%, #fff);
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
}

.pdl-config-section__chevron {
  margin-left: auto;
  color: var(--pdl-color-muted, #64748b);
  transition: transform 0.18s ease;
}

.pdl-config-section.is-open .pdl-config-section__chevron {
  transform: rotate(180deg);
}

.pdl-config-section__body {
  display: none;
  border-top: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-config-section.is-open .pdl-config-section__body {
  display: block;
}

.pdl-config-row {
  display: grid;
  grid-template-columns: auto minmax(12rem, 18rem) minmax(0, 1fr);
  gap: 1rem 1.5rem;
  align-items: start;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-config-row:last-child {
  border-bottom: 0;
}

.pdl-config-row.is-dirty {
  background: color-mix(in srgb, var(--pdl-color-brand, #7c3aed) 6%, #fff);
  box-shadow: inset 3px 0 0 var(--pdl-color-brand, #7c3aed);
}

.pdl-config-row__pick {
  display: flex;
  align-items: flex-start;
  padding-top: 0.35rem;
  margin: 0;
}

.pdl-config-row__label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pdl-color-text, #0f172a);
}

.pdl-config-row__edit {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  font-weight: 600;
  color: var(--pdl-color-brand-dark, #5b21b6);
  cursor: pointer;
  text-align: left;
}

.pdl-config-row__edit:hover {
  text-decoration: underline;
}

.pdl-config-comment {
  margin-top: 0.45rem;
  font-size: 0.8125rem;
  min-height: 3.25rem;
}

.pdl-config-row__hint {
  margin: 0.35rem 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--pdl-color-muted, #64748b);
}

.pdl-config-row__control .kt-input {
  width: 100%;
  max-width: 36rem;
  min-height: var(--pdl-config-control-h);
}

.pdl-config-row__control textarea.kt-input {
  min-height: 4.5rem;
}

.pdl-config-choice {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0;
  border: 1px solid var(--pdl-color-border, #e2e8f0);
  border-radius: 8px;
  overflow: hidden;
  background: var(--pdl-color-surface, #fff);
}

.pdl-config-choice__opt {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0.45rem 0.85rem;
  min-height: var(--pdl-config-control-h);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pdl-color-muted, #64748b);
  cursor: pointer;
  border-right: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-config-choice__opt:last-child {
  border-right: 0;
}

.pdl-config-choice__opt input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pdl-config-choice__opt:hover {
  background: var(--pdl-color-brand-hover-soft, rgba(124, 58, 237, 0.06));
  color: var(--pdl-color-brand-dark, #5b21b6);
}

.pdl-config-choice__opt.is-active {
  background: var(--pdl-color-brand-soft, rgba(124, 58, 237, 0.12));
  color: var(--pdl-color-brand-dark, #5b21b6);
  font-weight: 600;
}

.pdl-config-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.pdl-config-check {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.8125rem;
}

.pdl-config-confirm-key {
  font-weight: 600;
}

.pdl-config-confirm-section {
  font-size: 0.75rem;
  color: var(--pdl-color-muted, #64748b);
}

#pdlConfigConfirmBody td {
  word-break: break-word;
  vertical-align: top;
}

#pdl-config-flash {
  margin-bottom: 1rem;
}

#pdlConfigConfirmModal .kt-modal-content {
  max-width: 40rem;
}

@media (max-width: 767px) {
  .pdl-config-toolbar {
    flex-wrap: wrap;
  }

  .pdl-config-toolbar__search {
    flex: 1 1 100%;
    max-width: none;
  }

  .pdl-config-toolbar__meta {
    width: 100%;
  }

  .pdl-config-toolbar__actions {
    width: 100%;
    margin-left: 0;
  }

  .pdl-config-toolbar__actions .kt-btn {
    flex: 1 1 auto;
  }

  .pdl-config-row {
    grid-template-columns: auto 1fr;
    gap: 0.5rem 0.75rem;
  }

  .pdl-config-row__control {
    grid-column: 2;
  }
}

/* Developer → Tools and Utilities listing */
#pdl-toolsandutilities-page {
  min-height: calc(100vh - 8.5rem);
  display: flex;
  flex-direction: column;
}

#pdl-toolsandutilities-page > .kt-card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* Beat .table-responsive { max-height: 500px } in pdl-app-compat.css */
#pdl-toolsandutilities-page .pdl-toolsandutilities-table-wrap.table-responsive {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
}

#pdl-toolsandutilities-page .pdl-toolsandutilities-table th,
#pdl-toolsandutilities-page .pdl-toolsandutilities-table td {
  padding: 0.4rem 0.65rem;
  vertical-align: middle;
  white-space: nowrap;
}

#pdl-toolsandutilities-page .pdl-toolsandutilities-desc {
  max-width: 1px;
  width: 99%;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* YouTube claims listing */
.pdl-ytc-status-cell {
  min-width: 10.5rem;
  vertical-align: top;
}

.pdl-ytc-status-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.pdl-ytc-status {
  width: auto;
  min-width: 7.5rem;
  max-width: 9.5rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0 0.45rem;
  font-size: 0.8125rem;
}

.pdl-ytc-status-text {
  font-size: 0.8125rem;
}

.pdl-ytc-activity {
  flex: 0 0 auto;
}

.pdl-ytc-status-error {
  margin-top: 0.25rem;
  max-width: 14rem;
  white-space: normal;
}

.pdl-ytc-copy-line {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  white-space: nowrap;
}

.pdl-ytc-copy-line .font-mono {
  min-width: 0;
}

.pdl-ytc-ids-cell,
.pdl-ytc-isrc-cell,
.pdl-ytc-dates-cell {
  vertical-align: top;
}

/* YT Claims Summary */
.pdl-ytcs-table th,
.pdl-ytcs-table td {
  white-space: nowrap;
}

.pdl-ytcs-table .pdl-ytcs-name {
  white-space: normal;
  min-width: 12rem;
}

.pdl-ytcs-table .pdl-ytcs-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.pdl-ytcs-table .pdl-ytcs-zero {
  color: var(--muted-foreground, #78829d);
}

.pdl-ytcs-table tfoot td,
.pdl-ytcs-table .pdl-ytcs-total {
  font-weight: 600;
}

.pdl-playlist-scan-header__actions {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--pdl-filter-actions-gap, 8px);
}

#pdl-playlist-scan-search .pdl-meta-search-field--wide .kt-input {
  width: 16rem;
  min-width: 16rem;
}

.pdl-playlist-scan-cover {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.35rem;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-playlist-scan-listing th,
.pdl-playlist-scan-listing td {
  vertical-align: top;
}

.pdl-playlist-scan-listing td:last-child {
  vertical-align: middle;
}

.pdl-playlist-scan-listing thead th {
  vertical-align: top;
  white-space: nowrap;
}

.pdl-playlist-scan-listing__cover {
  width: 60px;
  min-width: 60px;
  max-width: 60px;
  padding-right: 0.5rem;
  box-sizing: content-box;
}

.pdl-playlist-scan-listing .pdl-playlist-scan-cover {
  width: 60px;
  height: 60px;
  min-width: 60px;
  min-height: 60px;
  max-width: 60px;
  max-height: 60px;
  border-radius: 0;
  display: block;
  object-fit: cover;
  flex-shrink: 0;
}

.pdl-playlist-scan-cover--empty {
  display: block;
}

.pdl-playlist-scan-listing__stack {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.pdl-playlist-scan-listing__stack > :first-child {
  line-height: 1.25rem;
  min-height: 1.25rem;
}

.pdl-playlist-scan-listing__sub {
  color: var(--pdl-color-text-muted, var(--pdl-color-secondary-foreground, #64748b));
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.3;
  min-height: 1.05rem;
}

.pdl-playlist-scan-listing__meta {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 0.55rem;
  row-gap: 0.05rem;
  align-items: baseline;
}

.pdl-playlist-scan-listing__meta-label {
  white-space: nowrap;
}

.pdl-playlist-scan-listing__meta-value {
  min-width: 0;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.pdl-playlist-scan-listing__meta-value--stale {
  color: var(--pdl-color-danger, #b3261e);
}

.pdl-playlist-scan-listing__counts {
  width: 1%;
  white-space: nowrap;
  vertical-align: top;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.pdl-playlist-scan-listing__count-grid {
  display: grid;
  grid-template-columns: max-content minmax(1.5rem, auto);
  grid-auto-rows: 1.5rem;
  column-gap: 0.45rem;
  align-items: center;
  justify-content: start;
}

.pdl-playlist-scan-listing__count-grid .pdl-playlist-scan-stage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-width: max-content;
  height: auto;
  min-height: 1.25rem;
  max-height: none;
  margin: 0;
  padding: 0.2rem 0.5rem;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: visible;
  text-transform: none;
  letter-spacing: 0.02em;
}

.pdl-playlist-scan-listing__count {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 1.5rem;
  min-height: 1.5rem;
  font-size: 0.8125rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.pdl-playlist-scan-stages {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.2rem;
}

.pdl-playlist-scan-stage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  padding: 0.12rem 0.35rem;
  border-radius: 0.25rem;
  border: 1px solid var(--pdl-color-border, #e2e8f0);
  color: var(--pdl-color-text-muted, #64748b);
  background: transparent;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  opacity: 0.4;
}

.pdl-playlist-scan-stage--running {
  opacity: 1;
  color: var(--pdl-color-warning-text, #6b4c2f);
  border-color: var(--pdl-color-warning-border, #f3dfcc);
  background: var(--pdl-color-warning-soft, #fff8ec);
  animation: pdl-playlist-scan-stage-pulse 1.1s ease-in-out infinite;
}

.pdl-playlist-scan-stage--done {
  opacity: 1;
  color: var(--pdl-color-brand, #6750a4);
  border-color: var(--pdl-color-brand, #6750a4);
  background: var(--pdl-color-brand-soft, #ede9fe);
}

@keyframes pdl-playlist-scan-stage-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.55; }
}

.pdl-playlist-scan-count--running {
  color: var(--pdl-color-warning-text, #6b4c2f);
  animation: pdl-playlist-scan-stage-pulse 1.1s ease-in-out infinite;
}

.pdl-playlist-scan-sources-btn--running {
  animation: pdl-playlist-scan-stage-pulse 1.1s ease-in-out infinite;
}

.pdl-playlist-scan-sources-btn--running i {
  color: var(--pdl-color-warning-text, #6b4c2f);
}

.pdl-playlist-scan-listing__title-cell {
  width: 42%;
  min-width: 14rem;
  padding-left: 1.5rem;
  text-align: left;
}

.pdl-playlist-scan-listing__title {
  display: flex;
  align-items: center;
  min-width: 0;
}

.pdl-playlist-scan-listing__flags {
  width: 1.5rem;
  min-width: 1.5rem;
  max-width: 1.75rem;
  padding-left: 0.2rem;
  padding-right: 0.2rem;
  text-align: center;
}

.pdl-playlist-scan-listing__flags .pdl-playlist-scan-listing__stack {
  align-items: center;
}

.pdl-playlist-scan-listing__flag {
  min-height: 1.25rem;
}

.pdl-playlist-scan-listing__master {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--pdl-color-text);
}

.pdl-playlist-scan-listing__spotify {
  font-size: 0.95rem;
  line-height: 1;
}

.pdl-playlist-scan-listing__spotify--on {
  color: #1db954;
}

.pdl-playlist-scan-listing__spotify--off,
.pdl-playlist-scan-listing__spotify--head {
  color: var(--pdl-color-text-muted, #94a3b8);
  opacity: 0.28;
}

.pdl-playlist-scan-listing__name {
  font-weight: 500;
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  white-space: normal;
}

.pdl-playlist-scan-listing__actions {
  width: 1%;
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
}

.pdl-playlist-scan-listing__actions .pdl-action-strip {
  justify-content: flex-end;
}

.pdl-playlist-scan-cover--form {
  width: 3.5rem;
  height: 3.5rem;
}

.pdl-playlist-scan-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  max-width: 100%;
}

.pdl-playlist-scan-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.pdl-playlist-scan-sl-cell {
  width: 1%;
  white-space: nowrap;
}

.pdl-playlist-scan-sl {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.pdl-playlist-scan-sl__n {
  font-variant-numeric: tabular-nums;
}

.pdl-playlist-scan-dot {
  flex: 0 0 auto;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 9999px;
  background-color: var(--pdl-color-brand, #6750a4);
}

.pdl-playlist-scan-dot--empty {
  visibility: hidden;
}

.pdl-playlist-scan-l1 {
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.3;
  margin-top: 0.15rem;
}

.pdl-playlist-scan-screenshot {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: top left;
  border-radius: 0.5rem;
  border: 1px solid var(--pdl-color-border-soft, #e2e8f0);
}

.pdl-playlist-scan-match {
  background-color: rgba(220, 80, 80, 0.16);
  padding: 0.05rem 0.28rem;
  border-radius: 0.2rem;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.pdl-playlist-scan-match-legend .pdl-playlist-scan-match {
  margin-right: 0.15rem;
}

.pdl-playlist-scan-notify__l1 {
  margin-bottom: 0.65rem;
}

.pdl-playlist-scan-notify__l1-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.5rem;
  padding: 0.2rem 0.35rem 0.2rem 0.15rem;
  border: 1px solid var(--pdl-color-border, #e2e8f0);
  border-radius: var(--pdl-radius-chip, 8px);
  background: var(--pdl-color-surface, #fff);
}

.pdl-playlist-scan-notify__l1-head:hover {
  background: var(--pdl-color-surface-muted, #f8fafc);
}

.pdl-playlist-scan-notify__l1-pick {
  flex-shrink: 0;
  padding-left: 0.35rem;
}

.pdl-playlist-scan-notify__toggle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.85rem;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0.35rem 0.5rem 0.35rem 0.15rem;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.pdl-playlist-scan-notify__l1-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-playlist-scan-notify__counts {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.2rem 0.35rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-playlist-scan-notify__email {
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-playlist-scan-notify__chevron {
  margin-left: auto;
  color: var(--pdl-color-text-muted, #64748b);
  transition: transform 0.18s ease;
}

.pdl-playlist-scan-notify__l1.is-open .pdl-playlist-scan-notify__chevron {
  transform: rotate(180deg);
}

.pdl-playlist-scan-notify__l1-body {
  padding: 0.35rem 0 0.75rem 2.75rem;
}

.pdl-playlist-scan-notify__check {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  cursor: pointer;
}

.pdl-playlist-scan-notify__pick {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}

.pdl-playlist-scan-notify__banner {
  display: block;
  margin: 0;
  padding: 1rem 1.25rem;
  border-radius: 0.625rem;
  border: 1px solid var(--pdl-color-warning-border, #f3dfcc);
  background: var(--pdl-color-warning-soft, #fff8ec);
  color: var(--pdl-color-warning-text, #6b4c2f);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.pdl-playlist-scan-notify__banner-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-playlist-scan-notify__banner-body {
  margin: 0.4rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}

.pdl-playlist-scan-notify__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.25rem;
  margin-bottom: 0.85rem;
}

.pdl-playlist-scan-notify__bar .l1report-toolbar-actions,
.pdl-playlist-scan-notify__chips,
.pdl-playlist-scan-notify__times {
  flex-shrink: 0;
}

.pdl-playlist-scan-notify .pdl-playlist-scan-stages,
.pdl-playlist-scan-notify__chips {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.65rem 0.85rem;
  margin-top: 0;
}

.pdl-playlist-scan-notify__chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  min-width: 2.5rem;
}

.pdl-playlist-scan-notify__chip-count {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.05rem;
  font-size: 0.8125rem;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-playlist-scan-notify__times {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.3;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-playlist-scan-notify__warn {
  color: var(--pdl-color-text, #1e293b);
  font-size: 0.9375rem;
  line-height: 1.45;
}

.pdl-playlist-scan-notify__board {
  margin: 0;
  overflow: hidden;
}

.pdl-playlist-scan-notify__cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
}

@media (max-width: 991px) {
  .pdl-playlist-scan-notify__cols {
    grid-template-columns: 1fr;
  }

  .pdl-playlist-scan-notify__l1-body {
    padding-left: 1.5rem;
  }
}

.pdl-playlist-scan-notify__col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  border-right: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-playlist-scan-notify__col:last-child {
  border-right: 0;
}

@media (max-width: 991px) {
  .pdl-playlist-scan-notify__col {
    border-right: 0;
    border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
  }

  .pdl-playlist-scan-notify__col:last-child {
    border-bottom: 0;
  }
}

.pdl-playlist-scan-notify__col-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 3rem;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid var(--pdl-color-border, #e2e8f0);
}

.pdl-playlist-scan-notify__col-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--pdl-color-text, #1e293b);
}

.pdl-playlist-scan-notify__col-count {
  margin-left: auto;
  font-size: 0.8125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-playlist-scan-notify__col-body {
  flex: 1;
  padding: 0.85rem 1rem 1rem;
}

.pdl-playlist-scan-notify__empty {
  margin: 0;
  font-size: 0.875rem;
  color: var(--pdl-color-text-muted, #64748b);
}

.pdl-playlist-scan-notify__songs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pdl-playlist-scan-notify__song {
  min-width: 0;
}
