
/* Admin — global premium design system
 * Visual layer only. Selectors are scoped to Filament classes/custom components.
 */
:root {
  --am-bg: #07091a;
  --am-bg-secondary: #090c20;
  --am-sidebar: #080a1c;
  --am-surface: #0e112a;
  --am-surface-2: #131730;
  --am-surface-hover: #191d3a;
  --am-border: rgba(158, 166, 205, .12);
  --am-border-strong: rgba(167, 139, 250, .24);
  --am-purple: #7c3aed;
  --am-violet: #a78bfa;
  --am-gold: #f4bd4a;
  --am-green: #34d399;
  --am-red: #fb7185;
  --am-blue: #38bdf8;
  --am-text: #f5f4fb;
  --am-text-secondary: #c6c9dc;
  --am-text-muted: #a1a8c0;
  --am-radius-sm: .55rem;
  --am-radius-md: .8rem;
  --am-radius-lg: 1rem;
  --am-shadow: 0 14px 38px rgba(0, 0, 0, .26);
  --am-shadow-lg: 0 28px 80px rgba(0, 0, 0, .48);
  --am-glow: 0 0 0 1px rgba(167, 139, 250, .07), 0 18px 46px rgba(76, 29, 149, .12);
}

/* Shell and page canvas */
.dark body.fi-body {
  color: var(--am-text-secondary);
  background:
    radial-gradient(56rem 30rem at 18% -8%, rgba(124, 58, 237, .13), transparent 58%),
    radial-gradient(42rem 26rem at 88% 4%, rgba(56, 189, 248, .035), transparent 64%),
    linear-gradient(180deg, var(--am-bg-secondary), var(--am-bg));
}

.dark .fi-layout,
.dark .fi-main-ctn,
.dark .fi-main {
  background: transparent;
}

.dark .fi-main {
  position: relative;
  z-index: 1;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
}

.dark .fi-main::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(36rem 24rem at 16% 0%, rgba(124, 58, 237, .045), transparent 66%);
}

.dark .fi-sidebar {
  z-index: 30;
  background:
    linear-gradient(180deg, rgba(10, 12, 32, .99), rgba(7, 9, 26, .99));
  border-inline-end: 1px solid var(--am-border);
  box-shadow: 12px 0 34px rgba(0, 0, 0, .16);
}

.dark .fi-sidebar-header {
  min-height: 4rem;
  background: rgba(8, 10, 28, .92);
  border-bottom: 1px solid var(--am-border);
  box-shadow: none;
}

.dark .fi-sidebar-header .fi-logo {
  max-height: 2rem;
  filter: drop-shadow(0 4px 14px rgba(124, 58, 237, .2));
}

.dark .fi-sidebar-nav {
  padding: .9rem .8rem 1.2rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(167, 139, 250, .3) transparent;
}

.dark .fi-sidebar-nav::-webkit-scrollbar {
  width: 5px;
}

.dark .fi-sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

.dark .fi-sidebar-nav::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(167, 139, 250, .26);
}

.dark .fi-sidebar-group {
  gap: .35rem;
}

.dark .fi-sidebar-group + .fi-sidebar-group {
  margin-top: .7rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(158, 166, 205, .07);
}

.dark .fi-sidebar-group-label {
  color: var(--am-text-muted);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.dark .fi-sidebar-item-button,
.dark .fi-sidebar-group-button {
  min-height: 2.55rem;
  padding: .62rem .72rem;
  border: 1px solid transparent;
  border-radius: var(--am-radius-md);
  transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.dark .fi-sidebar-item-button:hover,
.dark .fi-sidebar-group-button:hover {
  color: var(--am-text);
  background: rgba(255, 255, 255, .045);
  border-color: rgba(255, 255, 255, .04);
  transform: translateX(1px);
}

.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
  color: #fff;
  background:
    linear-gradient(90deg, rgba(124, 58, 237, .3), rgba(124, 58, 237, .11));
  border-color: rgba(167, 139, 250, .2);
  box-shadow: inset 3px 0 0 var(--am-violet), 0 8px 22px rgba(76, 29, 149, .13);
}

.dark .fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.dark .fi-sidebar-item.fi-active .fi-sidebar-item-label {
  color: #ddd6fe;
}

.dark .fi-sidebar-item-icon,
.dark .fi-sidebar-group-icon {
  width: 1.16rem;
  height: 1.16rem;
  color: #9096b2;
}

.dark .fi-sidebar-item-label {
  color: #bdc1d5;
  font-size: .79rem;
  font-weight: 550;
}

.dark .fi-sidebar-item .fi-badge {
  border: 1px solid rgba(167, 139, 250, .18);
  background: rgba(124, 58, 237, .12);
}

/* Topbar: only real controls rendered by Filament/provider */
.dark .fi-topbar > nav {
  min-height: 4rem;
  background: rgba(8, 10, 28, .78);
  border-bottom: 1px solid var(--am-border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
  backdrop-filter: blur(16px) saturate(1.12);
}

.dark .fi-topbar-item-button,
.dark .fi-topbar .fi-icon-btn {
  border-radius: var(--am-radius-sm);
}

.dark .fi-topbar-item-button:hover,
.dark .fi-topbar-item-button:focus-visible,
.dark .fi-topbar .fi-icon-btn:hover,
.dark .fi-topbar .fi-icon-btn:focus-visible {
  color: var(--am-text);
  background: rgba(255, 255, 255, .055);
}

.dark .fi-global-search-field .fi-input-wrp {
  background: rgba(255, 255, 255, .035);
  border-color: rgba(158, 166, 205, .11);
}

/* Page hierarchy */
.dark .fi-header {
  gap: 1rem;
}

.dark .fi-header-heading {
  color: var(--am-text);
  font-size: clamp(1.25rem, 1.4vw, 1.55rem);
  font-weight: 680;
  letter-spacing: -.025em;
}

.dark .fi-header-subheading {
  color: var(--am-text-muted);
  font-size: .82rem;
}

.dark .fi-breadcrumbs-item-label {
  color: var(--am-text-muted);
  font-size: .72rem;
}

.dark .fi-breadcrumbs-item:last-child .fi-breadcrumbs-item-label {
  color: var(--am-text-secondary);
}

.dark .fi-header-actions {
  gap: .55rem;
}

/* Reusable surfaces: pages, widgets, resource forms and relation managers */
.dark .fi-section:not(.fi-aside),
.dark .fi-section.fi-aside .fi-section-content-ctn,
.dark .fi-ta-ctn,
.dark .fi-wi-stats-overview-stat,
.dark .fi-simple-main,
.dark .rewards-tutorial-card {
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-lg);
  background:
    linear-gradient(155deg, rgba(19, 23, 48, .96), rgba(10, 13, 31, .97));
  box-shadow: var(--am-shadow);
}

.dark .fi-section:not(.fi-aside):hover,
.dark .fi-wi-stats-overview-stat:hover {
  border-color: rgba(167, 139, 250, .17);
}

.dark .fi-section-header,
.dark .fi-section-footer {
  background: transparent;
}

.dark .fi-section-header {
  border-bottom-color: rgba(158, 166, 205, .08);
}

.dark .fi-section-header-heading,
.dark .fi-wi-chart-heading,
.dark .fi-ta-header-heading {
  color: var(--am-text);
  font-weight: 650;
  letter-spacing: -.01em;
}

.dark .fi-section-header-description,
.dark .fi-ta-header-description {
  color: var(--am-text-muted);
}

.dark .fi-wi-stats-overview-stat {
  position: relative;
  overflow: hidden;
  min-width: 0;
  transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.dark .fi-wi-stats-overview-stat::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(167, 139, 250, .34), transparent);
  pointer-events: none;
}

.dark .fi-wi-stats-overview-stat:hover {
  transform: translateY(-1px);
  box-shadow: var(--am-glow);
}

.dark .fi-wi-stats-overview-stat-label {
  color: var(--am-text-muted);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.dark .fi-wi-stats-overview-stat-value {
  color: var(--am-text);
  font-variant-numeric: tabular-nums;
  font-weight: 680;
  letter-spacing: -.035em;
}

.dark .fi-wi-stats-overview-stat-description {
  color: var(--am-text-muted);
  font-size: .72rem;
}

/* Tables */
.dark .fi-ta-ctn {
  overflow: hidden;
}

.dark .fi-ta-header,
.dark .fi-ta-header-toolbar,
.dark .fi-ta-content-header {
  background: rgba(255, 255, 255, .012);
  border-color: var(--am-border);
}

.dark .fi-ta-table thead {
  background: rgba(6, 8, 24, .42);
}

.dark .fi-ta-table thead th {
  color: #9ea3ba;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.dark .fi-ta-row {
  background: transparent;
  border-bottom-color: rgba(158, 166, 205, .075);
  transition: background-color 130ms ease;
}

.dark .fi-ta-row:nth-child(even) {
  background: rgba(255, 255, 255, .009);
}

.dark .fi-ta-row:hover {
  background: rgba(124, 58, 237, .055);
}

.dark .fi-ta-cell,
.dark .fi-ta-text {
  color: var(--am-text-secondary);
  font-size: .78rem;
}

.dark .fi-ta-empty-state-heading {
  color: var(--am-text);
}

.dark .fi-ta-empty-state-description {
  color: var(--am-text-muted);
}

.dark .fi-ta-pagination {
  border-top-color: var(--am-border);
  background: rgba(6, 8, 24, .2);
}

/* Forms, filters and selects */
.dark .fi-input-wrp {
  min-height: 2.45rem;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.dark .fi-input-wrp:hover {
  border-color: rgba(158, 166, 205, .2);
  background: rgba(255, 255, 255, .048);
}

.dark .fi-input-wrp:focus-within {
  border-color: rgba(167, 139, 250, .55);
  background: rgba(255, 255, 255, .05);
  box-shadow: 0 0 0 2px rgba(124, 58, 237, .15), 0 8px 20px rgba(76, 29, 149, .08);
}

.dark .fi-input-wrp input,
.dark .fi-input-wrp textarea,
.dark .fi-input-wrp select,
.dark .fi-input,
.dark .fi-select-input {
  color: var(--am-text);
  background: transparent;
}

.dark .fi-input::placeholder,
.dark .fi-select-input::placeholder,
.dark .fi-textarea::placeholder {
  color: #8991aa;
}

.dark .fi-fo-field-wrp-label label,
.dark .fi-fo-field-wrp-label span {
  color: var(--am-text-secondary);
  font-size: .76rem;
  font-weight: 600;
}

.dark .fi-fo-field-wrp-helper-text {
  color: var(--am-text-muted);
  font-size: .7rem;
}

.dark .fi-fo-field-wrp-error-message {
  color: #fda4af;
}

.dark .fi-fo-repeater-item,
.dark .fi-fo-builder-item {
  border-color: var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .018);
}

/* Advanced CRUD, infolists, relation managers and pagination */
.dark .fi-resource-relation-manager,
.dark .fi-in-repeatable-entry,
.dark .fi-fo-fieldset,
.dark .fi-fo-wizard,
.dark .fi-fo-file-upload,
.dark .fi-fo-rich-editor,
.dark .fi-fo-key-value,
.dark .fi-fo-checkbox-list,
.dark .fi-fo-radio {
  border-color: var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .018);
}

.dark .fi-resource-relation-manager .fi-ta-ctn {
  box-shadow: none;
}

.dark .fi-in-entry-wrp-label,
.dark .fi-in-entry-wrp-label span,
.dark .fi-in-text-item-label {
  color: var(--am-text-muted);
  font-size: .7rem;
  font-weight: 650;
  letter-spacing: .025em;
}

.dark .fi-in-entry-wrp-content,
.dark .fi-in-text,
.dark .fi-in-text-item {
  color: var(--am-text-secondary);
}

.dark .fi-in-repeatable-entry {
  padding: .85rem;
}

.dark .fi-fo-fieldset > legend,
.dark .fi-fo-fieldset-legend,
.dark .fi-fo-wizard-header,
.dark .fi-fo-wizard-step-label {
  color: var(--am-text);
}

.dark .fi-fo-wizard-header,
.dark .fi-fo-file-upload .filepond--panel-root,
.dark .fi-fo-rich-editor .tiptap,
.dark .fi-fo-rich-editor-toolbar,
.dark .fi-fo-key-value-table {
  border-color: var(--am-border);
  background: rgba(7, 9, 26, .34);
}

