/* Admin data grids: one skin for every Syncfusion SfGrid rendered inside the admin shell (Components/Layout/AdminLayout.razor).
   Loads after the Syncfusion bootstrap5.3 theme and wwwroot/app.css. Scoped to .admin-shell so the marketing site is untouched;
   body-appended popups (Excel filter, pager dropdown, tooltips) are styled by their own classes below.
   Tokens follow the Silicon theme + Chip In brand; nothing here changes grid behaviour, columns, or number formatting classes. */
:root {
    --ag-surface: #ffffff;
    --ag-head: #f8f9fd;
    --ag-line: #e9ebf3;
    --ag-line-strong: #dde1ee;
    --ag-text: #1f2440;
    --ag-muted: #6b7190;
    --ag-accent: var(--chipin-brand-primary, #5A45E6);
    --ag-accent-soft: var(--chipin-brand-primary-bg-subtle, #F0EEFF);
    --ag-hover: #f6f6fe;
    --ag-selected: #ecebff;
    --ag-radius: .9rem;
    --ag-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 30px -22px rgba(15, 23, 42, .25);
    --ag-focus: rgba(90, 69, 230, .35);
    /* Lines are off by default (Settings > Accessibility > Grid borders turns them on); transparent keeps the 1px so nothing shifts. */
    --ag-rule: transparent;
    --ag-frame-shadow: none;
}
html[data-a11y-grid-lines="on"] {
    --ag-rule: var(--ag-line);
    --ag-frame-shadow: var(--ag-shadow);
}
[data-bs-theme="dark"] {
    --ag-surface: #131826;
    --ag-head: #161c2d;
    --ag-line: rgba(255, 255, 255, .08);
    --ag-line-strong: rgba(255, 255, 255, .14);
    --ag-text: #e6e9f5;
    --ag-muted: #98a0bd;
    --ag-accent: var(--chipin-brand-accent, #7C6AF2);
    --ag-accent-soft: rgba(124, 106, 242, .18);
    --ag-hover: rgba(124, 106, 242, .08);
    --ag-selected: rgba(124, 106, 242, .16);
    --ag-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 34px -24px rgba(0, 0, 0, .7);
    --ag-focus: rgba(124, 106, 242, .5);
}

/* Syncfusion paints hover / selection / borders through these theme variables; pointing them at the tokens keeps
   every internal state (frozen cells, drag, edit) consistent without chasing selectors. */
.admin-shell .e-grid, .e-grid-popup, .e-excelfilter, .e-filter-popup, .e-ddl.e-popup {
    --color-sf-content-bg-color: var(--ag-surface);
    --color-sf-content-bg-color-alt1: var(--ag-surface);
    --color-sf-content-bg-color-alt2: var(--ag-head);
    --color-sf-content-bg-color-alt3: var(--ag-head);
    --color-sf-table-bg-color-hover: var(--ag-hover);
    --color-sf-table-bg-color-selected: var(--ag-selected);
    --color-sf-content-bg-color-selected: var(--ag-selected);
    --color-sf-content-text-color: var(--ag-text);
    --color-sf-content-text-color-hover: var(--ag-text);
    --color-sf-content-text-color-alt1: var(--ag-muted);
    --color-sf-border-light: var(--ag-line);
    --color-sf-border-dark: var(--ag-line-strong);
}

/* ---------- Frame ---------- */
.admin-shell .e-grid {
    border: 1px solid var(--ag-rule);
    border-radius: var(--ag-radius);
    background: var(--ag-surface);
    color: var(--ag-text);
    box-shadow: var(--ag-frame-shadow);
    overflow: hidden;
    font-family: inherit;
}
.admin-shell .e-grid .e-gridheader,
.admin-shell .e-grid .e-gridcontent,
.admin-shell .e-grid .e-content,
.admin-shell .e-grid .e-table,
.admin-shell .e-grid .e-headercontent { background: transparent; border-color: var(--ag-rule); }
.admin-shell .e-grid .e-gridcontent .e-table { border-collapse: separate; border-spacing: 0; }
/* Grids that sit flush inside a card (existing CssClass) keep the card as their frame. */
.admin-shell .e-grid.admin-grid-borderless { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.admin-shell .card-body > .e-grid:last-child.admin-grid-borderless { margin: 0 calc(-1 * var(--si-card-spacer-x, 1.5rem)) calc(-1 * var(--si-card-spacer-y, 1.5rem)); border-top: 1px solid var(--ag-rule); }
.admin-shell .card-body > .e-grid:first-child:last-child.admin-grid-borderless { margin-top: calc(-1 * var(--si-card-spacer-y, 1.5rem)); border-top: 0; }

/* ---------- Toolbar (Search / Excel / PDF / CSV / custom template) ---------- */
/* height/overflow are forced: the toolbar's left/right groups can be absolutely positioned by the theme, which would otherwise collapse the bar and clip the buttons behind the header. */
.admin-shell .e-grid .e-toolbar { box-sizing: border-box; height: auto !important; min-height: 3.55rem !important; padding: .7rem .85rem; border: 0; border-bottom: 1px solid var(--ag-rule); background: var(--ag-surface); overflow: visible !important; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items { position: relative; height: auto !important; min-height: 2.1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; background: transparent; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items.e-tbar-pos { display: flex; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items.e-tbar-pos .e-toolbar-left,
.admin-shell .e-grid .e-toolbar .e-toolbar-items.e-tbar-pos .e-toolbar-center,
.admin-shell .e-grid .e-toolbar .e-toolbar-items.e-tbar-pos .e-toolbar-right { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; height: auto !important; min-height: 0; margin: 0 !important; padding: 0; transform: none; top: 0; }
/* Fallback if a renderer keeps the groups absolutely positioned: pin them inside the padded bar instead of at the top edge. */
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-left { left: 0; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-right { right: 0; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items.e-tbar-pos .e-toolbar-center { flex: 1 1 auto; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items.e-tbar-pos .e-toolbar-right { margin-left: auto !important; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-template { height: auto; min-height: 0; padding: 0; }
.admin-shell .e-grid .e-toolbar .e-hscroll { height: auto; }
.admin-shell .e-grid .e-toolbar .e-hscroll .e-hscroll-bar, .admin-shell .e-grid .e-toolbar .e-hscroll .e-hscroll-content { height: auto; }
.admin-shell .e-grid .e-toolbar .e-hscroll .e-scroll-nav { width: 1.8rem; height: 2.1rem; min-height: 0; border: 1px solid var(--ag-line-strong); border-radius: .6rem; background: var(--ag-surface); color: var(--ag-muted); top: 50%; transform: translateY(-50%); }
.admin-shell .e-grid .e-toolbar .e-hscroll .e-scroll-nav .e-icons { font-size: .6rem; line-height: 2.1rem; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item { height: auto; min-height: 0; min-width: 0; margin: 0; padding: 0; background: transparent; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn { height: 2.1rem; min-height: 0; padding: 0 .8rem; border: 0; border-radius: .6rem; background: transparent; color: var(--ag-text); font-size: .8rem; font-weight: 700; line-height: 1; box-shadow: none; outline: none; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn .e-tbar-btn-text { padding: 0 0 0 .35rem; font-size: .8rem; font-weight: 700; color: inherit; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn .e-icons { color: var(--ag-muted); font-size: .95rem; line-height: 1; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn:hover,
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn:focus,
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn:active { border: 0; background: var(--ag-accent-soft); color: var(--ag-accent); box-shadow: none; outline: none; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn:focus-visible { outline: 2px solid var(--ag-focus); outline-offset: 2px; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item .e-tbar-btn:hover .e-icons { color: var(--ag-accent); }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-overlay { opacity: .5; }
/* Search box: pill on the right */
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper { margin-left: auto; padding: 0; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group { width: min(18rem, 100%); height: 2.1rem; margin: 0; padding: 0 .35rem 0 .75rem; border: 1px solid var(--ag-line-strong); border-radius: 999px; background: var(--ag-head); box-shadow: none; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group::before,
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group::after { display: none; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group.e-input-focus { border-color: var(--ag-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ag-accent) 18%, transparent); }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group .e-input { height: 100%; padding: 0; border: 0; background: transparent; color: var(--ag-text); font-size: .82rem; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group .e-input::placeholder { color: var(--ag-muted); }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group .e-input-group-icon { min-width: 1.6rem; width: 1.6rem; height: 1.6rem; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--ag-muted); font-size: .8rem; }
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group .e-input-group-icon:hover { background: var(--ag-accent-soft); color: var(--ag-accent); }
/* The toolbar's overflow/separator chrome */
.admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-separator { display: none; }
.admin-shell .e-grid .e-toolbar .e-hscroll-bar { overflow: visible; }

/* ---------- Header ---------- */
.admin-shell .e-grid .e-gridheader { border-top: 0; border-bottom: 1px solid var(--ag-rule); background: var(--ag-head); }
.admin-shell .e-grid .e-columnheader { background: transparent; }
.admin-shell .e-grid .e-headercell,
.admin-shell .e-grid .e-headercell.e-stackedheadercell,
.admin-shell .e-grid .e-detailheadercell { height: auto; padding: .55rem .75rem; border: 0; border-bottom: 1px solid var(--ag-rule); background: var(--ag-head); color: var(--ag-muted); }
.admin-shell .e-grid .e-headercell.e-lastcell { border-right: 0; }
.admin-shell .e-grid .e-headercelldiv { height: auto; min-height: 1.3rem; padding: 0; font-size: .62rem; font-weight: 800; line-height: 1.25; letter-spacing: .03em; text-transform: uppercase; color: var(--ag-muted); white-space: normal; }
.admin-shell .e-grid .e-headercelldiv .e-headertext { white-space: normal; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; word-break: normal; }
.admin-shell .e-grid .e-headercell-container { display: flex; align-items: center; }
.admin-shell .e-grid .e-headercelldiv .e-headertext { color: inherit; }
.admin-shell .e-grid .e-rightalign .e-headercelldiv { padding-right: 0; }
.admin-shell .e-grid .e-headercell .e-sortfilterdiv,
.admin-shell .e-grid .e-headercell .e-filtermenudiv,
.admin-shell .e-grid .e-headercell .e-columnmenu { flex: none; margin: 0 0 0 .1rem; padding: 0; width: .8rem; height: 1rem; line-height: 1rem; text-align: center; color: var(--ag-muted); font-size: .66rem; opacity: .45; transition: opacity .15s, color .15s; }
/* The sort slot only takes room once a column is sorted (or on hover), so short headers keep their width. */
.admin-shell .e-grid .e-headercell .e-sortfilterdiv:not(.e-ascending):not(.e-descending) { width: 0; margin: 0; overflow: hidden; }
.admin-shell .e-grid .e-headercell:hover .e-sortfilterdiv:not(.e-ascending):not(.e-descending) { width: .8rem; margin-left: .1rem; }
.admin-shell .e-grid .e-headercell:hover .e-sortfilterdiv,
.admin-shell .e-grid .e-headercell:hover .e-filtermenudiv,
.admin-shell .e-grid .e-headercell:hover .e-columnmenu { opacity: 1; }
.admin-shell .e-grid .e-headercell .e-filtermenudiv.e-filtered,
.admin-shell .e-grid .e-headercell .e-columnmenu.e-filtered,
.admin-shell .e-grid .e-headercell .e-sortfilterdiv.e-ascending,
.admin-shell .e-grid .e-headercell .e-sortfilterdiv.e-descending { opacity: 1; color: var(--ag-accent); }
.admin-shell .e-grid .e-headercell .e-sortfilterdiv.e-ascending ~ .e-headercelldiv,
.admin-shell .e-grid .e-headercell .e-sortfilterdiv.e-descending ~ .e-headercelldiv,
.admin-shell .e-grid .e-headercell:has(.e-ascending) .e-headercelldiv,
.admin-shell .e-grid .e-headercell:has(.e-descending) .e-headercelldiv { color: var(--ag-accent); }
.admin-shell .e-grid .e-headercell .e-sortnumber { margin: 0 0 0 .25rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--ag-accent-soft); color: var(--ag-accent); font-size: .6rem; line-height: 1rem; }
.admin-shell .e-grid .e-headercell:hover { background: var(--ag-head); }
.admin-shell .e-grid .e-headercell .e-rhandler { border-right: 1px solid transparent; }
.admin-shell .e-grid .e-headercell:hover .e-rhandler { border-right-color: var(--ag-line-strong); }
.admin-shell .e-grid .e-gridheader .e-headercontent .e-headercell.e-focused { box-shadow: inset 0 0 0 1px var(--ag-focus); }
/* Group drop area (when shown) */
.admin-shell .e-grid .e-groupdroparea { padding: .6rem .85rem; border: 0; border-bottom: 1px dashed var(--ag-line-strong); background: var(--ag-head); color: var(--ag-muted); font-size: .8rem; }
.admin-shell .e-grid .e-groupdroparea .e-groupheadercell { border-radius: 999px; background: var(--ag-accent-soft); color: var(--ag-accent); border: 0; }

/* ---------- Rows and cells ---------- */
.admin-shell .e-grid .e-rowcell,
.admin-shell .e-grid .e-detailrowcollapse,
.admin-shell .e-grid .e-detailrowexpand,
.admin-shell .e-grid .e-detailindentcell,
.admin-shell .e-grid .e-indentcell,
.admin-shell .e-grid .e-recordplusexpand,
.admin-shell .e-grid .e-recordpluscollapse,
.admin-shell .e-grid .e-rowdragdropcell { padding: .6rem .75rem; border: 0; border-bottom: 1px solid var(--ag-rule); background: transparent; color: var(--ag-text); font-size: .875rem; line-height: 1.4; vertical-align: middle; font-variant-numeric: tabular-nums; }
.admin-shell .e-grid .e-row:last-child .e-rowcell,
.admin-shell .e-grid .e-row:last-child .e-detailrowcollapse,
.admin-shell .e-grid .e-row:last-child .e-detailrowexpand,
.admin-shell .e-grid .e-row:last-child .e-indentcell,
.admin-shell .e-grid .e-row:last-child .e-recordplusexpand,
.admin-shell .e-grid .e-row:last-child .e-recordpluscollapse { border-bottom-color: transparent; }
.admin-shell .e-grid .e-rowcell.e-rightalign { font-weight: 600; }
.admin-shell .e-grid .e-altrow .e-rowcell,
.admin-shell .e-grid .e-altrow { background: transparent; }
.admin-shell .e-grid.e-gridhover .e-row:hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell),
.admin-shell .e-grid.e-gridhover .e-row:hover .e-detailrowcollapse:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell),
.admin-shell .e-grid.e-gridhover .e-row:hover .e-detailrowexpand:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell),
.admin-shell .e-grid.e-gridhover .e-row:hover .e-rowdragdropcell,
.admin-shell .e-grid.e-gridhover .e-frozenhover { background: var(--ag-hover); color: var(--ag-text); }
.admin-shell .e-grid .e-row.e-active .e-rowcell,
.admin-shell .e-grid .e-rowcell.e-active,
.admin-shell .e-grid .e-rowcell.e-cellselectionbackground,
.admin-shell .e-grid td.e-active { background: var(--ag-selected); color: var(--ag-text); }
.admin-shell .e-grid .e-row.e-active .e-rowcell:first-child { box-shadow: inset 3px 0 0 var(--ag-accent); }
.admin-shell .e-grid .e-rowcell.e-focused,
.admin-shell .e-grid .e-rowcell.e-focus,
.admin-shell .e-grid td.e-focused { box-shadow: inset 0 0 0 1px var(--ag-focus); }
.admin-shell .e-grid .e-rowcell a { color: var(--ag-accent); font-weight: 600; text-decoration: none; }
.admin-shell .e-grid .e-rowcell a:hover { text-decoration: underline; }
.admin-shell .e-grid .e-rowcell .text-muted,
.admin-shell .e-grid .e-rowcell .small.text-muted { color: var(--ag-muted) !important; }
.admin-shell .e-grid .e-rowcell .badge { font-size: .68rem; font-weight: 700; letter-spacing: .02em; border-radius: 999px; padding: .32rem .6rem; }
/* Boolean columns rendered as checkboxes */
.admin-shell .e-grid .e-rowcell .e-checkbox-wrapper .e-frame,
.admin-shell .e-grid .e-headercelldiv .e-checkbox-wrapper .e-frame,
.admin-shell .e-grid .e-checkselect .e-checkbox-wrapper .e-frame { width: 1.05rem; height: 1.05rem; line-height: 1.05rem; border: 1.5px solid var(--ag-line-strong); border-radius: .3rem; background: var(--ag-surface); font-size: .6rem; }
.admin-shell .e-grid .e-checkbox-wrapper .e-frame.e-check,
.admin-shell .e-grid .e-checkbox-wrapper:hover .e-frame.e-check { border-color: var(--ag-accent); background: var(--ag-accent); color: #fff; }
.admin-shell .e-grid .e-checkbox-wrapper .e-frame.e-stop { border-color: var(--ag-accent); background: var(--ag-accent); color: #fff; }
.admin-shell .e-grid .e-rowcell .e-checkbox-wrapper .e-frame:not(.e-check):not(.e-stop) { opacity: .55; }
/* Group captions, summaries, empty state */
.admin-shell .e-grid .e-groupcaption,
.admin-shell .e-grid .e-groupcaptionrow .e-recordplusexpand,
.admin-shell .e-grid .e-groupcaptionrow .e-recordpluscollapse,
.admin-shell .e-grid .e-groupcaptionrow .e-indentcell { padding: .5rem .9rem; border: 0; border-bottom: 1px solid var(--ag-rule); background: var(--ag-head); color: var(--ag-text); font-size: .8rem; font-weight: 700; }
.admin-shell .e-grid .e-recordplusexpand .e-icons,
.admin-shell .e-grid .e-recordpluscollapse .e-icons { display: inline-block; width: auto; height: auto; padding: 0; border-radius: 0; background: transparent; color: var(--ag-muted); font-size: .7rem; line-height: 1; }
.admin-shell .e-grid .e-groupcaptionrow .e-recordplusexpand,
.admin-shell .e-grid .e-groupcaptionrow .e-recordpluscollapse { padding: .5rem .55rem .5rem .9rem; text-align: center; cursor: pointer; }
.admin-shell .e-grid .e-groupcaptionrow .e-recordplusexpand:hover .e-icons,
.admin-shell .e-grid .e-groupcaptionrow .e-recordpluscollapse:hover .e-icons { color: var(--ag-accent); }
.admin-shell .e-grid .e-groupcaptionrow .e-groupcaption { padding-left: .6rem; }
.admin-shell .e-grid .e-indentcell { background: transparent; }
.admin-shell .e-grid .e-groupcaptionrow .e-indentcell { background: var(--ag-head); }
.admin-shell .e-grid .e-grouptopleftcell, .admin-shell .e-grid .e-headercell.e-grouptopleftcell { border: 0; border-bottom: 1px solid var(--ag-rule); background: var(--ag-head); }
.admin-shell .e-grid .e-summaryrow .e-summarycell,
.admin-shell .e-grid .e-summarycell { padding: .55rem .9rem; border: 0; border-top: 1px solid var(--ag-rule); background: var(--ag-head); color: var(--ag-text); font-weight: 700; }
.admin-shell .e-grid .e-emptyrow td,
.admin-shell .e-grid .e-emptyrow .e-rowcell { padding: 2.25rem 1rem; border: 0; text-align: center; color: var(--ag-muted); font-size: .9rem; }
.admin-shell .e-grid .e-content { scrollbar-width: thin; scrollbar-color: var(--ag-line-strong) transparent; }
.admin-shell .e-grid .e-content::-webkit-scrollbar { height: 8px; width: 8px; }
.admin-shell .e-grid .e-content::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--ag-line-strong); }
/* Filter bar row (FilterType.FilterBar) */
.admin-shell .e-grid .e-filterbarcell,
.admin-shell .e-grid .e-filterbarcelldisabled { padding: .35rem .6rem; border: 0; border-bottom: 1px solid var(--ag-rule); background: var(--ag-head); }
.admin-shell .e-grid .e-filterbarcell .e-input-group { border-radius: .5rem; border: 1px solid var(--ag-line-strong); background: var(--ag-surface); }

/* ---------- Pager ---------- */
.admin-shell .e-grid .e-gridpager,
.admin-shell .e-grid .e-pager { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding: .6rem .85rem; border: 0; border-top: 1px solid var(--ag-rule); background: var(--ag-surface); color: var(--ag-muted); font-size: .8rem; }
.admin-shell .e-grid .e-pager .e-pagercontainer { order: 3; margin: 0 0 0 auto; border: 0; border-radius: 0; background: transparent; overflow: visible; display: flex; align-items: center; gap: .25rem; }
.admin-shell .e-grid .e-pager .e-parentmsgbar { order: 2; margin: 0; padding: 0; text-align: left; color: var(--ag-muted); font-weight: 600; float: none; }
.admin-shell .e-grid .e-pager .e-pagesizes { order: 1; display: flex; align-items: center; gap: .45rem; float: none; }
.admin-shell .e-grid .e-pager .e-pagesizes .e-pagerconstant { margin: 0; color: var(--ag-muted); font-size: .78rem; font-weight: 600; order: -1; }
.admin-shell .e-grid .e-pager div.e-pagerdropdown,
.admin-shell .e-grid .e-pager .e-pagerdropdown { margin: 0; height: 2rem; width: 4.4rem; min-width: 0; float: none; }
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-input-group,
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-ddl { height: 2rem; min-height: 0; padding: 0 .25rem 0 .6rem; border: 1px solid var(--ag-line-strong); border-radius: .55rem; background: var(--ag-surface); box-shadow: none; }
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-input-group::before,
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-input-group::after { display: none; }
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-input-group .e-input,
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-ddl .e-input { height: 100%; padding: 0; border: 0; background: transparent; color: var(--ag-text); font-size: .8rem; font-weight: 700; }
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-input-group .e-ddl-icon,
.admin-shell .e-grid .e-pager .e-pagerdropdown .e-input-group-icon { min-width: 1.4rem; width: 1.4rem; height: 100%; margin: 0; border: 0; background: transparent; color: var(--ag-muted); font-size: .65rem; }
.admin-shell .e-grid .e-pager .e-numericcontainer { display: flex; align-items: center; gap: .25rem; }
.admin-shell .e-grid .e-pager .e-numericitem,
.admin-shell .e-grid .e-pager .e-first,
.admin-shell .e-grid .e-pager .e-prev,
.admin-shell .e-grid .e-pager .e-next,
.admin-shell .e-grid .e-pager .e-last,
.admin-shell .e-grid .e-pager .e-pp,
.admin-shell .e-grid .e-pager .e-np { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; width: auto; height: 2rem; margin: 0; padding: 0 .45rem; border: 1px solid var(--ag-line-strong); border-radius: .55rem; background: var(--ag-surface); color: var(--ag-text); font-size: .78rem; font-weight: 700; line-height: 1; text-decoration: none; }
.admin-shell .e-grid .e-pager .e-first,
.admin-shell .e-grid .e-pager .e-prev,
.admin-shell .e-grid .e-pager .e-next,
.admin-shell .e-grid .e-pager .e-last { font-size: .6rem; color: var(--ag-muted); }
.admin-shell .e-grid .e-pager .e-numericitem:hover,
.admin-shell .e-grid .e-pager .e-first:hover:not(.e-disable),
.admin-shell .e-grid .e-pager .e-prev:hover:not(.e-disable),
.admin-shell .e-grid .e-pager .e-next:hover:not(.e-disable),
.admin-shell .e-grid .e-pager .e-last:hover:not(.e-disable) { border-color: var(--ag-accent); background: var(--ag-accent-soft); color: var(--ag-accent); }
.admin-shell .e-grid .e-pager .e-numericitem.e-currentitem,
.admin-shell .e-grid .e-pager .e-numericitem.e-currentitem:hover,
.admin-shell .e-grid .e-pager .e-currentitem.e-active { border-color: var(--ag-accent); background: var(--ag-accent); color: #fff; }
.admin-shell .e-grid .e-pager .e-disable,
.admin-shell .e-grid .e-pager .e-nextpagedisabled,
.admin-shell .e-grid .e-pager .e-lastpagedisabled,
.admin-shell .e-grid .e-pager .e-firstpagedisabled,
.admin-shell .e-grid .e-pager .e-prevpagedisabled { opacity: .4; cursor: default; }
.admin-shell .e-grid .e-pager .e-pp.e-disable, .admin-shell .e-grid .e-pager .e-np.e-disable { display: none; }
.admin-shell .e-grid .e-pager .e-pagesizes,
.admin-shell .e-grid .e-pager .e-parentmsgbar,
.admin-shell .e-grid .e-pager .e-pagercontainer { float: none; }
.admin-shell .e-grid .e-pager .e-pagermsgdiv,
.admin-shell .e-grid .e-pager .e-mfirst,
.admin-shell .e-grid .e-pager .e-mprev,
.admin-shell .e-grid .e-pager .e-mnext,
.admin-shell .e-grid .e-pager .e-mlast { padding: 0; }

/* ---------- Popups appended to <body> (Excel / menu filter dialogs, column chooser, pager dropdown) ---------- */
.e-grid-popup, .e-excelfilter.e-dialog, .e-filter-popup.e-dialog, .e-grid-menu.e-contextmenu-wrapper .e-contextmenu, .e-ddl.e-popup.e-pagerdropdown-popup, .e-popup.e-ddl { border-radius: .8rem; border: 1px solid var(--si-border-color, #e2e5f1); box-shadow: 0 20px 40px -20px rgba(15, 23, 42, .35); overflow: hidden; }
.e-excelfilter.e-dialog .e-dlg-header-content, .e-filter-popup.e-dialog .e-dlg-header-content { border-bottom: 1px solid var(--si-border-color, #e2e5f1); }
.e-excelfilter.e-dialog .e-footer-content, .e-filter-popup.e-dialog .e-footer-content { border-top: 1px solid var(--si-border-color, #e2e5f1); }
.e-excelfilter.e-dialog .e-footer-content .e-btn, .e-filter-popup.e-dialog .e-footer-content .e-btn { border-radius: .6rem; font-weight: 700; }
.e-excelfilter .e-searchbox .e-input-group { border-radius: 999px; }

/* ---------- Admin surfaces around the grids (dark cards need a surface) ---------- */
.admin-shell .admin-main { background: #f4f5fb; }
[data-bs-theme="dark"] .admin-shell .admin-main { background: #0b0f19; }
.admin-shell .card { border-radius: 1rem; }
[data-bs-theme="dark"] .admin-shell .card { background: var(--ag-surface); border: 1px solid var(--ag-line); }
.admin-shell .card > .card-body > .h5:first-child,
.admin-shell .card > .card-body > h2.h5 { font-size: 1rem; font-weight: 700; letter-spacing: -.01em; }

/* Transaction merchant cell (AdminMerchantCell) and split buttons inside the new rows */
[data-bs-theme="dark"] .admin-shell .e-grid .admin-partner-pill { background: rgba(124, 106, 242, .22); color: #c9c2ff; }
[data-bs-theme="dark"] .admin-shell .e-grid .admin-split-grid-button { background: rgba(124, 106, 242, .22); color: #c9c2ff; }
.admin-shell .e-grid .admin-transaction-avatar { width: 2rem; height: 2rem; box-shadow: 0 0 0 2px var(--ag-surface); }
.admin-shell .e-grid .admin-partner-pill { border-radius: 999px; font-size: .62rem; font-weight: 800; letter-spacing: .04em; }
.admin-shell .e-grid .admin-split-grid-button { width: 1.9rem; height: 1.9rem; }

@media (max-width: 767.98px) {
    .admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper { margin-left: 0; width: 100%; }
    .admin-shell .e-grid .e-toolbar .e-toolbar-items .e-toolbar-item.e-search-wrapper .e-input-group { width: 100%; }
    .admin-shell .e-grid .e-pager .e-pagercontainer { margin-left: 0; }
}