.dark .fi-fo-wizard-step.fi-active .fi-fo-wizard-step-icon-ctn {
  color: #fff;
  border-color: rgba(196, 181, 253, .32);
  background: linear-gradient(135deg, #7138dc, #8b5cf6);
  box-shadow: 0 8px 18px rgba(91, 33, 182, .22);
}

.dark .fi-fo-file-upload .filepond--drop-label,
.dark .fi-fo-file-upload .filepond--label-action,
.dark .fi-fo-rich-editor,
.dark .fi-fo-key-value {
  color: var(--am-text-secondary);
}

.dark .fi-fo-date-time-picker-panel,
.dark .fi-fo-color-picker-panel {
  color: var(--am-text-secondary);
  border: 1px solid var(--am-border-strong);
  border-radius: var(--am-radius-md);
  background: linear-gradient(160deg, rgba(20, 24, 49, .99), rgba(8, 10, 27, .99));
  box-shadow: var(--am-shadow-lg);
}

.dark .fi-toggle {
  box-shadow: inset 0 0 0 1px rgba(158, 166, 205, .16);
}

.dark .fi-toggle.fi-color-primary,
.dark .fi-toggle[aria-checked="true"] {
  background: linear-gradient(90deg, #7138dc, #8b5cf6);
  box-shadow: 0 0 0 1px rgba(196, 181, 253, .2), 0 6px 16px rgba(91, 33, 182, .16);
}

.dark .fi-checkbox-input,
.dark .fi-radio-input {
  border-color: rgba(158, 166, 205, .26);
  background-color: rgba(255, 255, 255, .035);
}

.dark .fi-checkbox-input:checked,
.dark .fi-radio-input:checked {
  border-color: var(--am-violet);
  background-color: var(--am-purple);
}

.dark .fi-pagination {
  color: var(--am-text-muted);
}

.dark .fi-pagination .fi-btn,
.dark .fi-pagination .fi-icon-btn {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.dark .fi-pagination .fi-btn:hover,
.dark .fi-pagination .fi-icon-btn:hover,
.dark .fi-pagination .fi-btn[aria-current="page"] {
  color: var(--am-text);
  background: rgba(124, 58, 237, .1);
}

.dark .fi-ta-content-ctn {
  overflow-x: auto;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(167, 139, 250, .28) transparent;
}

.dark .fi-ta-content-ctn::-webkit-scrollbar {
  height: 6px;
}

.dark .fi-ta-content-ctn::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(167, 139, 250, .25);
}

/* Buttons, tabs and badges */
.dark .fi-btn {
  min-height: 2.35rem;
  border-radius: var(--am-radius-sm);
  font-weight: 650;
  letter-spacing: -.005em;
}

.dark .fi-btn.fi-color-primary:not(.fi-btn-outlined) {
  color: #fff;
  background: linear-gradient(135deg, #7138dc, #8b5cf6);
  border: 1px solid rgba(196, 181, 253, .2);
  box-shadow: 0 10px 24px rgba(91, 33, 182, .22), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.dark .fi-btn.fi-color-primary:not(.fi-btn-outlined):hover {
  background: linear-gradient(135deg, #7c3aed, #9b73f8);
  box-shadow: 0 13px 30px rgba(91, 33, 182, .28), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.dark .fi-btn.fi-color-gray,
.dark .fi-btn.fi-btn-color-gray {
  color: var(--am-text-secondary);
  border: 1px solid var(--am-border);
  background: rgba(255, 255, 255, .035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.dark .fi-btn.fi-color-gray:hover,
.dark .fi-btn.fi-btn-color-gray:hover {
  color: var(--am-text);
  border-color: rgba(158, 166, 205, .2);
  background: rgba(255, 255, 255, .06);
}

.dark .fi-icon-btn.fi-color-gray {
  color: #a7acc2;
  border-radius: var(--am-radius-sm);
}

.dark .fi-icon-btn.fi-color-gray:hover,
.dark .fi-icon-btn.fi-color-gray:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .055);
}

.dark .fi-tabs {
  gap: .25rem;
  padding: .28rem;
  overflow-x: auto;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .022);
  scrollbar-width: none;
}

.dark .fi-tabs::-webkit-scrollbar {
  display: none;
}

.dark .fi-tabs-item {
  flex: 0 0 auto;
  padding: .5rem .78rem;
  border-radius: .58rem;
  white-space: nowrap;
}

.dark .fi-tabs-item:hover {
  background: rgba(255, 255, 255, .04);
}

.dark .fi-tabs-item.fi-active {
  color: #ddd6fe;
  background: rgba(124, 58, 237, .13);
  box-shadow: inset 0 0 0 1px rgba(167, 139, 250, .18);
}

.dark .fi-badge {
  border: 1px solid currentColor;
  border-color: color-mix(in srgb, currentColor 20%, transparent);
  font-weight: 650;
}

/* Dropdowns, modals, notifications and command surfaces */
.dark .fi-modal-window,
.dark .fi-dropdown-panel,
.dark .fi-no-notification:not(.fi-inline) {
  border: 1px solid var(--am-border-strong);
  border-radius: var(--am-radius-lg);
  background: linear-gradient(160deg, rgba(20, 24, 49, .98), rgba(8, 10, 27, .99));
  box-shadow: var(--am-shadow-lg);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
}

.dark .fi-modal-header.fi-sticky,
.dark .fi-modal-footer.fi-sticky {
  border-color: var(--am-border);
  background: rgba(12, 15, 35, .9);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.dark .fi-modal-heading {
  color: var(--am-text);
}

.dark .fi-dropdown-list-item:hover,
.dark .fi-dropdown-list-item:focus-visible {
  background: rgba(124, 58, 237, .08);
}

.dark .fi-notification {
  border: 1px solid var(--am-border-strong);
  border-radius: var(--am-radius-md);
  background: rgba(15, 18, 40, .98);
  box-shadow: var(--am-shadow-lg);
}

/* Existing custom components */
.user-stats.fi-wi-stats-overview-stat {
  padding: 1rem 1.1rem;
}

.user-stats .fi-wi-stats-overview-stat-value {
  font-size: 1.45rem !important;
}

.user-stats.user-created-at-stats .fi-wi-stats-overview-stat-value {
  font-size: 1.1rem !important;
}

.user-stats .fi-wi-stats-overview-stat-description {
  font-size: .72rem !important;
}

.user-stats > div.grid {
  row-gap: .1rem;
}

.user-dropdown {
  max-width: 300px;
}

.dark .rewards-tutorial-card {
  margin-bottom: 1rem;
}

.dark .rewards-tutorial-card__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .8rem .95rem;
  cursor: pointer;
  list-style: none;
  border-bottom: 1px solid var(--am-border);
}

.dark .rewards-tutorial-card__summary::-webkit-details-marker {
  display: none;
}

.dark .rewards-tutorial-card__title-wrap {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
}

.dark .rewards-tutorial-card__badge {
  flex-shrink: 0;
  padding: .14rem .48rem;
  border-radius: .38rem;
  color: #15111f;
  background: var(--am-gold);
  font-size: .66rem;
  font-weight: 800;
}

.dark .rewards-tutorial-card__title {
  color: var(--am-text);
  font-size: .9rem;
  font-weight: 700;
}

.dark .rewards-tutorial-card__hint {
  color: var(--am-text-muted);
  font-size: .72rem;
  white-space: nowrap;
}

.dark .rewards-tutorial-card__body {
  display: grid;
  gap: .7rem;
  padding: .8rem;
}

.dark .rewards-tutorial-card__panel {
  padding: .75rem .85rem;
  color: var(--am-text-secondary);
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .022);
}

.dark .rewards-tutorial-card__panel-title {
  margin: 0 0 .38rem;
  color: var(--am-text);
  font-size: .78rem;
  font-weight: 700;
}

.dark .rewards-tutorial-card__panel--warning {
  color: #fde68a;
  border-color: rgba(244, 189, 74, .28);
  background: rgba(244, 189, 74, .075);
}

.dark .rewards-tutorial-card__list {
  margin: .25rem 0 0;
  padding-left: 1.1rem;
}

.dark .rewards-tutorial-card__list--ordered {
  list-style: decimal;
}

.dark .rewards-tutorial-card__list--unordered {
  list-style: disc;
}

.dark .rewards-tutorial-card__list li + li {
  margin-top: .2rem;
}

.dark .fi-wi-profit-guardrails .pg-card,
.dark .fi-wi-profit-guardrails .pg-details {
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .018);
  box-shadow: none;
}

.dark .fi-wi-profit-guardrails .pg-card-wide {
  background: linear-gradient(160deg, rgba(19, 23, 48, .98), rgba(9, 12, 32, .98));
}

.dark .fi-wi-profit-guardrails .pg-details summary {
  list-style: none;
}

.dark .fi-wi-profit-guardrails .pg-details summary::-webkit-details-marker {
  display: none;
}

/* Multi-market control rendered by the existing provider hook */
.am-market-selector {
  position: relative;
  display: flex;
  width: 11.75rem;
  height: 2.55rem;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  margin-right: .45rem;
  pointer-events: auto;
}

.am-market-selector__label {
  position: absolute;
  top: .32rem;
  left: .75rem;
  z-index: 1;
  color: var(--am-text-muted);
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .06em;
  line-height: .72rem;
  pointer-events: none;
  text-transform: uppercase;
}

.am-market-selector__select {
  width: 100%;
  height: 100%;
  padding: 1.02rem 1.42rem .3rem .7rem;
  color: var(--am-text);
  font-size: .74rem;
  font-weight: 700;
  line-height: .9rem;
  cursor: pointer;
  pointer-events: auto;
  appearance: auto !important;
  border: 1px solid rgba(167, 139, 250, .28);
  border-radius: var(--am-radius-sm);
  background: rgba(8, 10, 28, .92) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.am-market-selector__select:focus-visible {
  outline: none;
  border-color: rgba(167, 139, 250, .72);
  box-shadow: 0 0 0 2px rgba(124, 58, 237, .17);
}

.am-market-selector__select option {
  color: var(--am-text);
  background: var(--am-bg-secondary);
}

.am-market-selector__fallback {
  margin-left: .35rem;
}

/* Affiliate quality report: layout helpers retained */
.affiliate-quality-page-stack,
.affiliate-quality-modal-stack,
.affiliate-quality-section-stack {
  display: flex;
  flex-direction: column;
}

.affiliate-quality-page-stack { gap: 1.5rem; }
.affiliate-quality-modal-stack,
.affiliate-quality-section-stack { gap: 1.75rem; }
.affiliate-quality-grid-gap-lg { gap: 1.25rem; }
.affiliate-quality-modal-section,
.affiliate-quality-signal-card { padding: 1.25rem; }
.affiliate-quality-block-offset { margin-top: 1.25rem; }
.affiliate-quality-value-wrap { overflow-wrap: anywhere; word-break: break-word; }
.affiliate-quality-list-identity { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .5rem; min-width: 0; }
.affiliate-quality-table-review { table-layout: fixed; }
.affiliate-quality-table-review th,
.affiliate-quality-table-review td { overflow-wrap: anywhere; vertical-align: top; }
.affiliate-quality-table-wide { min-width: 47.5rem; }
.affiliate-quality-action-footer { padding-top: 1.25rem; }
.affiliate-quality-review-trigger.fi-btn { min-height: 1.55rem !important; padding: .2rem .45rem !important; font-size: .68rem !important; line-height: .9rem !important; white-space: nowrap; }
.dark .affiliate-quality-modal-section { background: rgba(255, 255, 255, .02); }
.dark .affiliate-quality-modal-metric { background: rgba(255, 255, 255, .04); }

/* Dashboard composition; metrics remain native registered widgets */
.am-dashboard-page .fi-header {
  align-items: flex-end;
}

.am-dashboard-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.5rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-lg);
  background:
    radial-gradient(32rem 12rem at 0 0, rgba(124, 58, 237, .14), transparent 62%),
    linear-gradient(135deg, rgba(19, 23, 48, .96), rgba(10, 13, 32, .96));
  box-shadow: var(--am-glow);
}

.am-dashboard-intro__eyebrow {
  display: block;
  margin-bottom: .3rem;
  color: var(--am-gold);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.am-dashboard-intro p {
  margin: 0;
  color: var(--am-text-secondary);
  font-size: .8rem;
  line-height: 1.45;
}

.am-dashboard-intro__context {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .5rem;
  padding: .58rem .72rem;
  color: var(--am-text-secondary);
  font-size: .7rem;
  font-weight: 600;
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius-md);
  background: rgba(255, 255, 255, .025);
}

.am-dashboard-intro__context .fi-icon,
.am-dashboard-intro__icon {
  display: block;
  width: 1rem !important;
  min-width: 1rem;
  max-width: 1rem;
  height: 1rem !important;
  min-height: 1rem;
  max-height: 1rem;
  flex: 0 0 1rem;
  color: var(--am-violet);
}

.am-dashboard-widgets > .fi-wi,
.am-dashboard-page .fi-wi-stats-overview-stats-ctn {
  gap: .85rem;
}

.am-dashboard-page .fi-wi-widget {
  min-width: 0;
}

.am-dashboard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem .15rem 0;
  color: var(--am-text-muted);
  font-size: .68rem;
  border-top: 1px solid var(--am-border);
}

/* Responsive desktop/tablet safeguards */
@media (min-width: 1024px) {
  .dark .fi-sidebar {
    width: var(--sidebar-width);
  }

  .affiliate-quality-grid-cols-2-lg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .affiliate-quality-grid-cols-3-lg { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .affiliate-quality-col-span-2-lg { grid-column: span 2 / span 2; }
}

@media (min-width: 1280px) {
  .affiliate-quality-grid-cols-3-xl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .affiliate-quality-grid-cols-4-xl { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .affiliate-quality-grid-cols-5-xl { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .affiliate-quality-grid-cols-6-xl { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .affiliate-quality-col-span-2-xl { grid-column: span 2 / span 2; }
}

@media (max-width: 1279.98px) {
  .am-dashboard-page .fi-wi-stats-overview-stats-ctn.md\:grid-cols-3,
  .am-dashboard-page .fi-wi-stats-overview-stats-ctn.xl\:grid-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1023.98px) {
  .dark .fi-main {
    padding-inline: 1rem;
  }

  .dark .fi-sidebar:not(.fi-sidebar-open),
  .dark .fi-main-sidebar:not(.fi-sidebar-open) {
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden;
    border-right-width: 0 !important;
    box-shadow: none !important;
  }

  .dark .fi-sidebar.fi-sidebar-open,
  .dark .fi-main-sidebar.fi-sidebar-open {
    width: min(100vw, 22rem) !important;
    max-width: 100vw !important;
  }
}

@media (max-width: 767.98px) {
  .am-dashboard-intro,
  .am-dashboard-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .am-dashboard-intro__context {
    width: 100%;
  }

  .am-dashboard-page .fi-header-actions {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .25rem;
  }

  .am-dashboard-page .fi-header-actions .fi-btn {
    flex: 0 0 auto;
  }

  .am-dashboard-page .fi-wi-stats-overview-stats-ctn,
  .am-dashboard-page .fi-wi-stats-overview-stats-ctn.md\:grid-cols-2,
  .am-dashboard-page .fi-wi-stats-overview-stats-ctn.md\:grid-cols-3,
  .am-dashboard-page .fi-wi-stats-overview-stats-ctn.xl\:grid-cols-4 {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .btn-open-site { display: none !important; }
  .am-market-selector { width: 9.5rem; height: 2.35rem; }
  .am-market-selector__label { top: .25rem; left: .62rem; font-size: .54rem; }
  .am-market-selector__select { padding: .88rem 1.35rem .25rem .58rem; font-size: .68rem; }
  .dark .rewards-tutorial-card__summary { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .dark .fi-sidebar-item-button,
  .dark .fi-sidebar-group-button,
  .dark .fi-wi-stats-overview-stat,
  .dark .fi-input-wrp,
  .dark .fi-ta-row {
    transition-duration: .01ms !important;
  }
}

/* ========================================================================== 
   Admin UI V3 — Dashboard Operations Intelligence
   Structural composition; scoped to the dashboard except branded shell rules.
   ========================================================================== */

.dark body.fi-body {
  background:
    radial-gradient(58rem 34rem at 18% -12%, rgba(91, 33, 182, .18), transparent 62%),
    radial-gradient(46rem 28rem at 88% -6%, rgba(29, 78, 216, .08), transparent 68%),
    linear-gradient(180deg, #080a1b 0%, #060817 56%, #050714 100%);
}

.dark .fi-sidebar {
  background:
    radial-gradient(24rem 18rem at 50% -8%, rgba(124, 58, 237, .14), transparent 70%),
    linear-gradient(180deg, rgba(9, 11, 31, .995), rgba(5, 7, 21, .995));
  border-inline-end-color: rgba(167, 139, 250, .14);
  box-shadow: 18px 0 48px rgba(0, 0, 0, .2);
}

.dark .fi-sidebar-header {
  min-height: 4.6rem;
  background: transparent;
  border-bottom-color: rgba(167, 139, 250, .1);
}

.dark .fi-sidebar-nav {
  padding-inline: .7rem;
}

.dark .fi-sidebar-group-label {
  padding-inline: .65rem;
  color: #777f9f;
  font-size: .6rem;
  letter-spacing: .15em;
}

.dark .fi-sidebar-item-button,
.dark .fi-sidebar-group-button {
  min-height: 2.45rem;
  border-radius: .62rem;
}

.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
  background:
    linear-gradient(90deg, rgba(109, 40, 217, .62), rgba(76, 29, 149, .24));
  border-color: rgba(196, 181, 253, .23);
  box-shadow: inset 3px 0 0 #c4b5fd, 0 10px 25px rgba(76, 29, 149, .18);
}

.dark .fi-topbar > nav {
  min-height: 4.6rem;
  background: rgba(7, 9, 25, .82);
  border-bottom-color: rgba(167, 139, 250, .12);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .18);
  backdrop-filter: blur(20px) saturate(1.15);
}

.dark .fi-global-search-field .fi-input-wrp {
  min-height: 2.65rem;
  border-color: rgba(158, 166, 205, .14);
  border-radius: .72rem;
  background: rgba(12, 15, 38, .82);
}

.dark .fi-topbar .am-market-selector {
  height: 2.7rem;
}

.dark .fi-topbar .am-market-selector__select {
  border-color: rgba(167, 139, 250, .22);
  border-radius: .7rem;
  background: rgba(12, 15, 38, .9) !important;
}

.dark .fi-topbar .btn-open-site.fi-btn {
  min-height: 2.7rem;
  border: 1px solid rgba(244, 189, 74, .2);
  border-radius: .7rem;
  color: #f4d994;
  background: rgba(244, 189, 74, .055);
}

.am-dashboard-v3 {
  --am-v3-panel: linear-gradient(150deg, rgba(17, 20, 47, .98), rgba(9, 12, 31, .98));
  --am-v3-panel-soft: linear-gradient(150deg, rgba(15, 18, 43, .86), rgba(9, 11, 29, .9));
  --am-v3-line: rgba(167, 139, 250, .13);
  max-width: none !important;
}

.am-dashboard-v3 .fi-header {
  min-height: 4rem;
  padding: .8rem 1rem;
  align-items: center;
  border: 1px solid rgba(167, 139, 250, .12);
  border-radius: .9rem;
  background: linear-gradient(100deg, rgba(14, 17, 41, .9), rgba(9, 12, 31, .78));
  box-shadow: 0 16px 38px rgba(0, 0, 0, .18);
}

.am-dashboard-v3 .fi-header-heading {
  font-size: 1rem;
  letter-spacing: .015em;
}

.am-dashboard-v3 .fi-header-heading::before {
  content: "AM / ";
  color: var(--am-gold);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.am-dashboard-v3 .fi-header-actions {
  gap: .45rem;
}

.am-dashboard-v3 .fi-header-actions .fi-btn {
  min-height: 2.35rem;
  border: 1px solid rgba(158, 166, 205, .13);
  border-radius: .62rem;
  background: rgba(255, 255, 255, .025);
  box-shadow: none;
}

.am-dashboard-v3 .fi-header-actions .fi-btn:hover {
  border-color: rgba(167, 139, 250, .28);
  background: rgba(124, 58, 237, .09);
}

.am-dashboard-v3 > .fi-page-content,
.am-dashboard-v3 .fi-page-content {
  gap: 1.35rem;
}

.am-v3-command {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2rem;
  min-height: 10.5rem;
  padding: 1.65rem 1.8rem;
  overflow: hidden;
  border: 1px solid rgba(167, 139, 250, .18);
  border-radius: 1.05rem;
  background:
    linear-gradient(112deg, rgba(67, 24, 125, .55), rgba(23, 26, 62, .78) 46%, rgba(8, 11, 29, .96) 78%),
    radial-gradient(38rem 18rem at 6% 0%, rgba(139, 92, 246, .28), transparent 68%);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .055);
}

.am-v3-command::before {
  content: "AM";
  position: absolute;
  z-index: -1;
  top: -3.2rem;
  right: 2.5rem;
  color: rgba(255, 255, 255, .018);
  font-size: 12rem;
  font-weight: 900;
  letter-spacing: -.12em;
  line-height: 1;
}

.am-v3-command::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(255, 255, 255, .018) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(255, 255, 255, .018) 50%, transparent 50.2%);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg, transparent, #000 65%);
}

.am-v3-kicker {
  display: block;
  margin-bottom: .75rem;
  color: #f3c969;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.am-v3-command h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.65rem, 2.3vw, 2.45rem);
  font-weight: 680;
  letter-spacing: -.045em;
  line-height: 1.05;
}

.am-v3-command__copy p {
  max-width: 44rem;
  margin: .72rem 0 0;
  color: #bdc2d9;
  font-size: .82rem;
  line-height: 1.55;
}

.am-v3-command__context {
  display: grid;
  grid-template-columns: repeat(2, minmax(7.5rem, 1fr));
  gap: .55rem;
  min-width: 22rem;
}

.am-v3-context-chip {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 3.4rem;
  padding: .65rem .8rem;
  border: 1px solid rgba(196, 181, 253, .14);
  border-radius: .72rem;
  background: rgba(6, 8, 25, .48);
  backdrop-filter: blur(12px);
}

.am-v3-context-chip--period {
  grid-column: 1 / -1;
}

.am-v3-context-chip > .fi-icon,
.am-v3-context-chip > svg {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  color: #c4b5fd;
}

.am-v3-context-chip span {
  display: grid;
  min-width: 0;
}

.am-v3-context-chip small {
  color: #8f96b1;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.am-v3-context-chip strong {
  overflow: hidden;
  color: #f5f4fb;
  font-size: .72rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v3-filter-form:empty {
  display: none;
}

.am-v3-incidents .fi-wi-widget {
  grid-column: 1 / -1;
}

.am-v3-incidents .fi-wi-widget > div {
  min-height: 3.45rem;
  padding: .72rem .9rem;
  border-color: rgba(245, 158, 11, .25) !important;
  border-radius: .72rem !important;
  color: #d8cba8;
  background: linear-gradient(90deg, rgba(120, 53, 15, .18), rgba(22, 20, 30, .48)) !important;
  box-shadow: inset 3px 0 0 rgba(245, 158, 11, .58), 0 10px 28px rgba(0, 0, 0, .12);
}

.am-v3-incidents .fi-wi-widget > div > div {
  gap: .35rem 1.5rem;
}

.am-v3-incidents .font-semibold {
  color: #f1d590;
}

.am-v3-incidents [class*="text-warning"] {
  color: #b9b2a2 !important;
}

.am-v3-zone {
  position: relative;
  display: grid;
  gap: .85rem;
  padding-top: .25rem;
}

.am-v3-zone + .am-v3-zone {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(158, 166, 205, .085);
}

.am-v3-zone__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 2.35rem;
  padding-inline: .15rem;
}

.am-v3-zone__header > div {
  display: flex;
  align-items: baseline;
  gap: .7rem;
}

.am-v3-zone__index {
  color: var(--am-gold);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.am-v3-zone__header h3 {
  margin: 0;
  color: #f7f6fc;
  font-size: .95rem;
  font-weight: 680;
  letter-spacing: -.015em;
}

.am-v3-zone__header p {
  margin: 0;
  color: #858da9;
  font-size: .65rem;
}

.am-v3-zone > .fi-wi,
.am-v3-zone > [class*="fi-wi"] {
  gap: .75rem;
}

/* Executive KPIs: four independent premium instruments. */
.am-v3-zone--executive .fi-wi-stats-overview-stats-ctn {
  gap: .75rem;
}

.am-v3-zone--executive .fi-wi-stats-overview-stat {
  min-height: 9.25rem;
  padding: 1.05rem 1.1rem;
  border-radius: .9rem;
  background:
    radial-gradient(13rem 8rem at 100% 0%, rgba(124, 58, 237, .13), transparent 68%),
    var(--am-v3-panel);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.am-v3-zone--executive .fi-wi-stats-overview-stat:nth-child(2) {
  background:
    radial-gradient(13rem 8rem at 100% 0%, rgba(244, 189, 74, .105), transparent 68%),
    var(--am-v3-panel);
}

.am-v3-zone--executive .fi-wi-stats-overview-stat:nth-child(3),
.am-v3-zone--executive .fi-wi-stats-overview-stat:nth-child(4) {
  background:
    radial-gradient(13rem 8rem at 100% 0%, rgba(52, 211, 153, .08), transparent 68%),
    var(--am-v3-panel);
}

.am-v3-zone--executive .fi-wi-stats-overview-stat-value {
  margin-top: .5rem;
  font-size: clamp(1.35rem, 1.8vw, 1.85rem);
}

.am-v3-zone--executive .fi-wi-stats-overview-stat-description {
  max-width: 95%;
  margin-top: auto;
}

/* Operational strip is deliberately compact and subordinate. */
.am-v3-zone--operations > .fi-wi {
  align-items: stretch;
}

.am-v3-zone--operations .fi-wi-widget,
.am-v3-zone--operations .fi-wi-stats-overview,
.am-v3-zone--operations .fi-wi-stats-overview-stats-ctn {
  min-width: 0;
  height: 100%;
}

.am-v3-zone--operations .fi-wi-stats-overview-stats-ctn {
  gap: .55rem;
}

.am-v3-zone--operations .fi-wi-stats-overview-stat {
  min-height: 7.6rem;
  padding: .85rem;
  border-radius: .76rem;
  background: var(--am-v3-panel-soft);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
}

.am-v3-zone--operations .fi-wi-stats-overview-stat-value {
  margin-top: .35rem;
  font-size: clamp(1rem, 1.35vw, 1.3rem);
}

.am-v3-zone--operations .fi-wi-stats-overview-stat-label {
  font-size: .58rem;
  letter-spacing: .07em;
}

.am-v3-zone--operations .fi-wi-stats-overview-stat-description {
  font-size: .62rem;
}

/* Analytics: asymmetrical 2/3 chart + side indicators. */
.am-v3-zone--analytics .fi-wi-chart,
.am-v3-zone--analytics .fi-wi-stats-overview-stat {
  height: 100%;
  border-radius: .95rem;
  background:
    radial-gradient(24rem 12rem at 80% 0%, rgba(124, 58, 237, .08), transparent 70%),
    var(--am-v3-panel);
  box-shadow: 0 22px 54px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .04);
}

.am-v3-zone--analytics .fi-wi-chart .fi-section-header {
  padding-bottom: .55rem;
  border-bottom: 0;
}

.am-v3-zone--analytics .fi-wi-chart .fi-section-content {
  padding-top: .5rem;
}

.am-v3-zone--analytics .fi-wi-chart-heading {
  font-size: .88rem;
}

.am-v3-zone--analytics .fi-section-header-description {
  font-size: .64rem;
}

.am-v3-zone--analytics .fi-wi-stats-overview-stats-ctn {
  height: 100%;
}

.am-v3-zone--analytics .fi-wi-stats-overview-stat {
  min-height: 15rem;
  padding: 1.35rem;
}

.am-v3-zone--analytics .fi-wi-stats-overview-stat-value {
  margin-top: 1.7rem;
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.15rem);
  letter-spacing: -.055em;
}

.am-v3-zone--analytics .fi-wi-stats-overview-stat-description {
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(158, 166, 205, .1);
  line-height: 1.5;
}

.am-v3-zone--analytics .fi-wi-widget:nth-child(4) .fi-wi-stats-overview-stat-value {
  margin-top: .65rem;
  font-size: clamp(1.55rem, 2.2vw, 2.25rem);
}

.am-v3-zone--analytics .fi-wi-widget:nth-child(4) .fi-wi-stats-overview-stat {
  min-height: 8.1rem;
}

/* Ranking modules are dense operational lists, not generic cards. */
.am-v3-zone--rankings > .fi-wi {
  align-items: stretch;
}

.am-v3-zone--rankings .fi-wi-widget,
.am-v3-zone--rankings .fi-section {
  min-width: 0;
  height: 100%;
}

.am-v3-zone--rankings .fi-section {
  border-radius: .95rem;
  background: var(--am-v3-panel);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .22);
}

.am-v3-zone--rankings .fi-section-header {
  padding: 1rem 1.1rem .75rem;
}

.am-v3-zone--rankings .fi-section-content {
  padding: .85rem 1rem 1rem;
}

.am-v3-zone--rankings .fi-section-header-heading {
  font-size: .84rem;
}

.am-v3-zone--rankings .fi-section-header-description {
  font-size: .61rem;
}

.am-v3-zone--rankings .fi-badge {
  font-size: .58rem;
}

/* Insights redesigned as a rail plus three decision signals. */
.am-v3-insights-widget {
  min-width: 0;
}

.am-v3-insights {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(17rem, .75fr);
  gap: .75rem;
}

.am-v3-insights__distribution,
.am-v3-insights__signals {
  border: 1px solid var(--am-v3-line);
  border-radius: .95rem;
  background: var(--am-v3-panel);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.am-v3-insights__distribution {
  padding: 1.1rem;
}

.am-v3-insights__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.am-v3-insights__heading span,
.am-v3-signal span {
  color: #8e96b1;
  font-size: .56rem;
  font-weight: 750;
  letter-spacing: .105em;
  text-transform: uppercase;
}

.am-v3-insights__heading h4 {
  margin: .22rem 0 0;
  color: #f4f3fa;
  font-size: .88rem;
  font-weight: 670;
}

.am-v3-insights__heading > .fi-icon,
.am-v3-insights__heading > svg {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--am-violet);
}

.am-v3-deposit-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid rgba(158, 166, 205, .09);
  border-radius: .78rem;
  overflow: hidden;
  background: rgba(6, 8, 24, .42);
}

.am-v3-deposit-band {
  position: relative;
  min-width: 0;
  min-height: 10.5rem;
  padding: 1rem .75rem .8rem;
}

.am-v3-deposit-band + .am-v3-deposit-band {
  border-left: 1px solid rgba(158, 166, 205, .09);
}

.am-v3-deposit-band::after {
  content: "";
  position: absolute;
  inset: auto .75rem 0;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #6d28d9, #a78bfa);
  opacity: calc(.35 + var(--am-band-index, .1));
}

.am-v3-deposit-band__step {
  display: block;
  color: #626a89;
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.am-v3-deposit-band strong {
  display: block;
  margin-top: .95rem;
  color: #fff;
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 690;
  letter-spacing: -.05em;
}

.am-v3-deposit-band h5 {
  margin: .35rem 0 0;
  color: #c7cbe0;
  font-size: .57rem;
  font-weight: 760;
  letter-spacing: .055em;
}

.am-v3-deposit-band p {
  margin: .65rem 0 0;
  color: #747d9a;
  font-size: .56rem;
  line-height: 1.45;
}

.am-v3-insights__signals {
  display: grid;
  align-content: stretch;
  overflow: hidden;
}

.am-v3-signal {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: .8rem;
  min-width: 0;
  padding: 1rem;
}

.am-v3-signal + .am-v3-signal {
  border-top: 1px solid rgba(158, 166, 205, .09);
}

.am-v3-signal__icon {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid rgba(167, 139, 250, .16);
  border-radius: .62rem;
  color: #c4b5fd;
  background: rgba(124, 58, 237, .09);
}

.am-v3-signal__icon .fi-icon,
.am-v3-signal__icon svg {
  width: 1rem;
  height: 1rem;
}

.am-v3-signal--peak .am-v3-signal__icon {
  border-color: rgba(244, 189, 74, .17);
  color: #f4bd4a;
  background: rgba(244, 189, 74, .075);
}

.am-v3-signal--weak .am-v3-signal__icon {
  border-color: rgba(251, 113, 133, .15);
  color: #fb7185;
  background: rgba(251, 113, 133, .065);
}

.am-v3-signal strong {
  display: block;
  overflow: hidden;
  margin-top: .22rem;
  color: #f8f7fc;
  font-size: .84rem;
  font-weight: 670;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v3-signal p {
  margin: .28rem 0 0;
  color: #828ba7;
  font-size: .58rem;
  line-height: 1.45;
}

.am-dashboard-v3 .am-dashboard-footer {
  margin-top: .35rem;
  padding: 1rem .2rem .1rem;
}

.am-dashboard-footer__status {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.am-dashboard-footer__status i {
  width: .38rem;
  height: .38rem;
  border-radius: 999px;
  background: var(--am-green);
  box-shadow: 0 0 0 3px rgba(52, 211, 153, .09);
}

@media (max-width: 1399.98px) {
  .am-dashboard-v3 .fi-header {
    padding: .7rem .8rem;
  }

  .am-v3-command {
    min-height: 9.5rem;
    padding: 1.35rem 1.45rem;
  }

  .am-v3-command__context {
    min-width: 20rem;
  }

  .am-v3-zone--executive .fi-wi-stats-overview-stat {
    min-height: 8.65rem;
    padding: .95rem;
  }

  .am-v3-zone--operations .fi-wi-stats-overview-stat {
    padding: .75rem;
  }
}

@media (max-width: 1279.98px) {
  .am-v3-command {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .am-v3-command__context {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
  }

  .am-v3-context-chip--period {
    grid-column: auto;
  }

  .am-v3-insights {
    grid-template-columns: 1fr;
  }

  .am-v3-insights__signals {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .am-v3-signal + .am-v3-signal {
    border-top: 0;
    border-left: 1px solid rgba(158, 166, 205, .09);
  }
}

@media (max-width: 900px) {
  .am-v3-zone__header {
    align-items: flex-start;
    flex-direction: column;
    gap: .3rem;
  }

  .am-v3-deposit-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .am-v3-deposit-band {
    min-height: 8.5rem;
  }

  .am-v3-deposit-band + .am-v3-deposit-band {
    border-left: 0;
    border-top: 1px solid rgba(158, 166, 205, .09);
  }

  .am-v3-insights__signals {
    grid-template-columns: 1fr;
  }

  .am-v3-signal + .am-v3-signal {
    border-top: 1px solid rgba(158, 166, 205, .09);
    border-left: 0;
  }
}

@media (max-width: 767.98px) {
  .am-dashboard-v3 .fi-header {
    align-items: stretch;
  }

  .am-v3-command {
    padding: 1.2rem;
  }

  .am-v3-command__context {
    grid-template-columns: 1fr 1fr;
  }

  .am-v3-context-chip--period {
    grid-column: 1 / -1;
  }

  .am-v3-zone--executive .fi-wi-stats-overview-stat,
  .am-v3-zone--operations .fi-wi-stats-overview-stat,
  .am-v3-zone--analytics .fi-wi-stats-overview-stat {
    min-height: 7.5rem;
  }

  .am-v3-zone--analytics .fi-wi-stats-overview-stat-value {
    margin-top: .65rem;
    font-size: 2rem;
  }
}

@media (max-width: 520px) {
  .am-v3-command__context {
    grid-template-columns: 1fr;
  }

  .am-v3-context-chip--period {
    grid-column: auto;
  }

  .am-v3-deposit-rail {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   ADMIN DASHBOARD V4 — Casino Operations Center
   Composition + visual layer only. No data, query, filter, route or RBAC
   behaviour is defined here. Scope: .am-dashboard-v4 and .am-shell-v4.
   V3 rules above remain untouched for rollback.
   ========================================================================== */

.am-dashboard-v4 {
  --am4-ink: #f3f4ff;
  --am4-dim: rgba(201, 206, 236, .68);
  --am4-mute: rgba(158, 166, 205, .5);
  --am4-line: rgba(148, 160, 235, .11);
  --am4-line-strong: rgba(148, 160, 235, .2);
  --am4-panel: linear-gradient(168deg, rgba(18, 22, 46, .96), rgba(9, 12, 28, .975));
  --am4-panel-raise: linear-gradient(168deg, rgba(22, 26, 54, .96), rgba(11, 14, 32, .975));
  --am4-violet: #7c5cff;
  --am4-violet-ink: #cbbcff;
  --am4-gold: #e6c169;
  --am4-cyan: #49c5f2;
  --am4-pos: #3ddc97;
  --am4-neg: #ff5f7e;
  --am4-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  --am4-gap: 1rem;
}

/* Page chrome: the header becomes a slim command strip, not a title block. */
.am-dashboard-v4 > section {
  gap: .9rem;
  padding-top: .85rem;
  padding-bottom: 1.15rem;
}

.am-dashboard-v4 .fi-header {
  align-items: center;
  gap: .8rem;
  padding: .45rem .95rem;
  border: 1px solid var(--am4-line);
  border-radius: .85rem;
  background: linear-gradient(90deg, rgba(16, 19, 42, .9), rgba(10, 13, 30, .78));
}

.am-dashboard-v4 .fi-header-heading {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--am4-ink);
  font-size: .98rem;
  font-weight: 620;
  letter-spacing: -.005em;
}

.am-dashboard-v4 .fi-header-heading::before {
  content: "";
  width: .3rem;
  height: 1.05rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--am4-gold), rgba(124, 92, 255, .9));
}

.am-dashboard-v4 .fi-breadcrumbs-item-label {
  font-family: var(--am4-mono);
  font-size: .66rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.am-dashboard-v4 .fi-header-actions,
.am-dashboard-v4 .fi-header .fi-ac {
  gap: .45rem;
}

.am-dashboard-v4 .fi-header-actions .fi-btn,
.am-dashboard-v4 .fi-header .fi-ac .fi-btn {
  height: 2.15rem;
  padding-inline: .8rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .68rem;
  background: rgba(124, 92, 255, .07);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.am-dashboard-v4 .fi-header-actions .fi-btn:hover,
.am-dashboard-v4 .fi-header .fi-ac .fi-btn:hover {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .1);
}

/* --------------------------------------------------------------------------
   Asymmetric control-room grid (12 columns, deliberately uneven regions)
   -------------------------------------------------------------------------- */
.am-v4 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--am4-gap);
  align-items: stretch;
}

.am-v4 > * {
  min-width: 0;
}

.am-v4-console,
.am-v4-filterform,
.am-v4-alerts,
.am-v4-slot--hero,
.am-v4-slot--insights,
.am-v4-footline {
  grid-column: 1 / -1;
}

.am-v4-panel--analytics {
  grid-column: span 8;
  grid-row: span 2;
}

.am-v4-panel--instrument,
.am-v4-panel--treasury,
.am-v4-panel--wagering {
  grid-column: span 4;
}

.am-v4-panel--acquisition {
  grid-column: span 8;
}

.am-v4-slot--rank {
  grid-column: span 6;
}

.am-v4-filterform:not(:has(.fi-fo-component-ctn)),
.am-v4-filterform:empty {
  display: none;
}

/* --------------------------------------------------------------------------
   Console rail: identity + segmented scope cluster (replaces the V3 banner)
   -------------------------------------------------------------------------- */
.am-v4-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding: .85rem 1.05rem;
  border: 1px solid var(--am4-line);
  border-radius: .95rem;
  background:
    radial-gradient(28rem 12rem at 0% 0%, rgba(124, 92, 255, .13), transparent 62%),
    linear-gradient(90deg, rgba(17, 20, 44, .94), rgba(9, 12, 28, .9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.am-v4-console__id {
  display: flex;
  flex-direction: column;
  gap: .18rem;
  min-width: 0;
}

.am-v4-console__kicker {
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.am-v4-console__title {
  color: var(--am4-ink);
  font-size: 1.22rem;
  font-weight: 640;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.am-v4-cluster {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--am4-line-strong);
  border-radius: .8rem;
  background: rgba(8, 10, 26, .68);
  overflow: hidden;
}

.am-v4-cluster__cell {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 7.4rem;
  padding: .55rem .85rem;
}

.am-v4-cluster__cell + .am-v4-cluster__cell {
  border-inline-start: 1px solid var(--am4-line);
}

.am-v4-cluster__cell small {
  color: var(--am4-mute);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-cluster__cell strong {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  color: var(--am4-ink);
  font-size: .82rem;
  font-weight: 600;
  white-space: nowrap;
}

.am-v4-cluster__cell em {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-style: normal;
  letter-spacing: .05em;
}

.am-v4-cluster__cell--period strong {
  font-family: var(--am4-mono);
  font-size: .74rem;
  letter-spacing: .01em;
}

.am-v4-cluster__cell--signal strong i {
  width: .42rem;
  height: .42rem;
  border-radius: 999px;
  background: var(--am4-pos);
  box-shadow: 0 0 0 3px rgba(61, 220, 151, .16);
}

.am-v4-cluster__cell--signal.is-degraded strong {
  color: #ffd79a;
}

.am-v4-cluster__cell--signal.is-degraded strong i {
  background: var(--am4-gold);
  box-shadow: 0 0 0 3px rgba(230, 193, 105, .18);
}

/* --------------------------------------------------------------------------
   Reconciliation signal bar
   -------------------------------------------------------------------------- */
.am-v4-alerts .fi-wi,
.am-v4-alerts .fi-wi-widget {
  display: block;
  gap: 0;
}

.am-v4-incident {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .85rem;
  padding: .7rem .95rem;
  border: 1px solid rgba(230, 193, 105, .26);
  border-radius: .8rem;
  background: linear-gradient(90deg, rgba(230, 193, 105, .1), rgba(230, 193, 105, .02) 42%, transparent);
  box-shadow: inset 3px 0 0 rgba(230, 193, 105, .7);
}

.am-v4-incident__flag {
  padding: .25rem .5rem;
  border: 1px solid rgba(230, 193, 105, .3);
  border-radius: .45rem;
  background: rgba(230, 193, 105, .12);
  color: #ffdca5;
  font-family: var(--am4-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-incident__body strong {
  display: block;
  color: #ffe6bd;
  font-size: .78rem;
  font-weight: 640;
}

.am-v4-incident__body p {
  color: rgba(255, 233, 200, .74);
  font-size: .7rem;
  line-height: 1.45;
}

.am-v4-incident__detail {
  margin-top: .12rem;
  font-family: var(--am4-mono);
  font-size: .66rem !important;
}

/* --------------------------------------------------------------------------
   Card language 1 — HERO KPI (icon tile + oversized figure)
   -------------------------------------------------------------------------- */
.am-v4-slot .fi-wi,
.am-v4-slot .fi-wi-stats-overview {
  gap: 0 !important;
}

.am-v4-slot--hero .fi-wi-stats-overview-stats-ctn {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--am4-gap) !important;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat {
  position: relative;
  display: flex;
  min-height: 8.15rem;
  padding: 1rem 1.1rem 1.05rem !important;
  border: 1px solid var(--am4-line) !important;
  border-radius: 1rem !important;
  background:
    radial-gradient(16rem 9rem at 100% 0%, rgba(124, 92, 255, .16), transparent 66%),
    var(--am4-panel-raise) !important;
  box-shadow: 0 20px 44px rgba(3, 5, 18, .42), inset 0 1px 0 rgba(255, 255, 255, .045) !important;
  overflow: hidden;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 5.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(230, 193, 105, .55));
}

.am-v4-slot--hero .fi-wi-stats-overview-stat > .grid {
  width: 100%;
  gap: .3rem !important;
  align-content: start;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat > .grid > *:first-child {
  min-height: 2.3rem;
  padding-inline-start: 3.1rem;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat-label {
  color: var(--am4-mute);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .17em;
  line-height: 1.3;
  text-transform: uppercase;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat-value {
  color: var(--am4-ink);
  font-size: clamp(1.3rem, 1.5vw, 1.78rem);
  font-weight: 660;
  letter-spacing: -.03em;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat-description {
  color: var(--am4-dim);
  font-size: .68rem !important;
  line-height: 1.4;
}

.am-v4-slot--hero .fi-wi-stats-overview-stat-description-icon {
  position: absolute;
  top: .95rem;
  left: 1.05rem;
  width: 2.3rem !important;
  height: 2.3rem !important;
  padding: .58rem;
  border: 1px solid rgba(148, 160, 235, .2);
  border-color: color-mix(in srgb, currentColor 32%, transparent);
  border-radius: .72rem;
  background: rgba(124, 92, 255, .12);
  background: color-mix(in srgb, currentColor 15%, transparent);
}

.am-v4-slot--hero .fi-wi-stats-overview-stat-chart {
  height: .95rem;
  opacity: .85;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

/* --------------------------------------------------------------------------
   Card language 2 — COMPACT LEDGER ROWS (inside panels, not standalone cards)
   -------------------------------------------------------------------------- */
.am-v4-slot--ledger .fi-wi-stats-overview-stats-ctn {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat {
  padding: .68rem .05rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat + .fi-wi-stats-overview-stat {
  border-top: 1px solid var(--am4-line) !important;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat > .grid {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .12rem .85rem !important;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat > .grid > *:nth-child(1) {
  grid-area: 1 / 1 / 2 / 2;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat > .grid > *:nth-child(2) {
  grid-area: 1 / 2 / 2 / 3;
  justify-self: end;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat > .grid > *:nth-child(3) {
  grid-area: 2 / 1 / 3 / 3;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat-label {
  color: var(--am4-dim);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat-value {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .96rem !important;
  font-weight: 600;
  letter-spacing: -.01em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat-description {
  color: var(--am4-mute);
  font-size: .63rem !important;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat-description-icon,
.am-v4-slot--ledger .fi-wi-stats-overview-stat-icon {
  width: .85rem !important;
  height: .85rem !important;
}

.am-v4-slot--ledger .fi-wi-stats-overview-stat-chart {
  display: none !important;
}

.am-v4-slot--conversion .fi-wi-stats-overview-stat {
  padding: .58rem .05rem !important;
}

/* --------------------------------------------------------------------------
   Card language 3 — ANALYTICS PANEL shell
   -------------------------------------------------------------------------- */
.am-v4-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--am4-line);
  border-radius: 1.05rem;
  background: var(--am4-panel);
  box-shadow: 0 22px 48px rgba(3, 5, 18, .4);
  overflow: hidden;
}

.am-v4-panel::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(124, 92, 255, .6) 26%, rgba(230, 193, 105, .38) 74%, transparent);
}

.am-v4-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1.15rem .75rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-panel__head--tight {
  padding-bottom: .6rem;
}

.am-v4-panel__title {
  display: flex;
  flex-direction: column;
  gap: .14rem;
  min-width: 0;
}

.am-v4-panel__eyebrow {
  color: var(--am4-violet-ink);
  font-family: var(--am4-mono);
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-panel__title h3 {
  color: var(--am4-ink);
  font-size: .93rem;
  font-weight: 620;
  letter-spacing: -.012em;
  line-height: 1.25;
}

.am-v4-panel__title p {
  color: var(--am4-mute);
  font-size: .67rem;
  line-height: 1.45;
}

.am-v4-panel__meta {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.am-v4-tag {
  padding: .22rem .5rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .45rem;
  background: rgba(8, 10, 26, .6);
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .6rem;
  letter-spacing: .06em;
  white-space: nowrap;
}

.am-v4-tag--accent {
  border-color: rgba(230, 193, 105, .32);
  background: rgba(230, 193, 105, .1);
  color: #f0d69b;
  font-weight: 700;
}

.am-v4-panel__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: .55rem 1.15rem 1rem;
}

.am-v4-panel--ledger .am-v4-panel__body {
  padding-block: .25rem .55rem;
  justify-content: center;
}

/* Chart bays: the Filament section chrome is suppressed so the panel owns it. */
.am-v4-chartbay {
  flex: 1 1 auto;
  display: flex;
  min-width: 0;
  padding: 0;
}

.am-v4-chartbay > .fi-wi,
.am-v4-chartbay .fi-wi-widget,
.am-v4-chartbay .fi-section,
.am-v4-chartbay .fi-section-content-ctn,
.am-v4-chartbay .fi-section-content {
  width: 100%;
  min-width: 0;
  height: 100%;
}

.am-v4-chartbay .fi-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-chartbay .fi-section-header,
.am-v4-chartbay .fi-section-header-ctn {
  display: none !important;
}

.am-v4-chartbay .fi-section-content {
  padding: 0 !important;
}

.am-v4-chartbay .fi-section-content > div,
.am-v4-chartbay .fi-section-content > div > div {
  height: 100%;
}

.am-v4-chartbay--primary {
  min-height: 25.5rem;
}

.am-v4-chartbay--primary canvas {
  height: 100% !important;
  max-height: none !important;
}

.am-v4-chartbay--secondary {
  min-height: 12.5rem;
}

.am-v4-chartbay--secondary canvas {
  max-height: 11.5rem !important;
}

/* Acquisition panel: chart + conversion ledger side by side. */
.am-v4-acquisition {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 13.5rem;
  gap: 1.15rem;
  align-items: stretch;
}

.am-v4-slot--conversion {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-inline-start: 1.15rem;
  border-inline-start: 1px solid var(--am4-line);
}

/* --------------------------------------------------------------------------
   RTP instrument (real ring gauge driven by the widget value)
   -------------------------------------------------------------------------- */
.am-v4-instrumentbay {
  padding: 0;
}

.am-v4-instrumentbay .fi-wi,
.am-v4-instrumentbay .fi-wi-widget {
  display: block;
  width: 100%;
  gap: 0;
}

.am-v4-rtp {
  --am4-arc-a: var(--am4-cyan);
  --am4-arc-b: var(--am4-violet);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .95rem;
  padding: .85rem 0 .35rem;
}

.am-v4-rtp--negative {
  --am4-arc-a: #ffa06c;
  --am4-arc-b: var(--am4-neg);
}

.am-v4-rtp__dial {
  position: relative;
  display: grid;
  place-items: center;
  width: 9.9rem;
  height: 9.9rem;
  border-radius: 50%;
  background: conic-gradient(
    var(--am4-arc-a) 0deg,
    var(--am4-arc-b) var(--am4-arc, 0deg),
    rgba(148, 160, 235, .085) var(--am4-arc, 0deg)
  );
  box-shadow: inset 0 0 0 1px rgba(148, 160, 235, .16), 0 18px 40px rgba(3, 5, 18, .5);
}

.am-v4-rtp__dial::after {
  content: "";
  position: absolute;
  inset: .78rem;
  border-radius: 50%;
  border: 1px solid rgba(148, 160, 235, .13);
  background: radial-gradient(circle at 50% 26%, rgba(25, 29, 60, .99), rgba(10, 13, 30, .99));
}

.am-v4-rtp__core {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .1rem;
}

.am-v4-rtp__core strong {
  color: #fff;
  font-size: 1.62rem;
  font-weight: 660;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
}

.am-v4-rtp__core span {
  color: var(--am4-mute);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.am-v4-rtp__ledger {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.am-v4-rtp__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  padding: .5rem .15rem;
  border-top: 1px solid var(--am4-line);
}

.am-v4-rtp__row dt {
  color: var(--am4-mute);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.am-v4-rtp__row dd {
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
}

.am-v4-rtp__row--total dd {
  color: var(--am4-pos);
  font-size: .86rem;
  font-weight: 600;
}

.am-v4-rtp__row--total.is-negative dd {
  color: var(--am4-neg);
}

/* --------------------------------------------------------------------------
   Ranking panels (own markup, no Filament section chrome)
   -------------------------------------------------------------------------- */
.am-v4-slot--rank,
.am-v4-slot--rank > .fi-wi,
.am-v4-slot--rank .fi-wi-widget,
.am-v4-slot--insights,
.am-v4-slot--insights > .fi-wi,
.am-v4-slot--insights .fi-wi-widget {
  display: block;
  height: 100%;
  min-width: 0;
}

.am-v4-rank-widget .am-v4-panel {
  height: 100%;
}

.am-v4-panel--rank.is-negative::before {
  background: linear-gradient(180deg, transparent, rgba(255, 95, 126, .6) 30%, transparent);
}

.am-v4-panel--rank.is-positive::before {
  background: linear-gradient(180deg, transparent, rgba(61, 220, 151, .55) 30%, transparent);
}

.am-v4-panel--rank.is-negative .am-v4-panel__eyebrow {
  color: #ffa9ba;
}

.am-v4-panel--rank.is-positive .am-v4-panel__eyebrow {
  color: #96f0c6;
}

.am-v4-rank__totals {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .4rem;
  margin-bottom: .75rem;
  padding: .6rem .7rem;
  border: 1px solid var(--am4-line);
  border-radius: .7rem;
  background: rgba(8, 10, 26, .55);
}

.am-v4-rank__totals > div {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  min-width: 0;
}

.am-v4-rank__totals small {
  color: var(--am4-mute);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.am-v4-rank__totals strong {
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .7rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.am-v4-rank__totals-cell--accent strong {
  color: #f0d69b;
}

.am-v4-rank__list {
  display: flex;
  flex-direction: column;
}

.am-v4-rank__item {
  display: grid;
  grid-template-columns: 1.9rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
  padding: .6rem .1rem;
  border-top: 1px solid var(--am4-line);
}

.am-v4-rank__item:first-child {
  border-top: 0;
}

.am-v4-rank__rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .58rem;
  background: rgba(124, 92, 255, .1);
  color: var(--am4-violet-ink);
  font-family: var(--am4-mono);
  font-size: .66rem;
  font-weight: 700;
}

.am-v4-rank__item.is-negative .am-v4-rank__rank {
  border-color: rgba(255, 95, 126, .3);
  background: rgba(255, 95, 126, .1);
  color: #ffb3c2;
}

.am-v4-rank__identity {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}

.am-v4-rank__identity > strong {
  color: var(--am4-ink);
  font-size: .8rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-rank__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .15rem .6rem;
  color: var(--am4-mute);
  font-size: .62rem;
}

.am-v4-rank__meta em {
  font-family: var(--am4-mono);
  font-style: normal;
  color: var(--am4-dim);
}

.am-v4-rank__bar {
  display: block;
  height: 3px;
  margin-top: .18rem;
  border-radius: 999px;
  background: rgba(148, 160, 235, .1);
  overflow: hidden;
}

.am-v4-rank__bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(61, 220, 151, .95), rgba(73, 197, 242, .6));
}

.am-v4-rank__item.is-negative .am-v4-rank__bar i {
  background: linear-gradient(90deg, rgba(255, 95, 126, .95), rgba(255, 160, 108, .6));
}

.am-v4-rank__result {
  text-align: end;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.am-v4-rank__result strong {
  color: var(--am4-pos);
  font-family: var(--am4-mono);
  font-size: .88rem;
  font-weight: 640;
  font-variant-numeric: tabular-nums;
}

.am-v4-rank__item.is-negative .am-v4-rank__result strong {
  color: var(--am4-neg);
}

.am-v4-rank__result span {
  color: var(--am4-mute);
  font-size: .6rem;
  font-variant-numeric: tabular-nums;
}

.am-v4-empty {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: 1.1rem;
  border: 1px dashed var(--am4-line-strong);
  border-radius: .8rem;
  background: rgba(8, 10, 26, .45);
}

.am-v4-empty strong {
  color: var(--am4-ink);
  font-size: .78rem;
  font-weight: 600;
}

.am-v4-empty span {
  color: var(--am4-mute);
  font-size: .68rem;
}

/* --------------------------------------------------------------------------
   Movement intelligence band (ladder + signal tiles)
   -------------------------------------------------------------------------- */
.am-v4-band {
  position: relative;
  border: 1px solid var(--am4-line);
  border-radius: 1.05rem;
  background:
    radial-gradient(30rem 14rem at 100% 0%, rgba(230, 193, 105, .07), transparent 66%),
    var(--am4-panel);
  box-shadow: 0 22px 48px rgba(3, 5, 18, .4);
  overflow: hidden;
}

.am-v4-band__head {
  padding: .95rem 1.2rem .7rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-band__body {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  gap: 1.3rem;
  padding: 1rem 1.2rem 1.15rem;
}

.am-v4-ladder__caption {
  display: block;
  margin-bottom: .55rem;
  color: var(--am4-mute);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.am-v4-ladder__list {
  display: flex;
  flex-direction: column;
}

.am-v4-ladder__row {
  display: grid;
  grid-template-columns: 1.65rem minmax(0, 12rem) minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .5rem .05rem;
  border-top: 1px solid var(--am4-line);
}

.am-v4-ladder__row:first-child {
  border-top: 0;
}

.am-v4-ladder__step {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .62rem;
  font-weight: 700;
}

.am-v4-ladder__identity {
  display: flex;
  flex-direction: column;
  gap: .05rem;
  min-width: 0;
}

.am-v4-ladder__identity strong {
  color: var(--am4-ink);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .07em;
}

.am-v4-ladder__identity span {
  color: var(--am4-mute);
  font-size: .62rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-ladder__track {
  display: block;
  height: 6px;
  border-radius: 999px;
  background: rgba(148, 160, 235, .09);
  overflow: hidden;
}

.am-v4-ladder__track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(124, 92, 255, .95), rgba(230, 193, 105, .75));
}

.am-v4-ladder__count {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .84rem;
  font-weight: 640;
  font-variant-numeric: tabular-nums;
}

.am-v4-signals {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.am-v4-signal {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .1rem;
  padding: .7rem .85rem .75rem 1rem;
  border: 1px solid var(--am4-line);
  border-radius: .8rem;
  background: rgba(8, 10, 26, .55);
}

.am-v4-signal::before {
  content: "";
  position: absolute;
  inset-block: .7rem;
  inset-inline-start: 0;
  width: 2px;
  border-radius: 999px;
  background: var(--am4-violet);
}

.am-v4-signal--peak::before {
  background: var(--am4-gold);
}

.am-v4-signal--weak::before {
  background: rgba(148, 160, 235, .45);
}

.am-v4-signal__label {
  color: var(--am4-mute);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-signal strong {
  color: var(--am4-ink);
  font-size: .86rem;
  font-weight: 620;
}

.am-v4-signal p {
  color: var(--am4-dim);
  font-size: .64rem;
  line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Foot line
   -------------------------------------------------------------------------- */
.am-v4-footline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem .2rem 0;
  border-top: 1px solid var(--am4-line);
  color: var(--am4-mute);
  font-size: .64rem;
}

.am-v4-footline__source {
  font-family: var(--am4-mono);
  letter-spacing: .04em;
}

/* --------------------------------------------------------------------------
   Desktop safeguards: 1440 and 1366 are the approved QA widths
   -------------------------------------------------------------------------- */
@media (max-width: 1439px) {
  .am-v4 {
    --am4-gap: .85rem;
  }

  .am-v4-cluster__cell {
    min-width: 6.6rem;
    padding: .5rem .7rem;
  }

  .am-v4-console__title {
    font-size: 1.12rem;
  }

  .am-v4-chartbay--primary {
    min-height: 23.5rem;
  }

  .am-v4-chartbay--primary canvas {
    height: 100% !important;
    max-height: none !important;
  }

  .am-v4-acquisition {
    grid-template-columns: minmax(0, 1fr) 12rem;
  }
}

@media (max-width: 1279px) {
  .am-v4-panel--analytics {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .am-v4-panel--instrument,
  .am-v4-panel--treasury,
  .am-v4-panel--wagering,
  .am-v4-panel--acquisition {
    grid-column: span 6;
  }

  .am-v4-slot--hero .fi-wi-stats-overview-stats-ctn {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .am-v4-console {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-v4-cluster {
    flex-wrap: wrap;
  }
}

@media (max-width: 1023px) {
  .am-v4-panel--instrument,
  .am-v4-panel--treasury,
  .am-v4-panel--wagering,
  .am-v4-panel--acquisition,
  .am-v4-slot--rank {
    grid-column: 1 / -1;
  }

  .am-v4-acquisition,
  .am-v4-band__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-v4-slot--conversion {
    padding-inline-start: 0;
    border-inline-start: 0;
    border-top: 1px solid var(--am4-line);
  }

  .am-v4-ladder__row {
    grid-template-columns: 1.5rem minmax(0, 1fr) auto;
  }

  .am-v4-ladder__track {
    display: none;
  }
}

@media (max-width: 720px) {
  .am-v4-slot--hero .fi-wi-stats-overview-stats-ctn {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .am-v4-rank__totals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------------
   Shell V4: product chrome for topbar and sidebar (all items preserved)
   -------------------------------------------------------------------------- */
.dark .fi-topbar > nav {
  min-height: 4.3rem;
  background:
    linear-gradient(180deg, rgba(12, 15, 36, .9), rgba(8, 10, 28, .82));
  border-bottom: 1px solid rgba(148, 160, 235, .13);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

.dark .fi-topbar .fi-global-search-field .fi-input-wrp {
  border-radius: .7rem;
  background: rgba(8, 10, 26, .72);
  border-color: rgba(148, 160, 235, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

.dark .fi-topbar .fi-global-search-field .fi-input-wrp:focus-within {
  border-color: rgba(230, 193, 105, .34);
  box-shadow: 0 0 0 3px rgba(230, 193, 105, .1);
}

.dark .fi-topbar .fi-dropdown-trigger .fi-user-avatar,
.dark .fi-topbar .fi-avatar {
  box-shadow: 0 0 0 1px rgba(230, 193, 105, .34), 0 0 0 4px rgba(124, 92, 255, .12);
}

.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
  background: linear-gradient(90deg, rgba(124, 92, 255, .22), rgba(124, 92, 255, .04));
  border-color: rgba(148, 160, 235, .16);
  box-shadow: inset 3px 0 0 var(--am-gold, #e6c169), 0 10px 24px rgba(3, 5, 18, .3);
}

.dark .fi-sidebar-group-label {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .58rem;
  letter-spacing: .2em;
}

.am-dashboard-v4 .fi-header .fi-ac .fi-btn {
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .09) !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-dashboard-v4 .fi-header .fi-ac .fi-btn:hover {
  background: rgba(230, 193, 105, .12) !important;
}

.am-dashboard-v4 .fi-header .fi-ac .fi-btn .fi-btn-icon {
  width: 1rem;
  height: 1rem;
  color: rgba(230, 193, 105, .85);
}

/* ==========================================================================
   ADMIN UI V4 — ROLLOUT LAYER
   Shared structural primitives for every admin module migrated to V4.
   Scope: .am-v4-page (page root) + global .am-v4-* composition classes.
   No data, query, filter, route, policy or RBAC behaviour is defined here.
   Dashboard V4 rules above are NOT modified (additive layer only).
   ========================================================================== */

.am-v4-page {
  --am4-ink: #f3f4ff;
  --am4-dim: rgba(201, 206, 236, .68);
  --am4-mute: rgba(158, 166, 205, .5);
  --am4-line: rgba(148, 160, 235, .11);
  --am4-line-strong: rgba(148, 160, 235, .2);
  --am4-panel: linear-gradient(168deg, rgba(18, 22, 46, .96), rgba(9, 12, 28, .975));
  --am4-panel-raise: linear-gradient(168deg, rgba(22, 26, 54, .96), rgba(11, 14, 32, .975));
  --am4-violet: #7c5cff;
  --am4-violet-ink: #cbbcff;
  --am4-gold: #e6c169;
  --am4-cyan: #49c5f2;
  --am4-pos: #3ddc97;
  --am4-neg: #ff5f7e;
  --am4-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  --am4-gap: 1rem;
}

/* Page chrome: slim command strip instead of a Filament title block. */
.am-v4-page > section {
  gap: .9rem;
  padding-top: .85rem;
  padding-bottom: 1.15rem;
}

.am-v4-page .fi-header {
  align-items: center;
  gap: .8rem;
  padding: .45rem .95rem;
  border: 1px solid var(--am4-line);
  border-radius: .85rem;
  background: linear-gradient(90deg, rgba(16, 19, 42, .9), rgba(10, 13, 30, .78));
}

.am-v4-page .fi-header-heading {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--am4-ink);
  font-size: .98rem;
  font-weight: 620;
  letter-spacing: -.005em;
}

.am-v4-page .fi-header-heading::before {
  content: "";
  width: .3rem;
  height: 1.05rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--am4-gold), rgba(124, 92, 255, .9));
}

.am-v4-page .fi-header-subheading {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .66rem;
  letter-spacing: .05em;
}

.am-v4-page .fi-breadcrumbs-item-label {
  font-family: var(--am4-mono);
  font-size: .66rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.am-v4-page .fi-header-actions,
.am-v4-page .fi-header .fi-ac {
  gap: .45rem;
}

.am-v4-page .fi-header-actions .fi-btn,
.am-v4-page .fi-header .fi-ac .fi-btn {
  height: 2.15rem;
  padding-inline: .8rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .68rem;
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .09) !important;
  box-shadow: none !important;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .01em;
  --tw-ring-color: transparent;
}

.am-v4-page .fi-header-actions .fi-btn:hover,
.am-v4-page .fi-header .fi-ac .fi-btn:hover {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .12) !important;
}

.am-v4-page .fi-header .fi-ac .fi-btn .fi-btn-icon {
  width: 1rem;
  height: 1rem;
  color: rgba(230, 193, 105, .85);
}

/* --------------------------------------------------------------------------
   Rollout grid regions (12 columns, deliberately uneven)
   -------------------------------------------------------------------------- */
.am-v4-railnav,
.am-v4-slot--full,
.am-v4-slot--table,
.am-v4-slot--rail,
.am-v4-slot--strip,
.am-v4-panel--full,
.am-v4-band {
  grid-column: 1 / -1;
}

.am-v4-panel--dominant {
  grid-column: span 8;
}

.am-v4-panel--dominant-tall {
  grid-column: span 8;
  grid-row: span 2;
}

.am-v4-panel--aside {
  grid-column: span 4;
}

.am-v4-panel--half {
  grid-column: span 6;
}

.am-v4-panel--third {
  grid-column: span 4;
}

.am-v4-panel--quarter {
  grid-column: span 3;
}

.am-v4-panel--seven {
  grid-column: span 7;
}

.am-v4-panel--five {
  grid-column: span 5;
}

.am-v4-slot--half {
  grid-column: span 6;
}

/* Trio / duo hero variants (the dashboard hero is locked to four cells). */
.am-v4-slot--hero.am-v4-slot--trio .fi-wi-stats-overview-stats-ctn {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.am-v4-slot--hero.am-v4-slot--duo .fi-wi-stats-overview-stats-ctn {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Compact horizontal ledger strip (secondary KPIs, segmented not carded). */
.am-v4-slot--strip .fi-wi,
.am-v4-slot--strip .fi-wi-stats-overview {
  gap: 0 !important;
}

.am-v4-slot--strip .fi-wi-stats-overview-stats-ctn {
  display: flex !important;
  gap: 0 !important;
  border: 1px solid var(--am4-line-strong);
  border-radius: .85rem;
  background: rgba(8, 10, 26, .68);
  overflow: hidden;
}

.am-v4-slot--strip .fi-wi-stats-overview-stat {
  flex: 1 1 0;
  min-width: 0;
  padding: .62rem .9rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-slot--strip .fi-wi-stats-overview-stat + .fi-wi-stats-overview-stat {
  border-inline-start: 1px solid var(--am4-line) !important;
}

.am-v4-slot--strip .fi-wi-stats-overview-stat-label {
  color: var(--am4-mute);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-slot--strip .fi-wi-stats-overview-stat-value {
  margin-top: .18rem;
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: 1.05rem;
  font-weight: 620;
  letter-spacing: -.01em;
}

.am-v4-slot--strip .fi-wi-stats-overview-stat-description {
  color: var(--am4-mute);
  font-size: .6rem;
}

.am-v4-slot--strip .fi-wi-stats-overview-stat-chart,
.am-v4-slot--strip .fi-wi-stats-overview-stat-description-icon {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Module rail navigation: real routes only, RBAC filtered upstream
   -------------------------------------------------------------------------- */
.am-v4-railnav {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding: .28rem;
  border: 1px solid var(--am4-line);
  border-radius: .85rem;
  background: linear-gradient(90deg, rgba(15, 18, 40, .9), rgba(9, 12, 28, .78));
  overflow-x: auto;
  scrollbar-width: none;
}

.am-v4-railnav::-webkit-scrollbar {
  display: none;
}

.am-v4-railnav__label {
  display: inline-flex;
  align-items: center;
  padding-inline: .55rem .8rem;
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-railnav__link {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  padding: .42rem .78rem;
  border-radius: .6rem;
  color: var(--am4-dim);
  font-size: .74rem;
  font-weight: 560;
  letter-spacing: .005em;
  white-space: nowrap;
  transition: background-color .14s ease, color .14s ease;
}

.am-v4-railnav__link:hover {
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .12);
}

.am-v4-railnav__link.is-active {
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .18);
  box-shadow: inset 0 0 0 1px rgba(148, 160, 235, .22);
}

.am-v4-railnav__link.is-active::before {
  content: "";
  width: .26rem;
  height: .9rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--am4-gold), rgba(124, 92, 255, .9));
}

.am-v4-railnav__count {
  padding: .05rem .34rem;
  border-radius: .35rem;
  background: rgba(148, 160, 235, .14);
  color: var(--am4-violet-ink);
  font-family: var(--am4-mono);
  font-size: .6rem;
}

/* --------------------------------------------------------------------------
   Table bay: the Filament table lives inside a V4 shell, not its own card
   -------------------------------------------------------------------------- */
.am-v4-tablebay {
  padding: 0 !important;
  min-width: 0;
}

.am-v4-tablebay > .fi-ta,
.am-v4-tablebay .fi-ta-ctn {
  width: 100%;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-v4-tablebay .fi-ta-header-ctn:empty {
  display: none;
}

.am-v4-tablebay .fi-ta-header,
.am-v4-tablebay .fi-ta-header-toolbar {
  border: 0 !important;
  background: transparent !important;
}

.am-v4-tablebay .fi-ta-header-toolbar {
  gap: .55rem;
  padding: .6rem 1.15rem .55rem;
}

.am-v4-tablebay .fi-ta-header-heading {
  color: var(--am4-ink);
  font-size: .82rem;
  font-weight: 620;
}

.am-v4-tablebay .fi-ta-header-description {
  color: var(--am4-mute);
  font-size: .68rem;
}

.am-v4-tablebay .fi-ta-search-field .fi-input-wrp,
.am-v4-tablebay .fi-input-wrp {
  border-radius: .6rem;
  background: rgba(8, 10, 26, .72) !important;
  --tw-ring-color: rgba(148, 160, 235, .18);
}

.am-v4-tablebay .fi-ta-actions .fi-btn,
.am-v4-tablebay .fi-ta-header-toolbar .fi-btn,
.am-v4-tablebay .fi-ta-header-toolbar .fi-icon-btn {
  border-radius: .6rem;
  font-size: .72rem;
}

/* Column head: micro mono labels, sticky inside the shell. */
.am-v4-tablebay .fi-ta-table thead {
  background: rgba(8, 10, 26, .82) !important;
}

.am-v4-tablebay .fi-ta-table thead th {
  padding-block: .5rem !important;
  border-bottom: 1px solid var(--am4-line-strong) !important;
  background: transparent !important;
  color: var(--am4-mute) !important;
  font-family: var(--am4-mono);
  font-size: .58rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-tablebay .fi-ta-header-cell-label {
  font-size: .58rem !important;
  letter-spacing: .14em;
}

.am-v4-tablebay .fi-ta-row {
  background: transparent !important;
  border-bottom: 1px solid var(--am4-line) !important;
}

.am-v4-tablebay .fi-ta-row:nth-child(even) {
  background: rgba(255, 255, 255, .012) !important;
}

.am-v4-tablebay .fi-ta-row:hover {
  background: rgba(124, 92, 255, .085) !important;
  box-shadow: inset 3px 0 0 rgba(230, 193, 105, .55);
}

.am-v4-tablebay .fi-ta-cell {
  padding-block: .5rem !important;
}

.am-v4-tablebay .fi-ta-text,
.am-v4-tablebay .fi-ta-text-item-label {
  color: var(--am4-dim);
  font-size: .76rem;
}

.am-v4-tablebay .fi-ta-empty-state {
  background: transparent !important;
}

.am-v4-tablebay .fi-ta-empty-state-heading {
  color: var(--am4-ink);
  font-size: .84rem;
}

.am-v4-tablebay .fi-ta-empty-state-description {
  color: var(--am4-mute);
  font-size: .7rem;
}

.am-v4-tablebay .fi-ta-pagination,
.am-v4-tablebay .fi-pagination {
  padding: .5rem 1.15rem .2rem !important;
  border-top: 1px solid var(--am4-line) !important;
  background: transparent !important;
}

.am-v4-tablebay .fi-pagination .fi-btn,
.am-v4-tablebay .fi-pagination .fi-icon-btn {
  border-radius: .5rem;
  font-family: var(--am4-mono);
  font-size: .66rem;
}

/* Numeric-ish cells read as instrumentation. */
.am-v4-tablebay .fi-ta-cell[class*="currency"] .fi-ta-text-item-label,
.am-v4-tablebay .fi-ta-cell[class*="total"] .fi-ta-text-item-label,
.am-v4-tablebay .fi-ta-cell[class*="amount"] .fi-ta-text-item-label,
.am-v4-tablebay .fi-ta-cell[class*="ranking"] .fi-ta-text-item-label,
.am-v4-tablebay .fi-ta-cell[class*="value"] .fi-ta-text-item-label,
.am-v4-tablebay .fi-ta-cell[class*="balance"] .fi-ta-text-item-label {
  font-family: var(--am4-mono);
  letter-spacing: -.01em;
}

/* --------------------------------------------------------------------------
   Form bay: schema sections become V4 operational areas
   -------------------------------------------------------------------------- */
.am-v4-formbay {
  padding: .55rem 1.15rem 1.05rem;
}

.am-v4-formbay .fi-fo-component-ctn,
.am-v4-formbay form {
  min-width: 0;
}

.am-v4-formbay .fi-section {
  border: 1px solid var(--am4-line) !important;
  border-radius: .85rem !important;
  background: rgba(8, 10, 26, .5) !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-v4-formbay .fi-section-header {
  padding: .7rem .95rem .55rem !important;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-formbay .fi-section-header-heading {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .64rem !important;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-formbay .fi-section-header-description {
  color: var(--am4-mute);
  font-size: .68rem;
}

.am-v4-formbay .fi-section-content {
  padding: .85rem .95rem 1rem !important;
}

.am-v4-formbay .fi-fo-field-wrp-label {
  color: var(--am4-dim);
  font-size: .72rem;
  font-weight: 560;
}

.am-v4-formbay .fi-fo-field-wrp-hint,
.am-v4-formbay .fi-fo-field-wrp-helper-text {
  color: var(--am4-mute);
  font-size: .66rem;
}

.am-v4-formbay .fi-input-wrp {
  border-radius: .6rem;
  background: rgba(6, 8, 22, .78) !important;
  --tw-ring-color: rgba(148, 160, 235, .18);
}

.am-v4-formbay .fi-input {
  font-size: .78rem;
}

/* Form action bar reads as a commit strip, not floating buttons. */
.am-v4-formbay .fi-form-actions {
  margin-top: 1rem;
  padding: .65rem .85rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .75rem;
  background: linear-gradient(90deg, rgba(124, 92, 255, .09), rgba(9, 12, 28, .6));
}

/* --------------------------------------------------------------------------
   Danger / warning zone: critical actions are structurally separated
   -------------------------------------------------------------------------- */
.am-v4-zone {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(255, 95, 126, .26);
  border-radius: .85rem;
  background:
    radial-gradient(24rem 10rem at 0% 0%, rgba(255, 95, 126, .12), transparent 64%),
    rgba(9, 12, 28, .7);
}

.am-v4-zone--warning {
  border-color: rgba(230, 193, 105, .28);
  background:
    radial-gradient(24rem 10rem at 0% 0%, rgba(230, 193, 105, .12), transparent 64%),
    rgba(9, 12, 28, .7);
}

.am-v4-zone__kicker {
  display: block;
  color: var(--am4-neg);
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-zone--warning .am-v4-zone__kicker {
  color: var(--am4-gold);
}

.am-v4-zone strong {
  display: block;
  margin-top: .16rem;
  color: var(--am4-ink);
  font-size: .88rem;
  font-weight: 620;
}

.am-v4-zone p {
  margin-top: .12rem;
  color: var(--am4-mute);
  font-size: .7rem;
}

/* --------------------------------------------------------------------------
   State chips: consistent semantic vocabulary across modules
   -------------------------------------------------------------------------- */
.am-v4-state {
  display: inline-flex;
  align-items: center;
  gap: .34rem;
  padding: .16rem .5rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .45rem;
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.am-v4-state::before {
  content: "";
  width: .34rem;
  height: .34rem;
  border-radius: 999px;
  background: currentColor;
}

.am-v4-state--pending {
  border-color: rgba(230, 193, 105, .32);
  color: var(--am4-gold);
}

.am-v4-state--approved {
  border-color: rgba(61, 220, 151, .3);
  color: var(--am4-pos);
}

.am-v4-state--rejected {
  border-color: rgba(255, 95, 126, .32);
  color: var(--am4-neg);
}

.am-v4-state--review {
  border-color: rgba(73, 197, 242, .32);
  color: var(--am4-cyan);
}

.am-v4-state--neutral {
  color: var(--am4-mute);
}

/* --------------------------------------------------------------------------
   Metric tiles built from real page data (no invented numbers)
   -------------------------------------------------------------------------- */
.am-v4-tiles {
  display: grid;
  gap: var(--am4-gap);
}

.am-v4-tiles--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.am-v4-tiles--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.am-v4-tiles--5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.am-v4-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .22rem;
  min-width: 0;
  padding: .85rem .95rem .9rem;
  border: 1px solid var(--am4-line);
  border-radius: .9rem;
  background: var(--am4-panel-raise);
  overflow: hidden;
}

.am-v4-tile::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: .2rem;
  background: linear-gradient(90deg, rgba(124, 92, 255, .85), rgba(230, 193, 105, .5));
}

.am-v4-tile--pos::before {
  background: linear-gradient(90deg, rgba(61, 220, 151, .9), rgba(73, 197, 242, .5));
}

.am-v4-tile--neg::before {
  background: linear-gradient(90deg, rgba(255, 95, 126, .9), rgba(255, 160, 108, .5));
}

.am-v4-tile--warn::before {
  background: linear-gradient(90deg, rgba(230, 193, 105, .9), rgba(124, 92, 255, .45));
}

.am-v4-tile__label {
  color: var(--am4-mute);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-tile__value {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: 1.55rem;
  font-weight: 620;
  letter-spacing: -.02em;
  line-height: 1.05;
}

.am-v4-tile--sm .am-v4-tile__value {
  font-size: 1.15rem;
}

.am-v4-tile__note {
  color: var(--am4-dim);
  font-size: .68rem;
}

/* --------------------------------------------------------------------------
   Definition list used for record context blocks
   -------------------------------------------------------------------------- */
.am-v4-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .1rem 1rem;
}

.am-v4-facts--1 {
  grid-template-columns: minmax(0, 1fr);
}

.am-v4-fact {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  padding: .38rem 0;
  border-bottom: 1px solid var(--am4-line);
  min-width: 0;
}

.am-v4-fact:last-child {
  border-bottom: 0;
}

.am-v4-fact dt {
  color: var(--am4-mute);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-fact dd {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .74rem;
  text-align: end;
  overflow-wrap: anywhere;
}

/* --------------------------------------------------------------------------
   Queue list (verification / moderation flows)
   -------------------------------------------------------------------------- */
.am-v4-queue {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.am-v4-queue__row {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  padding: .62rem .3rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-queue__row:last-child {
  border-bottom: 0;
}

.am-v4-queue__seq {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .68rem;
}

.am-v4-queue__who {
  min-width: 0;
}

.am-v4-queue__who strong {
  display: block;
  color: var(--am4-ink);
  font-size: .8rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-queue__who span {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .64rem;
}

/* --------------------------------------------------------------------------
   Operations board (support / chat): conversations | thread | context
   -------------------------------------------------------------------------- */
.am-v4-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--am4-gap);
  grid-column: 1 / -1;
}

.am-v4-board--split {
  grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
  align-items: start;
}

.am-v4-board--triple {
  grid-template-columns: 19rem minmax(0, 1fr) 20rem;
  align-items: start;
}

.am-v4-thread {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-width: 0;
  max-height: 34rem;
  overflow-y: auto;
  padding-inline-end: .3rem;
  scrollbar-gutter: stable;
}

.am-v4-msg {
  max-width: 82%;
  padding: .55rem .75rem;
  border: 1px solid var(--am4-line);
  border-radius: .75rem;
  background: rgba(8, 10, 26, .66);
}

.am-v4-msg--in {
  align-self: flex-start;
  border-start-start-radius: .25rem;
}

.am-v4-msg--out {
  align-self: flex-end;
  border-start-end-radius: .25rem;
  background: rgba(124, 92, 255, .14);
  border-color: rgba(148, 160, 235, .22);
}

.am-v4-msg__meta {
  display: flex;
  align-items: center;
  gap: .45rem;
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.am-v4-msg__body {
  margin-top: .22rem;
  color: var(--am4-dim);
  font-size: .78rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

/* --------------------------------------------------------------------------
   Configuration console: section index + config cards
   -------------------------------------------------------------------------- */
.am-v4-configgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--am4-gap);
  grid-column: 1 / -1;
}

.am-v4-configcard {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  padding: .85rem .95rem .9rem;
  border: 1px solid var(--am4-line);
  border-radius: .9rem;
  background: var(--am4-panel);
  transition: border-color .14s ease, background-color .14s ease;
}

.am-v4-configcard:hover {
  border-color: rgba(230, 193, 105, .28);
}

.am-v4-configcard__kicker {
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-configcard strong {
  color: var(--am4-ink);
  font-size: .9rem;
  font-weight: 620;
}

.am-v4-configcard p {
  color: var(--am4-mute);
  font-size: .7rem;
  line-height: 1.4;
}

.am-v4-configcard__foot {
  margin-top: auto;
  padding-top: .5rem;
  border-top: 1px solid var(--am4-line);
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .62rem;
  letter-spacing: .06em;
}

/* --------------------------------------------------------------------------
   Panel body variants used by the rollout
   -------------------------------------------------------------------------- */
.am-v4-panel__body--flush {
  padding: 0 !important;
}

.am-v4-panel__body--tight {
  padding: .45rem .95rem .8rem;
}

.am-v4-panel__body--scroll {
  max-height: 32rem;
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.am-v4-panel__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
}

/* Filter form docked into the module shell. */
.am-v4-filterbar {
  grid-column: 1 / -1;
  padding: .6rem .85rem;
  border: 1px solid var(--am4-line);
  border-radius: .85rem;
  background: rgba(8, 10, 26, .6);
}

.am-v4-filterbar:not(:has(.fi-fo-component-ctn)),
.am-v4-filterbar:empty {
  display: none;
}

/* Widget chrome suppression inside rollout shells. */
.am-v4-page .am-v4 .fi-section-header-ctn:has(+ .fi-section-content-ctn .fi-wi-chart),
.am-v4-widgetbay .fi-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-widgetbay .fi-section-header,
.am-v4-widgetbay .fi-section-header-ctn {
  display: none !important;
}

.am-v4-widgetbay .fi-section-content {
  padding: 0 !important;
}

.am-v4-widgetbay > .fi-wi,
.am-v4-widgetbay .fi-wi-widget {
  width: 100%;
  min-width: 0;
}

/* --------------------------------------------------------------------------
   Desktop safeguards for the approved QA widths
   -------------------------------------------------------------------------- */
@media (max-width: 1439px) {
  .am-v4-tiles--5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .am-v4-board--triple {
    grid-template-columns: 16.5rem minmax(0, 1fr) 17.5rem;
  }

  .am-v4-configgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .am-v4-tile__value {
    font-size: 1.4rem;
  }
}

@media (max-width: 1279px) {
  .am-v4-panel--dominant,
  .am-v4-panel--dominant-tall,
  .am-v4-panel--seven {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .am-v4-panel--aside,
  .am-v4-panel--third,
  .am-v4-panel--quarter,
  .am-v4-panel--five,
  .am-v4-slot--half {
    grid-column: span 6;
  }

  .am-v4-board--triple,
  .am-v4-board--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-v4-tiles--4,
  .am-v4-tiles--5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --------------------------------------------------------------------------
   Native V4 data table (used where the page renders its own markup, not a
   Filament table). Same instrumentation language as .am-v4-tablebay.
   -------------------------------------------------------------------------- */
.am-v4-datatable-wrap {
  min-width: 0;
  overflow-x: auto;
  scrollbar-gutter: stable;
}

.am-v4-datatable {
  width: 100%;
  border-collapse: collapse;
}

.am-v4-datatable thead th {
  padding: .5rem .75rem;
  border-bottom: 1px solid var(--am4-line-strong);
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-align: start;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-datatable tbody tr {
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-datatable tbody tr:last-child {
  border-bottom: 0;
}

.am-v4-datatable tbody tr:hover {
  background: rgba(124, 92, 255, .08);
  box-shadow: inset 3px 0 0 rgba(230, 193, 105, .5);
}

.am-v4-datatable td {
  padding: .48rem .75rem;
  color: var(--am4-dim);
  font-size: .76rem;
  white-space: nowrap;
}

.am-v4-datatable td.is-num {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  text-align: end;
}

.am-v4-datatable td.is-key {
  color: var(--am4-ink);
  font-weight: 600;
}

.am-v4-datatable td.is-pos {
  color: var(--am4-pos);
  font-family: var(--am4-mono);
  text-align: end;
}

.am-v4-datatable td.is-neg {
  color: var(--am4-neg);
  font-family: var(--am4-mono);
  text-align: end;
}

.am-v4-datatable .am-v4-empty {
  padding: 1.4rem .75rem;
  color: var(--am4-mute);
  font-size: .74rem;
  text-align: center;
  white-space: normal;
}

/* Proportional ranking list (reasons, providers, segments). */
.am-v4-bars {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.am-v4-bars__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .15rem .8rem;
  align-items: baseline;
}

.am-v4-bars__label {
  color: var(--am4-dim);
  font-size: .74rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-bars__value {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .74rem;
}

.am-v4-bars__track {
  grid-column: 1 / -1;
  height: .28rem;
  border-radius: 999px;
  background: rgba(148, 160, 235, .12);
  overflow: hidden;
}

.am-v4-bars__fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(124, 92, 255, .95), rgba(230, 193, 105, .8));
}

.am-v4-bars__fill--neg {
  background: linear-gradient(90deg, rgba(255, 95, 126, .95), rgba(255, 160, 108, .8));
}

/* --------------------------------------------------------------------------
   V4 overlay used by pages that own their modal markup
   -------------------------------------------------------------------------- */
.am-v4-overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.am-v4-overlay__scrim {
  position: absolute;
  inset: 0;
  background: rgba(3, 5, 18, .78);
  backdrop-filter: blur(2px);
}

.am-v4-overlay__dialog {
  position: relative;
  width: 100%;
  max-width: 40rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: 1rem;
  background: var(--am4-panel-raise);
  box-shadow: 0 34px 90px rgba(3, 5, 18, .6);
  overflow: hidden;
}

.am-v4-overlay__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1.05rem .7rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-overlay__head span {
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-overlay__head h3 {
  margin-top: .15rem;
  color: var(--am4-ink);
  font-size: 1rem;
  font-weight: 620;
}

.am-v4-overlay__head p {
  margin-top: .12rem;
  color: var(--am4-mute);
  font-size: .7rem;
}

.am-v4-overlay__body {
  padding: .9rem 1.05rem 1rem;
  max-height: 26rem;
  overflow-y: auto;
}

.am-v4-overlay__foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  padding: .7rem 1.05rem;
  border-top: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .55);
}

.am-v4-overlay__close {
  padding: .3rem;
  border-radius: .5rem;
  color: var(--am4-mute);
}

.am-v4-overlay__close:hover {
  color: var(--am4-ink);
  background: rgba(148, 160, 235, .14);
}

.am-v4-checklist {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.am-v4-checklist label {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .45rem .6rem;
  border: 1px solid var(--am4-line);
  border-radius: .6rem;
  background: rgba(8, 10, 26, .6);
  color: var(--am4-dim);
  font-size: .76rem;
  cursor: pointer;
}

.am-v4-checklist label:hover {
  border-color: rgba(148, 160, 235, .24);
}

.am-v4-checklist input[type="checkbox"] {
  width: .95rem;
  height: .95rem;
  border-radius: .25rem;
  accent-color: #7c5cff;
}

/* Vertical stack + auto-fit strand used inside full-width rollout regions. */
.am-v4-stack {
  display: flex;
  flex-direction: column;
  gap: var(--am4-gap);
  min-width: 0;
}

.am-v4-strand {
  display: grid;
  gap: var(--am4-gap);
  grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr));
  align-items: start;
  min-width: 0;
}

.am-v4-strand--wide {
  grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
}

.am-v4-strand--narrow {
  grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
}

/* --------------------------------------------------------------------------
   Cluster sub-navigation becomes a V4 module index (replaces the Filament
   sidebar look). Scoped to rollout pages only.
   -------------------------------------------------------------------------- */
.am-v4-page .fi-page-sub-navigation-sidebar-ctn {
  width: 15.5rem;
  padding: .75rem .55rem;
  border: 1px solid var(--am4-line);
  border-radius: .95rem;
  background: linear-gradient(180deg, rgba(16, 19, 42, .9), rgba(9, 12, 28, .82));
  align-self: flex-start;
  position: sticky;
  top: 1rem;
}

.am-v4-page .fi-page-sub-navigation-sidebar {
  gap: 1rem !important;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-group-label {
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-group-button {
  padding-inline: .35rem;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-button {
  gap: .5rem;
  padding: .38rem .5rem;
  border-radius: .55rem;
  color: var(--am4-dim);
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-button:hover {
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .1) !important;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-label {
  font-size: .76rem;
  font-weight: 540;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-icon {
  width: .95rem;
  height: .95rem;
  color: var(--am4-mute);
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-active .fi-sidebar-item-button,
.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-active .fi-sidebar-item-button {
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .18) !important;
  box-shadow: inset 2px 0 0 var(--am4-gold) !important;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-active .fi-sidebar-item-icon,
.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-active .fi-sidebar-item-icon {
  color: var(--am4-gold);
}

/* --------------------------------------------------------------------------
   Container-aware composition: pages that carry a sub-navigation index have a
   narrower content column, so the V4 regions must react to their own width and
   not to the viewport. Scoped to .am-v4-page so Dashboard V4 is untouched.
   -------------------------------------------------------------------------- */
.am-v4-page .am-v4 {
  container-type: inline-size;
  container-name: amv4;
}

@container amv4 (max-width: 1040px) {
  .am-v4-console {
    grid-template-columns: minmax(0, 1fr);
    gap: .7rem;
  }

  .am-v4-cluster {
    flex-wrap: wrap;
  }

  .am-v4-cluster__cell {
    flex: 1 1 8rem;
  }

  .am-v4-panel--dominant,
  .am-v4-panel--dominant-tall,
  .am-v4-panel--seven {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .am-v4-panel--aside,
  .am-v4-panel--third,
  .am-v4-panel--five,
  .am-v4-panel--half {
    grid-column: span 6;
  }

  .am-v4-panel--quarter {
    grid-column: span 4;
  }
}

@container amv4 (max-width: 820px) {
  .am-v4-panel--aside,
  .am-v4-panel--third,
  .am-v4-panel--five,
  .am-v4-panel--half,
  .am-v4-panel--quarter {
    grid-column: 1 / -1;
  }
}

/* Only the item itself is active — the group must not inherit the accent. */
.am-v4-page .fi-page-sub-navigation-sidebar .fi-active .fi-sidebar-item-button,
.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-active .fi-sidebar-item-button {
  color: var(--am4-dim);
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-active .fi-sidebar-item-icon,
.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item-active .fi-sidebar-item-icon {
  color: var(--am4-mute);
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button,
.am-v4-page .fi-page-sub-navigation-sidebar li.fi-active > .fi-sidebar-item-button {
  color: var(--am4-ink) !important;
  background: rgba(124, 92, 255, .18) !important;
  box-shadow: inset 2px 0 0 var(--am4-gold) !important;
}

.am-v4-page .fi-page-sub-navigation-sidebar .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon,
.am-v4-page .fi-page-sub-navigation-sidebar li.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
  color: var(--am4-gold) !important;
}

/* Auto-fit tile rail for variable indicator counts. */
.am-v4-tiles--auto {
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
}

/* --------------------------------------------------------------------------
   Portable token carrier: lets V4 primitives live outside a .am-v4-page root
   (Filament modals, slide-overs, notification bodies).
   -------------------------------------------------------------------------- */
.am-v4-tokens {
  --am4-ink: #f3f4ff;
  --am4-dim: rgba(201, 206, 236, .68);
  --am4-mute: rgba(158, 166, 205, .5);
  --am4-line: rgba(148, 160, 235, .11);
  --am4-line-strong: rgba(148, 160, 235, .2);
  --am4-panel: linear-gradient(168deg, rgba(18, 22, 46, .96), rgba(9, 12, 28, .975));
  --am4-panel-raise: linear-gradient(168deg, rgba(22, 26, 54, .96), rgba(11, 14, 32, .975));
  --am4-violet: #7c5cff;
  --am4-violet-ink: #cbbcff;
  --am4-gold: #e6c169;
  --am4-cyan: #49c5f2;
  --am4-pos: #3ddc97;
  --am4-neg: #ff5f7e;
  --am4-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  --am4-gap: 1rem;
}

/* --------------------------------------------------------------------------
   Document review board (KYC evidence)
   -------------------------------------------------------------------------- */
.am-v4-docs {
  display: grid;
  gap: .85rem;
  min-width: 0;
}

.am-v4-docs__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .65rem .85rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .8rem;
  background: linear-gradient(90deg, rgba(124, 92, 255, .1), rgba(9, 12, 28, .55));
}

.am-v4-docs__head span {
  display: block;
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-docs__head strong {
  display: block;
  margin-top: .12rem;
  color: var(--am4-ink);
  font-size: .92rem;
  font-weight: 620;
}

.am-v4-docs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: .85rem;
  align-items: start;
}

.am-v4-doc {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--am4-line);
  border-radius: .85rem;
  background: rgba(8, 10, 26, .6);
  overflow: hidden;
}

.am-v4-doc__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .55rem .7rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-doc__head h4 {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.am-v4-doc__body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12rem;
  padding: .5rem;
  background:
    repeating-linear-gradient(45deg, rgba(148, 160, 235, .035) 0 8px, transparent 8px 16px),
    rgba(3, 5, 18, .5);
}

.am-v4-doc__body img,
.am-v4-doc__body iframe {
  width: 100%;
  max-height: 22rem;
  border: 0;
  border-radius: .55rem;
  object-fit: contain;
}

.am-v4-doc__empty {
  color: var(--am4-mute);
  font-size: .72rem;
  text-align: center;
}

.am-v4-doc--missing .am-v4-doc__head h4 {
  color: var(--am4-mute);
}

/* --------------------------------------------------------------------------
   Decision-oriented table: row actions are structurally separated
   -------------------------------------------------------------------------- */
.am-v4-tablebay--decision .fi-ta-actions {
  gap: .3rem;
  justify-content: flex-end;
  padding-inline-start: .6rem;
  border-inline-start: 1px solid var(--am4-line);
}

.am-v4-tablebay--decision .fi-ta-actions .fi-btn,
.am-v4-tablebay--decision .fi-ta-actions .fi-icon-btn {
  border: 1px solid var(--am4-line-strong);
  border-radius: .5rem;
  font-size: .68rem;
}

.am-v4-tablebay--decision .fi-ta-actions .fi-color-success {
  border-color: rgba(61, 220, 151, .32);
}

.am-v4-tablebay--decision .fi-ta-actions .fi-color-danger {
  border-color: rgba(255, 95, 126, .32);
}

/* Filament badge columns adopt the V4 state vocabulary inside rollout tables. */
.am-v4-tablebay .fi-badge {
  border-radius: .45rem;
  font-family: var(--am4-mono);
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Support operations: chat pane, thread, conversation rail
   -------------------------------------------------------------------------- */
.am-v4-chatpane {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 0;
}

.am-v4-chatpane__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .6rem .8rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .8rem;
  background: linear-gradient(90deg, rgba(124, 92, 255, .1), rgba(9, 12, 28, .5));
}

.am-v4-chatpane__head span {
  display: block;
  color: var(--am4-gold);
  font-family: var(--am4-mono);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-chatpane__head strong {
  display: block;
  margin-top: .1rem;
  color: var(--am4-ink);
  font-size: .9rem;
  font-weight: 620;
}

.am-v4-chatpane__head p {
  margin-top: .1rem;
  color: var(--am4-mute);
  font-size: .68rem;
}

.am-v4-msg--sys {
  align-self: center;
  max-width: 92%;
  border-style: dashed;
  background: rgba(73, 197, 242, .07);
  border-color: rgba(73, 197, 242, .22);
}

.am-v4-msg__meta strong {
  color: var(--am4-violet-ink);
  font-weight: 700;
}

.am-v4-msg--in .am-v4-msg__meta strong {
  color: var(--am4-cyan);
}

.am-v4-msg--sys .am-v4-msg__meta strong {
  color: var(--am4-gold);
}

.am-v4-msg__meta time {
  margin-inline-start: auto;
  font-variant-numeric: tabular-nums;
}

/* Conversation rail: navigation across existing conversations (read-only). */
.am-v4-convrail {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.am-v4-convrail__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .1rem .6rem;
  padding: .5rem .55rem;
  border-radius: .6rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-convrail__item:last-child {
  border-bottom: 0;
}

.am-v4-convrail__item:hover {
  background: rgba(124, 92, 255, .1);
}

.am-v4-convrail__item.is-active {
  background: rgba(124, 92, 255, .17);
  box-shadow: inset 2px 0 0 var(--am4-gold);
}

.am-v4-convrail__who {
  color: var(--am4-ink);
  font-size: .76rem;
  font-weight: 580;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-convrail__when {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .6rem;
  white-space: nowrap;
}

.am-v4-convrail__line {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: .4rem;
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .6rem;
}

.am-v4-convrail__unread {
  padding: .02rem .3rem;
  border-radius: .3rem;
  background: rgba(230, 193, 105, .18);
  color: var(--am4-gold);
}

/* --------------------------------------------------------------------------
   Conversation record page: the read-only form schema is re-laid out as a
   support board (thread dominant, player context aside, ledgers below).
   Section order in the schema: 1 player, 2 messages, 3 finance, 4 rewards.
   -------------------------------------------------------------------------- */
.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--am4-gap) !important;
  align-items: start;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > * {
  min-width: 0;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) {
  grid-column: 9 / 13;
  grid-row: 1;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(2) {
  grid-column: 1 / 9;
  grid-row: 1 / 3;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(3) {
  grid-column: 9 / 13;
  grid-row: 2;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(4) {
  grid-column: 1 / 13;
  grid-row: 3;
}

@container amv4 (max-width: 1040px) {
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1),
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(2),
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(3),
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(4) {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* Player context section reads as an identity dossier, not a form. */
.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) .fi-fo-placeholder {
  padding-block: .3rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) .fi-fo-field-wrp-label {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.am-v4-supportboard .fi-fo-placeholder {
  color: var(--am4-ink);
  font-size: .78rem;
}

/* Conversation record: rail + board. The rail is narrow so the board keeps its
   8/4 split (thread dominant, player context aside) at 1440 and 1366. */
.am-v4-board--rail {
  grid-template-columns: 13.5rem minmax(0, 1fr);
  align-items: start;
}

/* Re-assert the split above 700px of board width (overrides the 1150px collapse
   declared earlier, which targets pages without a rail). */
@container amv4 (min-width: 700px) {
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) {
    grid-column: 9 / 13;
    grid-row: 1;
  }

  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(2) {
    grid-column: 1 / 9;
    grid-row: 1 / 3;
  }

  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(3) {
    grid-column: 9 / 13;
    grid-row: 2;
  }

  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(4) {
    grid-column: 1 / 13;
    grid-row: 3;
  }
}

/* Player dossier and reward strip stack in a single column inside the aside. */
.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) .fi-section-content .fi-fo-component-ctn {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

.am-v4-supportboard .fi-section {
  border: 1px solid var(--am4-line) !important;
  border-radius: .9rem !important;
  background: var(--am4-panel) !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-v4-supportboard .fi-section-header {
  padding: .7rem .95rem .55rem !important;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-supportboard .fi-section-header-heading {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .62rem !important;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-supportboard .fi-section-header-description {
  color: var(--am4-mute);
  font-size: .66rem;
}

.am-v4-supportboard .fi-section-content {
  padding: .8rem .95rem .9rem !important;
}

.am-v4-supportboard .am-v4-thread {
  max-height: 30rem;
}

/* --------------------------------------------------------------------------
   Support board corrections: only the TOP-LEVEL schema container is the board
   grid. Nested Filament grids keep their own column variables.
   -------------------------------------------------------------------------- */
/* Final board placement: thread + player context side by side, read-only
   ledgers full width underneath (their tables need the room). */
.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) {
  grid-column: 9 / 13 !important;
  grid-row: 1 !important;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(2) {
  grid-column: 1 / 9 !important;
  grid-row: 1 !important;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(3) {
  grid-column: 1 / 13 !important;
  grid-row: 2 !important;
}

.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(4) {
  grid-column: 1 / 13 !important;
  grid-row: 3 !important;
}

/* The player dossier is a single-column identity list inside the aside. */
.am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1) .fi-fo-component-ctn {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

@container amv4 (max-width: 760px) {
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(1),
  .am-v4-supportboard .fi-fo-component-ctn:not(.fi-fo-component-ctn *) > *:nth-child(2) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

/* The board placement rules must never reach nested schema grids. Higher
   specificity than the nth-child placement, so nested fields keep the column
   span Filament assigned them. */

/* --------------------------------------------------------------------------
   Filament tables that use Layout\Split / Layout\Stack render record cards
   instead of a <table>. Inside a V4 shell they become instrumentation rows.
   -------------------------------------------------------------------------- */
.am-v4-tablebay .fi-ta-record {
  border-bottom: 1px solid var(--am4-line) !important;
  background: transparent !important;
}

.am-v4-tablebay .fi-ta-record:nth-child(even) {
  background: rgba(255, 255, 255, .012) !important;
}

.am-v4-tablebay .fi-ta-record:hover {
  background: rgba(124, 92, 255, .085) !important;
  box-shadow: inset 3px 0 0 rgba(230, 193, 105, .55);
}

.am-v4-tablebay .fi-ta-record-content-ctn,
.am-v4-tablebay .fi-ta-record > div {
  min-width: 0;
}

.am-v4-tablebay .fi-ta-record .fi-ta-text-item-label {
  font-size: .74rem;
}

.am-v4-tablebay .fi-ta-record .fi-ta-col-wrp:first-child .fi-ta-text-item-label {
  color: var(--am4-ink);
  font-weight: 600;
}

.am-v4-tablebay .fi-ta-record .fi-ta-image {
  border-radius: .5rem;
  box-shadow: 0 6px 16px rgba(3, 5, 18, .45);
}

.am-v4-tablebay .fi-ta-record .fi-ta-toggle,
.am-v4-tablebay .fi-ta-record .fi-ta-actions {
  flex-shrink: 0;
}

.am-v4-tablebay .fi-ta-selection-cell,
.am-v4-tablebay .fi-ta-record .fi-checkbox-input {
  accent-color: #7c5cff;
}

/* Records grid gets breathing room without reintroducing card chrome. */
.am-v4-tablebay .fi-ta-content {
  border: 0 !important;
  background: transparent !important;
}

.am-v4-tablebay .fi-ta-content-ctn {
  border-radius: 0;
}

/* Form bay used as a full-width region (no surrounding panel). */
.am-v4-formbay--flush {
  padding: 0;
}

.am-v4-formbay--flush .fi-fo-component-ctn {
  gap: var(--am4-gap) !important;
}

/* ==========================================================================
   ADMIN UI V4 — USERS (PLAYER / USER OPERATIONS CENTER)
   Structural recomposition of /admin/users and /admin/users/{id}/edit.
   Scope: .am-v4-users (page root, always combined with .am-v4-page).
   Replaces the V2 dedicated layer (.am-users-page / .am-page-header).
   No data, query, filter, action, policy or RBAC behaviour is defined here.
   ========================================================================== */
.am-v4-users {
  --amu-rail: linear-gradient(180deg, rgba(230, 193, 105, .95), rgba(124, 92, 255, .85));
  --amu-deck: linear-gradient(90deg, rgba(16, 19, 42, .92), rgba(10, 13, 30, .8));
  --amu-well: rgba(7, 9, 22, .55);
}

.am-v4-users > section {
  gap: .85rem;
}

/* The V2 header block is gone: the page owns a single operational head. */
.am-v4-users .fi-page-header-widgets {
  margin-top: 0;
}

/* --------------------------------------------------------------------------
   1. Operational head — identity + scope instrumentation + command deck
   -------------------------------------------------------------------------- */
.am-v4-ophead {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "id command"
    "scope scope";
  gap: .75rem 1.1rem;
  padding: .85rem 1.1rem .9rem;
  border: 1px solid var(--am4-line);
  border-radius: 1.05rem;
  background: var(--amu-deck);
  box-shadow: 0 22px 48px rgba(3, 5, 18, .38);
  overflow: hidden;
}

.am-v4-ophead::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 2px;
  background: var(--amu-rail);
}

.am-v4-ophead__id {
  grid-area: id;
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
}

.am-v4-ophead__mark {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  border: 1px solid rgba(148, 160, 235, .18);
  border-radius: .8rem;
  background: radial-gradient(120% 120% at 30% 20%, rgba(124, 92, 255, .3), rgba(8, 10, 26, .9));
  color: #d9cfff;
  font-family: var(--am4-mono);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.am-v4-ophead__mark svg {
  width: 1.15rem;
  height: 1.15rem;
  color: rgba(230, 193, 105, .9);
}

.am-v4-ophead__copy {
  display: flex;
  flex-direction: column;
  gap: .16rem;
  min-width: 0;
}

.am-v4-ophead__trail {
  display: flex;
  align-items: center;
  gap: .32rem;
  min-width: 0;
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-ophead__trail a {
  color: inherit;
  text-decoration: none;
}

.am-v4-ophead__trail a:hover {
  color: var(--am4-violet-ink);
}

.am-v4-ophead__trail i {
  color: rgba(148, 160, 235, .28);
  font-style: normal;
}

.am-v4-ophead__trail span:last-child {
  color: rgba(230, 193, 105, .82);
}

.am-v4-ophead__title {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  min-width: 0;
  color: var(--am4-ink);
  font-size: 1.02rem;
  font-weight: 640;
  letter-spacing: -.014em;
  line-height: 1.2;
}

.am-v4-ophead__title code {
  font-family: var(--am4-mono);
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}

.am-v4-ophead__sub {
  color: var(--am4-mute);
  font-size: .67rem;
  line-height: 1.4;
}

/* Command deck: primary operations and the critical cluster are separated. */
.am-v4-ophead__command {
  grid-area: command;
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.am-v4-cmd {
  display: flex;
  align-items: center;
  gap: .45rem;
  padding: .3rem .5rem .3rem .6rem;
  border: 1px solid var(--am4-line);
  border-radius: .8rem;
  background: rgba(8, 10, 26, .5);
}

.am-v4-cmd__label {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-cmd--critical {
  border-color: rgba(255, 95, 126, .3);
  background: rgba(255, 95, 126, .07);
}

.am-v4-cmd--critical .am-v4-cmd__label {
  color: #ffa8b8;
}

.am-v4-cmd .fi-ac,
.am-v4-cmd .fi-ac-group {
  gap: .35rem;
}

.am-v4-users .am-v4-cmd .fi-btn {
  height: 2.1rem;
  padding-inline: .75rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .62rem;
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .1) !important;
  box-shadow: none !important;
  font-size: .72rem;
  font-weight: 620;
  letter-spacing: .01em;
  --tw-ring-color: transparent;
}

.am-v4-users .am-v4-cmd .fi-btn:hover {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .13) !important;
}

.am-v4-users .am-v4-cmd .fi-btn .fi-btn-icon {
  width: .95rem;
  height: .95rem;
  color: rgba(230, 193, 105, .85);
}

.am-v4-users .am-v4-cmd--critical .fi-btn {
  border-color: rgba(255, 95, 126, .34);
  background: rgba(255, 95, 126, .12) !important;
}

.am-v4-users .am-v4-cmd--critical .fi-btn:hover {
  border-color: rgba(255, 95, 126, .55);
  background: rgba(255, 95, 126, .2) !important;
}

.am-v4-users .am-v4-cmd--critical .fi-btn .fi-btn-icon {
  color: #ffa8b8;
}

/* Scope instrumentation row inside the head. */
.am-v4-ophead__scope {
  grid-area: scope;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  border: 1px solid var(--am4-line);
  border-radius: .8rem;
  background: var(--amu-well);
  overflow: hidden;
}

.am-v4-ophead__cell {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
  padding: .48rem .7rem .55rem;
  border-inline-start: 1px solid var(--am4-line);
}

.am-v4-ophead__cell:first-child {
  border-inline-start: 0;
}

.am-v4-ophead__cell small {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.am-v4-ophead__cell strong {
  display: flex;
  align-items: center;
  gap: .32rem;
  min-width: 0;
  color: var(--am4-ink);
  font-size: .8rem;
  font-weight: 620;
  letter-spacing: -.008em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-ophead__cell em {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-style: normal;
  letter-spacing: .05em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-ophead__cell strong i {
  width: .4rem;
  height: .4rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--am4-pos);
  box-shadow: 0 0 0 3px rgba(61, 220, 151, .14);
}

.am-v4-ophead__cell--alert strong i {
  background: var(--am4-neg);
  box-shadow: 0 0 0 3px rgba(255, 95, 126, .16);
}

.am-v4-ophead__cell--warn strong i {
  background: var(--am4-gold);
  box-shadow: 0 0 0 3px rgba(230, 193, 105, .16);
}

.am-v4-ophead__cell--accent strong {
  color: #f0d69b;
  font-family: var(--am4-mono);
}

/* Status chips carried by the dossier head. */
.am-v4-ophead__chips {
  display: flex;
  align-items: center;
  gap: .3rem;
  flex-wrap: wrap;
}

.am-v4-chip {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .18rem .45rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .42rem;
  background: rgba(8, 10, 26, .6);
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-chip::before {
  content: "";
  width: .32rem;
  height: .32rem;
  border-radius: 999px;
  background: currentColor;
}

.am-v4-chip--live {
  border-color: rgba(61, 220, 151, .3);
  background: rgba(61, 220, 151, .1);
  color: #7ff0bd;
}

.am-v4-chip--danger {
  border-color: rgba(255, 95, 126, .34);
  background: rgba(255, 95, 126, .11);
  color: #ffa8b8;
}

.am-v4-chip--warn {
  border-color: rgba(230, 193, 105, .32);
  background: rgba(230, 193, 105, .1);
  color: #f0d69b;
}

.am-v4-chip--info {
  border-color: rgba(73, 197, 242, .3);
  background: rgba(73, 197, 242, .1);
  color: #9fdcf7;
}

/* --------------------------------------------------------------------------
   2. Summary instruments — the registered stats widgets become KPI bays
   -------------------------------------------------------------------------- */
.am-v4-users .fi-page-header-widgets .fi-wi,
.am-v4-users .fi-page-header-widgets .fi-wi-widget {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-users .fi-page-header-widgets .fi-wi-stats-overview-stats-ctn {
  gap: .7rem !important;
}

.am-v4-users .fi-wi-stats-overview-stat {
  position: relative;
  padding: .8rem .9rem .85rem;
  border: 1px solid var(--am4-line) !important;
  border-radius: .95rem !important;
  background: var(--am4-panel-raise) !important;
  box-shadow: none !important;
  overflow: hidden;
}

.am-v4-users .fi-wi-stats-overview-stat::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: .18rem;
  background: linear-gradient(90deg, rgba(124, 92, 255, .9), rgba(230, 193, 105, .5));
}

.am-v4-users .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label {
  color: var(--am4-mute) !important;
  font-family: var(--am4-mono);
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-users .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
  color: var(--am4-ink) !important;
  font-family: var(--am4-mono);
  font-size: 1.32rem !important;
  font-weight: 620 !important;
  letter-spacing: -.02em;
  line-height: 1.1;
}

.am-v4-users .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description {
  color: var(--am4-dim) !important;
  font-size: .65rem !important;
}

.am-v4-users .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-icon {
  width: .95rem;
  height: .95rem;
  color: rgba(230, 193, 105, .8) !important;
}

.am-v4-users .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart {
  opacity: .75;
}

/* The affiliate block divider stat keeps its full-width behaviour but reads as
   a section rule instead of a card. */
.am-v4-users .fi-wi-stats-overview-stat.col-span-4 {
  border: 0 !important;
  border-top: 1px solid var(--am4-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding-block: .55rem .1rem;
}

.am-v4-users .fi-wi-stats-overview-stat.col-span-4::before {
  display: none;
}

/* --------------------------------------------------------------------------
   3. Control rail — segments, search, filters, density, page size
   -------------------------------------------------------------------------- */
.am-v4-users__rail {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  padding: .55rem .9rem;
  border-bottom: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .32);
}

.am-v4-users__rail-label {
  display: flex;
  align-items: center;
  gap: .35rem;
  color: var(--am4-violet-ink);
  font-family: var(--am4-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-users__rail-label::before {
  content: "";
  width: .22rem;
  height: .8rem;
  border-radius: 999px;
  background: var(--amu-rail);
}

.am-v4-users__rail .fi-tabs {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: .3rem !important;
  --tw-ring-color: transparent;
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
}

.am-v4-users__rail .fi-tabs-item {
  padding: .34rem .7rem !important;
  border: 1px solid var(--am4-line) !important;
  border-radius: .55rem !important;
  background: rgba(8, 10, 26, .55) !important;
  color: var(--am4-dim) !important;
  font-family: var(--am4-mono);
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  box-shadow: none !important;
}

.am-v4-users__rail .fi-tabs-item:hover {
  border-color: var(--am4-line-strong) !important;
  color: var(--am4-ink) !important;
}

.am-v4-users__rail .fi-tabs-item-active {
  border-color: rgba(230, 193, 105, .38) !important;
  background: rgba(230, 193, 105, .12) !important;
  color: #f4dfae !important;
}

.am-v4-users__rail .fi-tabs-item-label {
  font: inherit;
  color: inherit;
}

/* The native table toolbar becomes the operational control deck. */
.am-v4-users__bay .fi-ta-header-ctn {
  border-bottom: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .2);
}

.am-v4-users__bay .fi-ta-header-toolbar {
  position: relative;
  gap: .7rem !important;
  padding: .6rem .9rem .6rem 6.6rem !important;
  flex-wrap: wrap;
}

.am-v4-users__bay .fi-ta-header-toolbar::before {
  content: "Controles";
  position: absolute;
  inset-inline-start: .9rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.am-v4-users__bay .fi-ta-search-field {
  min-width: 17rem;
}

.am-v4-users__bay .fi-ta-search-field .fi-input-wrp,
.am-v4-users__bay .fi-ta-header-toolbar .fi-input-wrp {
  border: 1px solid var(--am4-line-strong);
  border-radius: .6rem;
  background: rgba(6, 8, 20, .78) !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-v4-users__bay .fi-ta-search-field .fi-input {
  font-size: .76rem;
}

.am-v4-users__bay .fi-ta-header-toolbar .fi-btn,
.am-v4-users__bay .fi-ta-header-toolbar .fi-icon-btn {
  height: 2.05rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .6rem;
  color: var(--am4-ink);
  background: rgba(124, 92, 255, .1) !important;
  box-shadow: none !important;
  font-family: var(--am4-mono);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  --tw-ring-color: transparent;
}

.am-v4-users__bay .fi-ta-header-toolbar .fi-btn:hover,
.am-v4-users__bay .fi-ta-header-toolbar .fi-icon-btn:hover {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .13) !important;
}

.am-v4-users__bay .fi-ta-header-toolbar .fi-icon-btn {
  width: 2.05rem;
  padding: 0;
}

.am-v4-users__bay .fi-ta-filters-indicators {
  padding: .35rem .9rem .55rem;
  border-top: 1px solid var(--am4-line);
  background: rgba(230, 193, 105, .04);
}

/* --------------------------------------------------------------------------
   4. Operations table — grouped instrumentation, not a generic Filament grid
   -------------------------------------------------------------------------- */
.am-v4-users__bay {
  overflow: hidden;
}

.am-v4-users__bay .fi-ta-ctn {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-users__bay .fi-ta-content {
  border-radius: 0;
}

/* Column groups: the first head row reads as a domain band. */
.am-v4-users__bay .fi-ta-table thead tr:first-child .fi-ta-header-cell,
.am-v4-users__bay .fi-ta-table thead tr:first-child th {
  padding: .4rem .6rem !important;
  border-bottom: 1px solid var(--am4-line-strong);
  background: linear-gradient(180deg, rgba(124, 92, 255, .12), rgba(8, 10, 26, .3)) !important;
  color: var(--am4-violet-ink);
  font-family: var(--am4-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.am-v4-users__bay .fi-ta-table thead tr:first-child th + th {
  border-inline-start: 1px solid var(--am4-line-strong);
}

.am-v4-users__bay .fi-ta-table thead tr:first-child .fi-ta-header-cell-label {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

.am-v4-users__bay .fi-ta-table thead tr:last-child th {
  padding: .45rem .6rem !important;
  background: rgba(8, 10, 26, .55) !important;
}

.am-v4-users__bay .fi-ta-table thead .fi-ta-header-cell-label {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-users__bay .fi-ta-table thead button:hover .fi-ta-header-cell-label {
  color: #f0d69b;
}

.am-v4-users__bay .fi-ta-row {
  border-top: 1px solid rgba(148, 160, 235, .07);
}

.am-v4-users__bay .fi-ta-row:hover {
  background: rgba(124, 92, 255, .07) !important;
}

.am-v4-users__bay .fi-ta-cell {
  padding-block: .1rem !important;
}

.am-v4-users__bay .fi-ta-text {
  padding-block: .42rem !important;
  padding-inline: .6rem !important;
}

/* Player identity column: primary weight + secondary real name line. */
.am-v4-users__bay .fi-table-cell-email .fi-ta-text-item-label {
  color: var(--am4-ink);
  font-size: .78rem;
  font-weight: 600;
}

.am-v4-users__bay .fi-table-cell-email .fi-ta-text-description {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .6rem;
  letter-spacing: .02em;
}

.am-v4-users__bay .fi-table-cell-id .fi-ta-text-item-label {
  color: rgba(230, 193, 105, .82);
  font-family: var(--am4-mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.am-v4-users__bay .fi-table-cell-clean-real-balance .fi-ta-text-item-label,
.am-v4-users__bay .fi-table-cell-clean-bonus-balance .fi-ta-text-item-label,
.am-v4-users__bay .fi-table-cell-clean-rollover-pending .fi-ta-text-item-label,
.am-v4-users__bay .fi-table-cell-last-deposit .fi-ta-text-item-label,
.am-v4-users__bay .fi-table-cell-created-at .fi-ta-text-item-label,
.am-v4-users__bay .fi-table-cell-first-deposit .fi-ta-text-item-label {
  font-family: var(--am4-mono);
  font-size: .72rem;
  letter-spacing: -.005em;
}

.am-v4-users__bay .fi-ta-actions {
  gap: .3rem;
  justify-content: flex-end;
  padding-inline-end: .5rem;
}

.am-v4-users__bay .fi-ta-actions .fi-btn,
.am-v4-users__bay .fi-ta-actions .fi-icon-btn {
  height: 1.78rem;
  min-height: 1.78rem;
  padding-inline: .55rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .5rem;
  background: rgba(8, 10, 26, .62) !important;
  box-shadow: none !important;
  font-family: var(--am4-mono);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  --tw-ring-color: transparent;
}

.am-v4-users__bay .fi-ta-actions .fi-btn:hover,
.am-v4-users__bay .fi-ta-actions .fi-icon-btn:hover {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .12) !important;
}

.am-v4-users__bay .fi-ta-actions .fi-color-danger {
  border-color: rgba(255, 95, 126, .3);
  color: #ffa8b8;
}

.am-v4-users__bay .fi-ta-actions .fi-btn-icon {
  width: .85rem;
  height: .85rem;
}

.am-v4-users__bay .fi-badge {
  border-radius: .42rem;
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Operations footer: page size selector is a first-class control. */
.am-v4-users__bay .fi-ta-pagination {
  padding: .55rem .9rem !important;
  border-top: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .42);
}

.am-v4-users__bay .fi-pagination-overview {
  color: var(--am4-mute) !important;
  font-family: var(--am4-mono);
  font-size: .62rem !important;
  letter-spacing: .06em;
}

.am-v4-users__bay .fi-pagination-records-per-page-select::before {
  content: "Densidade";
  margin-inline-end: .45rem;
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.am-v4-users__bay .fi-pagination-records-per-page-select {
  display: inline-flex;
  align-items: center;
}

.am-v4-users__bay .fi-pagination .fi-btn,
.am-v4-users__bay .fi-pagination .fi-icon-btn {
  border: 1px solid var(--am4-line-strong);
  border-radius: .5rem;
  background: rgba(8, 10, 26, .6) !important;
  box-shadow: none !important;
  font-family: var(--am4-mono);
  font-size: .64rem;
  --tw-ring-color: transparent;
}

.am-v4-users__bay .fi-ta-empty-state {
  padding-block: 2.2rem;
}

.am-v4-users__bay .fi-ta-empty-state-heading {
  color: var(--am4-ink);
  font-size: .86rem;
}

.am-v4-users__bay .fi-ta-empty-state-description {
  color: var(--am4-mute);
  font-size: .68rem;
}

/* Bulk-action bar sits inside the shell instead of floating over it. */
.am-v4-users__bay .fi-ta-selection-indicator {
  padding: .45rem .9rem;
  border-bottom: 1px solid var(--am4-line);
  background: rgba(230, 193, 105, .07);
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .62rem;
}

/* --------------------------------------------------------------------------
   5. Dossier form bay — form sections become numbered operational areas
   -------------------------------------------------------------------------- */
.am-v4-users__form {
  counter-reset: amuarea;
}

.am-v4-users__form .fi-fo-component-ctn,
.am-v4-users__form form {
  gap: .8rem;
}

.am-v4-users__form .fi-section {
  position: relative;
  border: 1px solid var(--am4-line) !important;
  border-radius: .9rem !important;
  background: rgba(10, 13, 30, .55) !important;
  box-shadow: none !important;
  overflow: hidden;
}

.am-v4-users__form .fi-section-header {
  gap: .3rem;
  padding: .62rem .85rem .55rem !important;
  border-bottom: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .45);
}

.am-v4-users__form .fi-section-header-heading {
  color: var(--am4-ink) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.am-v4-users__form .fi-section-header-description {
  color: var(--am4-mute) !important;
  font-size: .64rem !important;
}

.am-v4-users__form .fi-section-content {
  padding: .8rem .85rem .9rem !important;
}

.am-v4-users__form .fi-fo-field-wrp-label {
  color: var(--am4-dim);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.am-v4-users__form .fi-fo-field-wrp-helper-text,
.am-v4-users__form .fi-fo-field-wrp-hint {
  color: var(--am4-mute);
  font-size: .6rem;
  line-height: 1.4;
}

.am-v4-users__form .fi-input-wrp {
  border: 1px solid var(--am4-line-strong);
  border-radius: .58rem;
  background: rgba(6, 8, 20, .8) !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-v4-users__form .fi-input {
  color: var(--am4-ink);
  font-size: .78rem;
}

.am-v4-users__form .fi-fo-placeholder {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .74rem;
}

/* Nested affiliate tabs read as a sub-console, not stacked cards. */
.am-v4-users__form .fi-tabs {
  padding: .3rem !important;
  border: 1px solid var(--am4-line) !important;
  border-radius: .7rem !important;
  background: rgba(8, 10, 26, .55) !important;
  box-shadow: none !important;
  --tw-ring-color: transparent;
}

.am-v4-users__form .fi-tabs-item {
  border-radius: .5rem !important;
  color: var(--am4-dim) !important;
  font-family: var(--am4-mono);
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.am-v4-users__form .fi-tabs-item-active {
  background: rgba(230, 193, 105, .13) !important;
  color: #f4dfae !important;
}

.am-v4-users__form .fi-form-actions {
  margin-top: .2rem;
  padding: .6rem .85rem;
  border-top: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .5);
}

.am-v4-users__form .fi-form-actions .fi-btn {
  border-radius: .6rem;
  font-family: var(--am4-mono);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   6. Context ledger (aside) — real record attributes only
   -------------------------------------------------------------------------- */
.am-v4-ledger {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.am-v4-ledger__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .6rem;
  padding: .42rem 0;
  border-bottom: 1px dashed rgba(148, 160, 235, .1);
}

.am-v4-ledger__row:last-child {
  border-bottom: 0;
}

.am-v4-ledger__row dt,
.am-v4-ledger__key {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.am-v4-ledger__row dd,
.am-v4-ledger__val {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .72rem;
  text-align: end;
  overflow-wrap: anywhere;
}

.am-v4-ledger__val--pos {
  color: var(--am4-pos);
}

.am-v4-ledger__val--neg {
  color: var(--am4-neg);
}

.am-v4-ledger__val--warn {
  color: #f0d69b;
}

.am-v4-ledger__val--mute {
  color: var(--am4-mute);
}

/* --------------------------------------------------------------------------
   7. Relations bay — one module index, all managers preserved
   -------------------------------------------------------------------------- */
.am-v4-users__relations .fi-ta-ctn,
.am-v4-users__relations .fi-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v4-users__relations .fi-tabs {
  margin: 0 0 .1rem !important;
  padding: .4rem .55rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--am4-line) !important;
  border-radius: 0 !important;
  background: rgba(8, 10, 26, .38) !important;
  box-shadow: none !important;
  gap: .3rem !important;
  --tw-ring-color: transparent;
}

.am-v4-users__relations .fi-tabs-item {
  padding: .32rem .65rem !important;
  border: 1px solid var(--am4-line) !important;
  border-radius: .55rem !important;
  background: rgba(6, 8, 20, .6) !important;
  color: var(--am4-dim) !important;
  font-family: var(--am4-mono);
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.am-v4-users__relations .fi-tabs-item-active {
  border-color: rgba(124, 92, 255, .42) !important;
  background: rgba(124, 92, 255, .16) !important;
  color: #d9cfff !important;
}

.am-v4-users__relations .fi-ta-header-toolbar {
  padding: .5rem .8rem !important;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-users__relations .fi-ta-table thead th {
  padding: .4rem .6rem !important;
  background: rgba(8, 10, 26, .5) !important;
}

.am-v4-users__relations .fi-ta-header-cell-label {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.am-v4-users__relations .fi-ta-text {
  padding-block: .4rem !important;
  padding-inline: .6rem !important;
}

.am-v4-users__relations .fi-ta-pagination {
  padding: .5rem .8rem !important;
  border-top: 1px solid var(--am4-line);
  background: rgba(8, 10, 26, .4);
}

/* --------------------------------------------------------------------------
   8. Density safeguards (1440 / 1366) — no horizontal overflow
   -------------------------------------------------------------------------- */
@media (max-width: 1420px) {
  .am-v4-users__bay .fi-ta-header-toolbar {
    padding-inline-start: .9rem !important;
  }

  .am-v4-users__bay .fi-ta-header-toolbar::before {
    display: none;
  }

  .am-v4-users__bay .fi-ta-search-field {
    min-width: 13rem;
  }

  .am-v4-users__rail {
    grid-template-columns: minmax(0, 1fr);
    gap: .4rem;
  }
}

@media (max-width: 1180px) {
  .am-v4-users .am-v4-panel--dominant,
  .am-v4-users .am-v4-panel--aside {
    grid-column: 1 / -1;
  }

  .am-v4-ophead {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "id"
      "command"
      "scope";
  }

  .am-v4-ophead__command {
    justify-content: flex-start;
  }

  .am-v4-ophead__scope {
    grid-auto-flow: row;
    grid-auto-columns: auto;
  }

  .am-v4-ophead__cell {
    border-inline-start: 0;
    border-top: 1px solid var(--am4-line);
  }

  .am-v4-ophead__cell:first-child {
    border-top: 0;
  }
}

/* --------------------------------------------------------------------------
   9. USERS V4 — density pass, row action chips, scroll affordance, counters
   -------------------------------------------------------------------------- */

/* Operational areas are numbered so the form reads as a sequence of domains. */
.am-v4-users__form .fi-section {
  counter-increment: amuarea;
}

.am-v4-users__form .fi-section-header-heading::before {
  content: counter(amuarea, decimal-leading-zero);
  margin-inline-end: .5rem;
  padding: .1rem .3rem;
  border: 1px solid rgba(230, 193, 105, .3);
  border-radius: .32rem;
  background: rgba(230, 193, 105, .1);
  color: #f0d69b;
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.am-v4-users__form .fi-section-header-icon {
  width: 1rem !important;
  height: 1rem !important;
  color: rgba(124, 92, 255, .8) !important;
}

/* The context ledger follows the operator while the long form scrolls. */
.am-v4-users .am-v4-panel--aside {
  align-self: start;
  position: sticky;
  top: .75rem;
}

/* Row actions become compact operational chips (Filament renders them as
   links, not buttons, so the link variant is styled explicitly). */
.am-v4-users__bay .fi-ta-actions {
  gap: .3rem !important;
}

.am-v4-users__bay .fi-ta-actions .fi-link {
  gap: .28rem;
  padding: .26rem .48rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .48rem;
  background: rgba(8, 10, 26, .66);
}

.am-v4-users__bay .fi-ta-actions .fi-link:hover {
  border-color: rgba(230, 193, 105, .38);
  background: rgba(230, 193, 105, .12);
}

.am-v4-users__bay .fi-ta-actions .fi-link .fi-link-label,
.am-v4-users__bay .fi-ta-actions .fi-link span {
  font-family: var(--am4-mono);
  font-size: .58rem !important;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.am-v4-users__bay .fi-ta-actions .fi-link:hover span {
  text-decoration: none !important;
}

.am-v4-users__bay .fi-ta-actions .fi-link-icon {
  width: .82rem !important;
  height: .82rem !important;
}

.am-v4-users__bay .fi-ta-actions .fi-color-danger .fi-link-icon,
.am-v4-users__bay .fi-ta-actions .fi-ac-action.fi-color-danger span {
  color: #ffa8b8 !important;
}

/* Density: the operational grid holds 14 domains, so every pixel is budgeted. */
.am-v4-users__bay .fi-ta-table thead tr:last-child th {
  padding: .4rem .5rem !important;
  vertical-align: bottom;
}

.am-v4-users__bay .fi-ta-header-cell-label {
  white-space: normal !important;
  line-height: 1.15;
  max-width: 7.5rem;
}

.am-v4-users__bay .fi-ta-header-cell-sort-icon {
  width: .8rem !important;
  height: .8rem !important;
}

.am-v4-users__bay .fi-ta-cell .fi-ta-text {
  padding-block: .34rem !important;
  padding-inline: .5rem !important;
}

.am-v4-users__bay .fi-table-cell-email .fi-ta-text-item-label {
  display: block;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-users__bay .fi-table-cell-email .fi-ta-text-item {
  gap: .3rem;
}

.am-v4-users__bay .fi-ta-text-item-icon {
  width: .85rem !important;
  height: .85rem !important;
  color: rgba(148, 160, 235, .6) !important;
}

.am-v4-users__bay .fi-badge {
  padding: .12rem .34rem !important;
  min-height: 0 !important;
  font-size: .55rem !important;
  letter-spacing: .06em;
}

.am-v4-users__bay .fi-badge .fi-badge-label {
  font-size: inherit;
}

.am-v4-users__bay .fi-ta-cell .fi-icon,
.am-v4-users__bay .fi-ta-cell svg.fi-ta-icon-column-icon {
  width: 1rem;
  height: 1rem;
}

.am-v4-users__bay .fi-ta-actions-cell > div {
  padding: .3rem .5rem !important;
}

.am-v4-users__bay .fi-ta-selection-cell,
.am-v4-users__bay .fi-ta-cell:has(.fi-checkbox-input) {
  width: 2rem;
}

/* Horizontal scroll is explicit: the shell fades the cut edge and the panel
   states the real column count. */
.am-v4-users__bay {
  position: relative;
}

.am-v4-users__bay .fi-ta-content {
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 92, 255, .5) transparent;
}

.am-v4-users__bay .fi-ta-content::-webkit-scrollbar {
  height: .5rem;
}

.am-v4-users__bay .fi-ta-content::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(124, 92, 255, .45);
}

.am-v4-users__bay::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 2.6rem;
  inset-inline-end: 0;
  width: 2.2rem;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(9, 12, 28, 0), rgba(9, 12, 28, .92));
}

/* Filter panel and column toggler read as V4 control surfaces. */
.am-v4-users .fi-dropdown-panel {
  border: 1px solid var(--am4-line-strong);
  border-radius: .8rem;
  background: linear-gradient(168deg, rgba(20, 24, 50, .98), rgba(10, 13, 30, .99));
  box-shadow: 0 26px 60px rgba(3, 5, 18, .55);
}

.am-v4-users .fi-dropdown-list-item-label {
  font-size: .74rem;
}

.am-v4-users .fi-ta-filters .fi-fo-field-wrp-label,
.am-v4-users .fi-dropdown-panel .fi-fo-field-wrp-label {
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Relations: the active trail gets a visible operational heading. */
.am-v4-users__relations .fi-ta-header-heading {
  color: var(--am4-ink);
  font-size: .82rem;
  font-weight: 620;
}

.am-v4-users__relations .fi-ta-actions .fi-link {
  padding: .22rem .42rem;
  border: 1px solid var(--am4-line-strong);
  border-radius: .45rem;
  background: rgba(8, 10, 26, .6);
}

.am-v4-users__relations .fi-ta-actions .fi-link span {
  font-family: var(--am4-mono);
  font-size: .56rem !important;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   10. USERS V4 — pinned decision column + pagination deck cleanup
   -------------------------------------------------------------------------- */

/* The operations grid is wider than the viewport by design (5 domains, 14
   signals). Row decisions stay reachable: the action column is pinned to the
   right edge of the shell in both header rows and every record row. */
.am-v4-users__bay .fi-ta-table thead tr:first-child th:last-child,
.am-v4-users__bay .fi-ta-table thead tr:last-child th:last-child,
.am-v4-users__bay .fi-ta-row .fi-ta-actions-cell {
  position: sticky;
  inset-inline-end: 0;
  z-index: 2;
}

.am-v4-users__bay .fi-ta-table thead tr:first-child th:last-child,
.am-v4-users__bay .fi-ta-table thead tr:last-child th:last-child {
  z-index: 3;
  background: linear-gradient(180deg, rgba(14, 17, 38, .99), rgba(11, 14, 32, .99)) !important;
}

.am-v4-users__bay .fi-ta-row .fi-ta-actions-cell {
  background: linear-gradient(90deg, rgba(11, 14, 32, .82), rgba(13, 16, 36, .99) 18%);
}

.am-v4-users__bay .fi-ta-row:hover .fi-ta-actions-cell {
  background: linear-gradient(90deg, rgba(20, 22, 50, .86), rgba(22, 25, 54, .99) 18%);
}

.am-v4-users__bay .fi-ta-table thead tr:first-child th:last-child::before,
.am-v4-users__bay .fi-ta-table thead tr:last-child th:last-child::before,
.am-v4-users__bay .fi-ta-row .fi-ta-actions-cell::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 1px;
  background: var(--am4-line-strong);
}

.am-v4-users__bay .fi-ta-table thead tr:last-child th:last-child::after {
  content: "Decisão";
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* The pinned column replaces the fade hint. */
.am-v4-users__bay::after {
  content: none;
}

/* Pagination deck: keep the native label, drop the duplicated caption. */
.am-v4-users__bay .fi-pagination-records-per-page-select::before {
  content: none;
}

.am-v4-users__bay .fi-pagination-records-per-page-select {
  gap: .45rem;
}

.am-v4-users__bay .fi-pagination-records-per-page-select-label {
  color: var(--am4-mute) !important;
  font-family: var(--am4-mono);
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v4-users__bay .fi-pagination-records-per-page-select .fi-input-wrp {
  border: 1px solid var(--am4-line-strong);
  border-radius: .5rem;
  background: rgba(6, 8, 20, .8) !important;
  box-shadow: none !important;
}

.am-v4-users__bay .fi-pagination-records-per-page-select select {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .68rem;
}

/* --------------------------------------------------------------------------
   11. USERS V4 — opaque pinned column + control deck label in flow
   -------------------------------------------------------------------------- */

/* The pinned decision column must be fully opaque: it sits above the domain
   band and the record cells while the grid scrolls underneath. */
.am-v4-users__bay .fi-ta-table thead tr:first-child th:last-child,
.am-v4-users__bay .fi-ta-table thead tr:last-child th:last-child {
  z-index: 6;
  background: #0d1126 !important;
}

.am-v4-users__bay .fi-ta-row .fi-ta-actions-cell {
  z-index: 5;
  background: #0c1023;
}

.am-v4-users__bay .fi-ta-row:nth-child(even) .fi-ta-actions-cell {
  background: #0e1229;
}

.am-v4-users__bay .fi-ta-row:hover .fi-ta-actions-cell {
  background: #161a3a;
}

/* Control deck: the label is a flow item, so no reserved gutter is needed and
   the search/filter cluster keeps its own alignment at every width. */
.am-v4-users__bay .fi-ta-header-toolbar {
  padding: .6rem .9rem !important;
}

.am-v4-users__bay .fi-ta-header-toolbar::before {
  content: "Controles";
  position: static;
  transform: none;
  display: inline-flex;
  align-items: center;
  order: -1;
  margin-inline-end: auto;
  padding-inline-start: .1rem;
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-users__bay .fi-ta-header-toolbar::before {
  border-inline-start: .18rem solid rgba(230, 193, 105, .55);
  padding-inline-start: .45rem;
}

@media (max-width: 1420px) {
  .am-v4-users__bay .fi-ta-header-toolbar::before {
    display: inline-flex;
  }
}

/* --------------------------------------------------------------------------
   12. USERS V4 — relations index wraps, ledger reflows when the aside stacks
   -------------------------------------------------------------------------- */

/* All nine operational trails stay visible: the index wraps instead of
   scrolling out of the panel. */
.am-v4-users__relations .fi-tabs {
  flex-wrap: wrap !important;
  overflow: visible !important;
  row-gap: .3rem !important;
}

.am-v4-users__relations .fi-ta-empty-state {
  padding-block: 1.8rem;
}

.am-v4-users__relations .fi-ta-empty-state-icon-ctn {
  background: rgba(124, 92, 255, .1);
}

/* When the container collapses the 8/4 split, the context ledger becomes a
   two-column reading strip instead of a lonely narrow card. */
@container amv4 (max-width: 1040px) {
  .am-v4-users .am-v4-panel--aside {
    position: static;
    grid-column: 1 / -1;
  }

  .am-v4-users .am-v4-ledger {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.4rem;
  }
}

@container amv4 (max-width: 720px) {
  .am-v4-users .am-v4-ledger {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==========================================================================
   ADMIN UI V4 — TRACKING (TRAFFIC / EVENT INTELLIGENCE CENTER)
   Structural recomposition of /admin/tracking.
   Scope: .am-v4-tracking (page root, always combined with .am-v4-page).
   Replaces the page-local <style> block of the legacy analytics panel
   (.tracking-card / .tracking-grid / .tracking-table / .badge).
   No data, query, filter or RBAC behaviour is defined here.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Analytics header — the recorte applied to every panel below
   -------------------------------------------------------------------------- */
.am-v4-tracking__scope {
  grid-column: 1 / -1;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
  align-items: center;
  gap: .5rem 1.2rem;
  padding: .7rem 1.1rem .75rem;
  border: 1px solid var(--am4-line);
  border-radius: .95rem;
  background: linear-gradient(90deg, rgba(16, 19, 42, .9), rgba(10, 13, 30, .74));
  overflow: hidden;
}

.am-v4-tracking__scope::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 2px;
  background: linear-gradient(180deg, rgba(230, 193, 105, .95), rgba(124, 92, 255, .85));
}

.am-v4-tracking__scope-id {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}

.am-v4-tracking__scope-kicker {
  color: var(--am4-violet-ink);
  font-family: var(--am4-mono);
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.am-v4-tracking__scope-id strong {
  color: var(--am4-ink);
  font-size: .9rem;
  font-weight: 640;
  letter-spacing: -.01em;
}

.am-v4-tracking__scope-id em {
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .62rem;
  font-style: normal;
  letter-spacing: .04em;
}

.am-v4-tracking__scope-chips {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}

.am-v4-chipx {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .24rem .55rem;
  border: 1px solid var(--am4-line);
  border-radius: .5rem;
  background: rgba(8, 10, 26, .6);
  color: var(--am4-dim);
  font-family: var(--am4-mono);
  font-size: .6rem;
  letter-spacing: .05em;
  white-space: nowrap;
}

.am-v4-chipx i {
  width: .34rem;
  height: .34rem;
  border-radius: 999px;
  background: rgba(148, 160, 235, .4);
}

.am-v4-chipx.is-active {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .1);
  color: #f0d69b;
}

.am-v4-chipx.is-active i {
  background: var(--am4-gold);
  box-shadow: 0 0 0 3px rgba(230, 193, 105, .16);
}

.am-v4-tracking__scope-hint {
  grid-column: 1 / -1;
  color: var(--am4-mute);
  font-size: .64rem;
  line-height: 1.4;
}

.am-v4-tracking__scope-hint strong {
  color: var(--am4-dim);
}

/* --------------------------------------------------------------------------
   2. Level 1 — pipeline integrity: one dominant number + delivery gauges
   -------------------------------------------------------------------------- */
.am-v4-tracking__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 1rem 1.4rem;
  align-items: start;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--am4-line);
}

.am-v4-tracking__lead-main {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0;
}

.am-v4-tracking__lead-value {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: 2.5rem;
  font-weight: 620;
  letter-spacing: -.035em;
  line-height: 1;
}

.am-v4-tracking__lead-facts .am-v4-fact dd.is-neg {
  color: var(--am4-neg);
}

.am-v4-tracking__lead-facts .am-v4-fact dd.is-warn {
  color: #f0d69b;
}

.am-v4-tracking__gauges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: .7rem 1.1rem;
  padding-top: .85rem;
}

.am-v4-tracking__gauge {
  display: flex;
  flex-direction: column;
  gap: .28rem;
  min-width: 0;
}

.am-v4-tracking__gauge-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .6rem;
}

.am-v4-tracking__gauge-head span {
  color: var(--am4-dim);
  font-size: .68rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-tracking__gauge-head strong {
  color: var(--am4-ink);
  font-family: var(--am4-mono);
  font-size: .86rem;
  font-weight: 640;
  font-variant-numeric: tabular-nums;
}

.am-v4-tracking__gauge-track {
  display: block;
  height: .3rem;
  border-radius: 999px;
  background: rgba(148, 160, 235, .12);
  overflow: hidden;
}

.am-v4-tracking__gauge-track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(124, 92, 255, .95), rgba(230, 193, 105, .8));
}

.am-v4-tracking__gauge em {
  color: var(--am4-mute);
  font-size: .6rem;
  font-style: normal;
  line-height: 1.35;
}

.am-v4-tracking__gauge.is-good .am-v4-tracking__gauge-track i {
  background: linear-gradient(90deg, rgba(61, 220, 151, .95), rgba(73, 197, 242, .75));
}

.am-v4-tracking__gauge.is-good .am-v4-tracking__gauge-head strong {
  color: #7ff0bd;
}

.am-v4-tracking__gauge.is-warn .am-v4-tracking__gauge-track i {
  background: linear-gradient(90deg, rgba(230, 193, 105, .95), rgba(255, 160, 108, .75));
}

.am-v4-tracking__gauge.is-warn .am-v4-tracking__gauge-head strong {
  color: #f0d69b;
}

.am-v4-tracking__gauge.is-bad .am-v4-tracking__gauge-track i {
  background: linear-gradient(90deg, rgba(255, 95, 126, .95), rgba(255, 160, 108, .75));
}

.am-v4-tracking__gauge.is-bad .am-v4-tracking__gauge-head strong {
  color: #ffa8b8;
}

.am-v4-tracking__gauge.is-idle .am-v4-tracking__gauge-head strong {
  color: var(--am4-mute);
}

.am-v4-tracking__pixel-facts {
  margin-top: .7rem;
  padding-top: .55rem;
  border-top: 1px solid var(--am4-line);
}

/* --------------------------------------------------------------------------
   3. Level 3/4 — data tables carry the analytical detail
   -------------------------------------------------------------------------- */
.am-v4-tracking .am-v4-datatable td.is-mono,
.am-v4-tracking .am-v4-datatable td.is-num {
  font-family: var(--am4-mono);
  font-variant-numeric: tabular-nums;
}

.am-v4-tracking .am-v4-datatable th.is-num,
.am-v4-tracking .am-v4-datatable td.is-num {
  text-align: end;
}

.am-v4-tracking .am-v4-datatable td.is-clip {
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.am-v4-tracking .am-v4-datatable td small {
  margin-inline-start: .25rem;
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .58rem;
}

.am-v4-tracking .am-v4-datatable td .am-v4-state {
  margin-inline-start: auto;
}

.am-v4-tracking .am-v4-datatable .am-v4-empty {
  border: 0;
  background: transparent;
}

/* Boolean coverage flags: dense, readable, no pill soup. */
.am-v4-flag {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  padding: .1rem .34rem;
  border: 1px solid var(--am4-line);
  border-radius: .34rem;
  background: rgba(8, 10, 26, .55);
  color: var(--am4-mute);
  font-family: var(--am4-mono);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.am-v4-flag::before {
  content: "";
  width: .3rem;
  height: .3rem;
  border-radius: 999px;
  background: currentColor;
  opacity: .7;
}

.am-v4-flag.is-on,
.am-v4-flag.is-green {
  border-color: rgba(61, 220, 151, .32);
  background: rgba(61, 220, 151, .1);
  color: #7ff0bd;
}

.am-v4-flag.is-red {
  border-color: rgba(255, 95, 126, .32);
  background: rgba(255, 95, 126, .1);
  color: #ffa8b8;
}

.am-v4-flag.is-info,
.am-v4-flag.is-blue {
  border-color: rgba(73, 197, 242, .3);
  background: rgba(73, 197, 242, .1);
  color: #9fdcf7;
}

/* Streams: bounded height so the log level never dominates the page. */
.am-v4-tracking__stream-wrap {
  max-height: 26rem;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 92, 255, .5) transparent;
}

.am-v4-tracking__log-wrap {
  max-height: 22rem;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 92, 235, .45) transparent;
}

.am-v4-tracking__stream-wrap::-webkit-scrollbar,
.am-v4-tracking__log-wrap::-webkit-scrollbar {
  width: .5rem;
  height: .5rem;
}

.am-v4-tracking__stream-wrap::-webkit-scrollbar-thumb,
.am-v4-tracking__log-wrap::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(124, 92, 255, .45);
}

.am-v4-tracking__stream-table {
  min-width: 82rem;
}

.am-v4-tracking__stream-wrap thead th,
.am-v4-tracking__log-wrap thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #0d1126;
}

/* --------------------------------------------------------------------------
   4. Density safeguards for the approved QA widths
   -------------------------------------------------------------------------- */
@container amv4 (max-width: 1040px) {
  .am-v4-tracking__lead {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-v4-tracking__scope {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1400px) {
  .am-v4-tracking__lead-value {
    font-size: 2.15rem;
  }
}

/* --------------------------------------------------------------------------
   5. TRACKING V4 — short bodies read as intentional, not as voids
   -------------------------------------------------------------------------- */
.am-v4-tracking .am-v4-panel__body:has(> .am-v4-empty),
.am-v4-tracking .am-v4-panel__body:has(> .am-v4-bars) {
  justify-content: center;
}

.am-v4-tracking .am-v4-panel__body:has(> .am-v4-signals) {
  justify-content: center;
}

.am-v4-tracking .am-v4-panel__body--flush .am-v4-datatable-wrap:has(.am-v4-empty) {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.am-v4-tracking .am-v4-datatable:has(.am-v4-empty) {
  height: 100%;
}

.am-v4-tracking .am-v4-datatable .am-v4-empty {
  padding-block: 1.4rem;
}

/* The pixel inventory panel keeps its ledger anchored to the bottom edge. */
.am-v4-tracking__pixel-facts {
  margin-top: auto;
}

/* --------------------------------------------------------------------------
   6. TRACKING V4 — the intelligence composition holds at 1366
   The rollout layer collapses 8/4 and 4/4/4 when the content container drops
   below 1040px. On this module the pairing carries the hierarchy (signal +
   instrumentation, performance + cohort, three rankings), so the split is
   re-asserted down to a 900px container and only collapses below that.
   -------------------------------------------------------------------------- */
@container amv4 (min-width: 900px) {
  .am-v4-tracking .am-v4-panel--dominant {
    grid-column: span 8;
  }

  .am-v4-tracking .am-v4-panel--aside {
    grid-column: span 4;
  }

  .am-v4-tracking .am-v4-panel--third {
    grid-column: span 4;
  }

  .am-v4-tracking .am-v4-panel--half {
    grid-column: span 6;
  }
}

@container amv4 (max-width: 1040px) {
  .am-v4-tracking .am-v4-tracking__lead {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .am-v4-tracking .am-v4-tracking__gauges {
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  }
}

@container amv4 (max-width: 900px) {
  .am-v4-tracking .am-v4-tracking__lead {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==========================================================================
   Admin UI V4 — SIDEBAR FINAL ("Operations Rail")
   Camada visual final da sidebar do painel `admin`. Escopo duplo
   `.fi-panel-admin .am-sidebar-v4` (classe aplicada apenas na sidebar do painel
   admin), portanto nao afeta o painel `support` nem sub-navigation de paginas.
   Nenhuma regra altera navegacao, rotas, RBAC, badges de dados ou comportamento.
   Composicao: header de marca -> legenda de bloco -> trilho por grupo ->
   item com chip de icone -> item ativo com barra de acento -> rodape de identidade.
   ========================================================================== */

.fi-panel-admin .am-sidebar-v4 {
  --am-sb-ink: #eef0ff;
  --am-sb-dim: rgba(199, 205, 234, .78);
  --am-sb-mute: rgba(176, 183, 214, .82);
  --am-sb-line: rgba(148, 160, 235, .12);
  --am-sb-line-strong: rgba(148, 160, 235, .22);
  --am-sb-violet: #7c5cff;
  --am-sb-violet-ink: #cbbcff;
  --am-sb-gold: #e6c169;
  --am-sb-mono: var(--am4-mono, ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace);

  z-index: 30;
  background:
    radial-gradient(22rem 15rem at 50% -6%, rgba(124, 92, 255, .14), transparent 68%),
    linear-gradient(180deg, #0b0e26 0%, #080b1e 46%, #05070f 100%);
  border-inline-end: 1px solid var(--am-sb-line);
  box-shadow:
    16px 0 44px rgba(0, 0, 0, .22),
    inset -1px 0 0 rgba(230, 193, 105, .05);
}

/* --- Topo: bloco de marca proprio ---------------------------------------- */
/* Altura alinhada a topbar V4 (min-height 4.3rem) para o filete do header da
   sidebar encontrar exatamente o filete da topbar. */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-header {
  position: relative;
  z-index: 1;
  height: auto;
  min-height: 4.3rem;
  align-items: flex-start;
  padding: .62rem .9rem .5rem;
  background:
    linear-gradient(180deg, rgba(124, 92, 255, .11), rgba(8, 10, 26, 0) 82%);
  border: 0;
  box-shadow: inset 0 -1px 0 var(--am-sb-line-strong);
}

/* Fade sob o header: a lista dissolve ao rolar, sem corte seco. */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-header::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 100%;
  height: .85rem;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(8, 10, 26, .92), rgba(8, 10, 26, 0));
}

.fi-panel-admin .am-sidebar-v4 .am-sb-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  width: 100%;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-brand__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .3rem;
  max-width: 100%;
  min-width: 0;
  text-decoration: none;
}

/* `height` inline vem de brandLogoHeight() do painel: precisa de !important
   para a marca caber no header compacto sem alterar o logo do login. */
.fi-panel-admin .am-sidebar-v4 .am-sb-brand .fi-logo {
  width: auto;
  height: 1.4rem !important;
  max-width: 100%;
  max-height: none;
  filter: drop-shadow(0 6px 18px rgba(124, 92, 255, .28));
}

.fi-panel-admin .am-sidebar-v4 .am-sb-brand__meta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
  padding-inline-start: .58rem;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-brand__meta::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: .1rem;
  bottom: .1rem;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--am-sb-gold), rgba(124, 92, 255, .9));
}

.fi-panel-admin .am-sidebar-v4 .am-sb-brand__eyebrow {
  color: rgba(230, 193, 105, .92);
  font-family: var(--am-sb-mono);
  font-size: .53rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-brand__sub {
  color: rgba(158, 166, 205, .62);
  font-size: .62rem;
  line-height: 1.25;
  letter-spacing: .045em;
}

/* --- Area de navegacao e scroll ------------------------------------------ */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-nav {
  gap: .9rem;
  padding: .95rem .85rem 1rem;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(124, 92, 255, .34) transparent;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-nav::-webkit-scrollbar {
  width: 4px;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-nav::-webkit-scrollbar-track {
  background: transparent;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-nav::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(124, 92, 255, .5), rgba(230, 193, 105, .28));
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-nav-groups {
  gap: 1.15rem;
  margin-inline: 0;
}

/* --- Legenda de bloco (grupo sem label) e labels de grupo ---------------- */
.fi-panel-admin .am-sidebar-v4 .am-sb-caption {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: -.85rem;
  padding: 0 .3rem;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-caption::before,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-button::before {
  content: "";
  flex: none;
  width: .3rem;
  height: .3rem;
  border-radius: 1px;
  transform: rotate(45deg);
  background: linear-gradient(135deg, var(--am-sb-gold), rgba(230, 193, 105, .3));
  box-shadow: 0 0 8px rgba(230, 193, 105, .25);
}

.fi-panel-admin .am-sidebar-v4 .am-sb-caption > span,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  padding-inline: 0;
  color: var(--am-sb-mute);
  font-family: var(--am-sb-mono);
  font-size: .555rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-caption > span {
  flex: 1 1 auto;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-caption > span::after,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-label::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: linear-gradient(90deg, var(--am-sb-line-strong), rgba(148, 160, 235, 0));
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group {
  gap: .3rem;
}

/* Neutraliza o separador das camadas anteriores: a separacao agora vem da
   legenda do grupo + trilho vertical. */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group + .fi-sidebar-group {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-button {
  position: relative;
  gap: .45rem;
  min-height: 0;
  padding: .1rem .3rem .05rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-button:hover {
  background: transparent;
  transform: none;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-button:hover .fi-sidebar-group-label {
  color: rgba(199, 205, 234, .82);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group.fi-active > .fi-sidebar-group-button::before {
  background: linear-gradient(135deg, var(--am-sb-violet-ink), var(--am-sb-violet));
  box-shadow: 0 0 10px rgba(124, 92, 255, .45);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group.fi-active > .fi-sidebar-group-button .fi-sidebar-group-label {
  color: rgba(214, 219, 245, .9);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-collapse-button {
  flex: none;
  opacity: .3;
  transition: opacity 150ms ease;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-button:hover .fi-sidebar-group-collapse-button,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-collapse-button:focus-visible {
  opacity: .8;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-collapse-button .fi-icon-btn-icon {
  width: .85rem;
  height: .85rem;
}

/* --- Trilho por grupo ---------------------------------------------------- */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-items {
  gap: .12rem;
  margin-inline-start: .5rem;
  padding-inline-start: .55rem;
  border-inline-start: 1px solid rgba(148, 160, 235, .17);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-group.fi-active > .fi-sidebar-group-items {
  border-inline-start-color: rgba(124, 92, 255, .3);
}

/* Bloco fixo do topo: card de destaque, sem trilho */
.fi-panel-admin .am-sidebar-v4 .am-sb-group--pinned {
  padding: .32rem .35rem .4rem;
  border: 1px solid var(--am-sb-line);
  border-radius: .8rem;
  background: linear-gradient(168deg, rgba(24, 28, 58, .62), rgba(11, 14, 32, .4));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.fi-panel-admin .am-sidebar-v4 .am-sb-group--pinned > .fi-sidebar-group-items {
  margin-inline-start: 0;
  padding-inline-start: 0;
  border-inline-start: 0;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-group--pinned .fi-sidebar-item > .fi-sidebar-item-button {
  --am-sb-bar-x: .12rem;
  padding-inline-start: .62rem;
}

/* --- Itens --------------------------------------------------------------- */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button {
  --am-sb-bar-x: -.56rem;
  justify-content: flex-start;
  gap: .55rem;
  min-height: 2.2rem;
  padding: .26rem 1.1rem .26rem .45rem;
  border: 1px solid transparent;
  border-radius: .55rem;
  background: transparent;
  transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item-button .fi-sidebar-item-icon {
  flex: none;
  box-sizing: border-box;
  width: 1.6rem;
  height: 1.6rem;
  padding: .32rem;
  border: 1px solid var(--am-sb-line);
  border-radius: .45rem;
  background: rgba(255, 255, 255, .022);
  color: rgba(178, 185, 222, .82);
  transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item-button .fi-sidebar-item-label {
  min-width: 0;
  color: var(--am-sb-dim);
  font-size: .775rem;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .005em;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button:hover,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button:focus-visible {
  background: rgba(124, 92, 255, .07);
  border-color: var(--am-sb-line);
  transform: none;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button:hover .fi-sidebar-item-icon,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button:focus-visible .fi-sidebar-item-icon {
  border-color: rgba(124, 92, 255, .32);
  background: rgba(124, 92, 255, .12);
  color: var(--am-sb-violet-ink);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button:hover .fi-sidebar-item-label,
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button:focus-visible .fi-sidebar-item-label {
  color: var(--am-sb-ink);
}

/* --- Item ativo ---------------------------------------------------------- */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item.fi-active > .fi-sidebar-item-button {
  background:
    linear-gradient(90deg, rgba(124, 92, 255, .22), rgba(124, 92, 255, .06) 64%, rgba(124, 92, 255, 0));
  border-color: rgba(148, 160, 235, .2);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .045),
    0 10px 24px -14px rgba(124, 92, 255, .6);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item.fi-active > .fi-sidebar-item-button::before {
  content: "";
  position: absolute;
  inset-inline-start: var(--am-sb-bar-x, -.56rem);
  top: .34rem;
  bottom: .34rem;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--am-sb-gold), var(--am-sb-violet));
  box-shadow: 0 0 10px rgba(230, 193, 105, .35);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item.fi-active > .fi-sidebar-item-button::after {
  content: "";
  position: absolute;
  inset-inline-end: .55rem;
  top: 50%;
  width: .3rem;
  height: .3rem;
  border-radius: 999px;
  transform: translateY(-50%);
  background: var(--am-sb-gold);
  box-shadow: 0 0 8px rgba(230, 193, 105, .55);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item.fi-active > .fi-sidebar-item-button:has(.fi-badge)::after {
  display: none;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-icon {
  border-color: rgba(203, 188, 255, .35);
  background: linear-gradient(160deg, rgba(124, 92, 255, .48), rgba(124, 92, 255, .16));
  color: #fff;
  box-shadow:
    0 0 0 1px rgba(230, 193, 105, .14),
    0 8px 18px -10px rgba(124, 92, 255, .8);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item.fi-active > .fi-sidebar-item-button .fi-sidebar-item-label {
  color: #fff;
  font-weight: 600;
}

/* --- Subitens (child items) --------------------------------------------- */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-sub-group-items {
  gap: .1rem;
  margin-inline-start: 1.1rem;
  padding-inline-start: .1rem;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-sub-group-items .fi-sidebar-item-button {
  min-height: 2rem;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-sub-group-items .fi-sidebar-item-label {
  font-size: .735rem;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item-grouped-border {
  flex: none;
  width: 1rem;
  height: 1.7rem;
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item-grouped-border > div {
  background-color: var(--am-sb-line-strong);
}

.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item-grouped-border > div.rounded-full {
  width: .3rem;
  height: .3rem;
  background-color: rgba(203, 188, 255, .55);
}

.fi-panel-admin .am-sidebar-v4 .fi-active > .fi-sidebar-item-button .fi-sidebar-item-grouped-border > div.rounded-full {
  background-color: var(--am-sb-gold);
  box-shadow: 0 0 8px rgba(230, 193, 105, .5);
}

/* --- Badges de navegacao (cor semantica preservada) --------------------- */
.fi-panel-admin .am-sidebar-v4 .fi-sidebar-item .fi-badge {
  flex: none;
  gap: .2rem;
  min-height: 1.15rem;
  max-width: 4.2rem;
  padding: 0 .34rem;
  border: 0;
  border-radius: .38rem;
  background-color: color-mix(in srgb, currentColor 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 26%, transparent);
  font-family: var(--am-sb-mono);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- Rodape de identidade ---------------------------------------------- */
.fi-panel-admin .am-sidebar-v4 .am-sb-footer {
  position: relative;
  flex: none;
  padding: .7rem .85rem .8rem;
  background: linear-gradient(180deg, rgba(9, 12, 28, .55), rgba(4, 6, 16, .92));
  box-shadow: inset 0 1px 0 var(--am-sb-line-strong);
}

/* Fade acima do rodape: deixa claro que a lista continua rolando por baixo. */
.fi-panel-admin .am-sidebar-v4 .am-sb-footer::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 100%;
  height: 1.1rem;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 7, 19, 0), rgba(5, 7, 19, .88));
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__id {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-width: 0;
  padding: .45rem .5rem;
  border: 1px solid var(--am-sb-line);
  border-radius: .65rem;
  background: linear-gradient(168deg, rgba(24, 28, 58, .6), rgba(11, 14, 32, .35));
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__avatar {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid rgba(203, 188, 255, .24);
  border-radius: .55rem;
  background: linear-gradient(150deg, rgba(124, 92, 255, .4), rgba(230, 193, 105, .18));
  color: #fff;
  font-family: var(--am-sb-mono);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .06em;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__meta {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: .16rem;
  min-width: 0;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__name {
  overflow: hidden;
  color: var(--am-sb-ink);
  font-size: .735rem;
  font-weight: 600;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__line {
  display: flex;
  align-items: center;
  gap: .4rem;
  min-width: 0;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__role {
  flex: 0 1 auto;
  overflow: hidden;
  color: rgba(230, 193, 105, .82);
  font-family: var(--am-sb-mono);
  font-size: .53rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__status {
  display: flex;
  flex: none;
  align-items: center;
  gap: .25rem;
  margin-inline-start: auto;
  color: var(--am-sb-mute);
  font-size: .555rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.fi-panel-admin .am-sidebar-v4 .am-sb-footer__dot {
  width: .3rem;
  height: .3rem;
  border-radius: 999px;
  background: var(--am4-pos, #3ddc97);
  box-shadow: 0 0 8px rgba(61, 220, 151, .55);
}

/* --- Off-canvas (tablet/mobile) ---------------------------------------- */
@media (max-width: 1023.98px) {
  .fi-panel-admin .am-sidebar-v4 {
    box-shadow: 24px 0 60px rgba(0, 0, 0, .5);
  }

  .fi-panel-admin .am-sidebar-v4 .fi-sidebar-header {
    padding-inline: 1rem;
  }

  .fi-panel-admin .am-sidebar-v4 .fi-sidebar-nav {
    padding-inline: 1rem;
  }

  .fi-panel-admin .am-sidebar-v4 .am-sb-footer {
    padding-inline: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fi-panel-admin .am-sidebar-v4 .fi-sidebar-item > .fi-sidebar-item-button,
  .fi-panel-admin .am-sidebar-v4 .fi-sidebar-item-button .fi-sidebar-item-icon,
  .fi-panel-admin .am-sidebar-v4 .fi-sidebar-group-collapse-button {
    transition-duration: .01ms !important;
  }
}


/* ========================================================================== */
/* Dashboard compacto V5 (release do painel financeiro). */
/* ========================================================================== */

/* ==========================================================================
   ADMIN DASHBOARD V5 — painel financeiro compacto
   Composição + camada visual apenas. Nenhum dado, query, filtro, rota ou RBAC
   é definido aqui. Escopo: .am-dashboard-v5.
   As regras V2/V3/V4 acima permanecem intactas para rollback — a página apenas
   deixou de usar aquelas classes.

   Regras duras deste bloco:
     · gráfico do topo entre 130px e 180px de altura;
     · card monetário nunca quebra o número em linhas ("R$ 855,00" fica inteiro);
     · 3 cards por linha no desktop, 2 no tablet, 1 no mobile;
     · nada de overflow horizontal quando a sidebar está expandida.
   ========================================================================== */

.am-dashboard-v5 {
  --am5-ink: #f3f4ff;
  --am5-dim: rgba(201, 206, 236, .68);
  --am5-mute: rgba(158, 166, 205, .52);
  --am5-line: rgba(148, 160, 235, .12);
  --am5-line-strong: rgba(148, 160, 235, .2);
  --am5-panel: linear-gradient(168deg, rgba(18, 22, 46, .96), rgba(9, 12, 28, .975));
  --am5-gold: #e6c169;
  --am5-pos: #3ddc97;
  --am5-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;
  --am5-gap: .8rem;
}

.am-dashboard-v5 > section {
  gap: .8rem;
  padding-top: .8rem;
  padding-bottom: 1rem;
}

.am-dashboard-v5 .fi-header {
  align-items: center;
  min-width: 0;
  flex-wrap: wrap;
  gap: .7rem;
  padding: .4rem .9rem;
  border: 1px solid var(--am5-line);
  border-radius: .8rem;
  background: linear-gradient(90deg, rgba(16, 19, 42, .9), rgba(10, 13, 30, .78));
}

.am-dashboard-v5 .fi-header-heading-ctn {
  min-width: 0;
}

.am-dashboard-v5 .fi-header-heading {
  color: var(--am5-ink);
  font-size: .95rem;
  font-weight: 620;
  letter-spacing: -.005em;
}

.am-dashboard-v5 .fi-breadcrumbs-item-label {
  font-family: var(--am5-mono);
  font-size: .64rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.am-dashboard-v5 .fi-header-actions,
.am-dashboard-v5 .fi-header .fi-ac {
  gap: .4rem;
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.am-dashboard-v5 .fi-header-actions .fi-btn,
.am-dashboard-v5 .fi-header .fi-ac .fi-btn {
  height: 2.05rem;
  padding-inline: .75rem;
  border: 1px solid var(--am5-line-strong);
  border-radius: .6rem;
  background: rgba(124, 92, 255, .07);
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
}

.am-dashboard-v5 .fi-header-actions .fi-btn:hover,
.am-dashboard-v5 .fi-header .fi-ac .fi-btn:hover {
  border-color: rgba(230, 193, 105, .34);
  background: rgba(230, 193, 105, .1);
}

.am-v5 {
  display: flex;
  flex-direction: column;
  gap: var(--am5-gap);
  min-width: 0;
}

.am-v5 > * {
  min-width: 0;
}

.am-v5-scope {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--am5-line-strong);
  border-radius: .8rem;
  background: rgba(8, 10, 26, .68);
  overflow: hidden;
}

.am-v5-scope__cell {
  display: flex;
  flex-direction: column;
  gap: .08rem;
  min-width: 0;
  padding: .5rem .8rem;
}

.am-v5-scope__cell + .am-v5-scope__cell {
  border-inline-start: 1px solid var(--am5-line);
}

.am-v5-scope__cell small {
  color: var(--am5-mute);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-v5-scope__cell strong {
  display: flex;
  align-items: center;
  gap: .35rem;
  min-width: 0;
  color: var(--am5-ink);
  font-size: .8rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.am-v5-scope__cell em {
  color: var(--am5-mute);
  font-family: var(--am5-mono);
  font-size: .57rem;
  font-style: normal;
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.am-v5-scope__cell--period strong {
  font-family: var(--am5-mono);
  font-size: .73rem;
}

.am-v5-scope__cell--signal strong i {
  flex: 0 0 auto;
  width: .4rem;
  height: .4rem;
  border-radius: 999px;
  background: var(--am5-pos);
  box-shadow: 0 0 0 3px rgba(61, 220, 151, .16);
}

.am-v5-scope__cell--signal.is-degraded strong {
  color: #ffd79a;
}

.am-v5-scope__cell--signal.is-degraded strong i {
  background: var(--am5-gold);
  box-shadow: 0 0 0 3px rgba(230, 193, 105, .18);
}

.am-v5-filterform:not(:has(.fi-fo-component-ctn)),
.am-v5-filterform:empty {
  display: none;
}

.am-v5-alerts .fi-wi,
.am-v5-alerts .fi-wi-widget {
  display: block;
  gap: 0;
}

.am-v5-charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--am5-gap);
}

.am-v5-chart {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-width: 0;
  padding: .7rem .8rem .55rem;
  border: 1px solid var(--am5-line);
  border-radius: .9rem;
  background: var(--am5-panel);
}

.am-v5-chart__head {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  min-width: 0;
}

.am-v5-chart__head h3 {
  margin: 0;
  color: var(--am5-ink);
  font-size: .82rem;
  font-weight: 640;
  line-height: 1.25;
}

.am-v5-chart__meta {
  color: var(--am5-mute);
  font-family: var(--am5-mono);
  font-size: .57rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.am-v5-chart__body {
  min-width: 0;
}

.am-v5-chart__body > .fi-wi,
.am-v5-chart__body .fi-wi-widget,
.am-v5-chart__body .fi-section,
.am-v5-chart__body .fi-section-content-ctn,
.am-v5-chart__body .fi-section-content {
  width: 100%;
  min-width: 0;
  gap: 0;
}

.am-v5-chart__body .fi-section {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.am-v5-chart__body .fi-section-header,
.am-v5-chart__body .fi-section-header-ctn {
  display: none !important;
}

.am-v5-chart__body .fi-section-content {
  padding: 0 !important;
}

.am-v5-chart__body canvas {
  width: 100% !important;
  min-height: 130px !important;
  height: 160px !important;
  max-height: 180px !important;
}

.am-v5-cards > .fi-wi,
.am-v5-cards .fi-wi-widget {
  gap: 0;
}

.am-commercial-cards {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  min-width: 0;
}

.am-commercial-cards__group {
  min-width: 0;
}

.am-commercial-cards__group-title {
  margin: 0 0 .35rem;
  color: var(--am5-mute, rgba(158, 166, 205, .52));
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.am-commercial-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
}

.am-commercial-cards__group--quad .am-commercial-cards__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.am-commercial-cards__group--summary .am-commercial-cards__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.am-commercial-cards__group--quad .am-commercial-card {
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.am-commercial-cards__group--wagers .am-commercial-card {
  border-color: rgba(56, 189, 248, .16);
  background: linear-gradient(145deg, rgba(14, 165, 233, .075), rgba(148, 163, 184, .035));
}

.am-commercial-cards__group--ggr .am-commercial-card {
  border-color: rgba(52, 211, 153, .16);
  background: linear-gradient(145deg, rgba(16, 185, 129, .075), rgba(148, 163, 184, .035));
}

.am-commercial-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .1rem;
  min-width: 0;
  min-height: 5.35rem;
  padding: .6rem .8rem;
  border: 1px solid var(--am5-line, rgba(148, 160, 235, .12));
  border-radius: .75rem;
  background: rgba(148, 163, 184, .06);
}

.am-commercial-card__label {
  min-height: 1.55rem;
  color: rgba(201, 206, 236, .74);
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.25;
  text-transform: uppercase;
  overflow-wrap: break-word;
}

.am-commercial-card__value {
  display: block;
  min-width: 0;
  color: var(--am5-ink, #f3f4ff);
  font-size: clamp(.98rem, 1.15vw, 1.22rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.015em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
  word-break: keep-all;
}

.am-commercial-card__meta {
  color: rgba(198, 201, 220, .58);
  font-size: .64rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.am-commercial-card--empty {
  border-style: dashed;
  background: transparent;
}

.am-commercial-card--empty .am-commercial-card__value {
  font-size: .82rem;
  font-weight: 600;
  color: rgba(198, 201, 220, .62);
}

.am-v5-footline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding-top: .3rem;
  color: var(--am5-mute);
  font-size: .62rem;
}

.am-v5-footline__source {
  font-family: var(--am5-mono);
  letter-spacing: .04em;
}

@media (max-width: 1279px) {
  .am-dashboard-v5 .fi-header {
    align-items: flex-start;
  }

  .am-dashboard-v5 .fi-header-actions,
  .am-dashboard-v5 .fi-header .fi-ac {
    width: 100%;
    justify-content: flex-start;
  }

  .am-commercial-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .am-commercial-cards__group--quad .am-commercial-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .am-commercial-cards__group--summary .am-commercial-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .am-v5-scope {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .am-v5-scope__cell:nth-child(3) {
    border-inline-start: 0;
  }

  .am-v5-scope__cell:nth-child(n + 3) {
    border-top: 1px solid var(--am5-line);
  }
}

@media (max-width: 1023px) {
  .am-v5-charts {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .am-commercial-cards__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-commercial-cards__group--quad .am-commercial-cards__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-commercial-cards__group--summary .am-commercial-cards__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-v5-scope {
    grid-template-columns: minmax(0, 1fr);
  }

  .am-v5-scope__cell + .am-v5-scope__cell {
    border-inline-start: 0;
    border-top: 1px solid var(--am5-line);
  }

  .am-commercial-card__value {
    font-size: 1.05rem;
  }

  .am-v5-footline {
    flex-direction: column;
    align-items: flex-start;
    gap: .25rem;
  }
}
