/* Unified admin data-table styling (changelists, history, inlines, form grids). */

:root {
    --panel-table-radius: 12px;
    --panel-table-border: var(--panel-surface-border, #ced2de);
    --panel-table-header-bg: #f9fafb;
    --panel-table-header-color: #667085;
    --panel-table-row-border: #f0f2f5;
    --panel-table-hover-bg: #f8fafc;
    --panel-accent: #2a5fad;
    --panel-card-shadow: none;
    --panel-table-cell-padding-y: 11px;
    --panel-table-cell-padding-x: 16px;
    --panel-table-row-line-height: 16px;
}

/* ---- Changelist card shell ---- */

.admin-interface #changelist.module {
    background: transparent;
    border: none;
    box-shadow: none;
}

.admin-interface #changelist-form {
    background: #fff;
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: var(--panel-card-shadow);
    overflow: hidden;
}

.admin-interface #changelist-form .results {
    border: none;
    border-radius: 0;
    background: #fff;
}

.admin-interface #changelist .changelist-footer {
    margin: 0;
    padding: 0;
}

/* ---- Shared table head / body ---- */

.admin-interface #content-main #changelist #result_list,
.admin-interface #content-main .export-preview-changelist #result_list,
.admin-interface #content-main .license-overage-changelist #result_list,
.admin-interface #content-main #change-history table,
.admin-interface #content-main .auto-growing-table,
.admin-interface #content-main .inline-group .tabular table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
}

.admin-interface #content-main #changelist #result_list thead th,
.admin-interface #content-main .export-preview-changelist #result_list thead th,
.admin-interface #content-main .license-overage-changelist #result_list thead th,
.admin-interface #content-main #change-history table thead th,
.admin-interface #content-main .auto-growing-table thead th,
.admin-interface #content-main .inline-group .tabular thead th {
    padding: var(--panel-table-cell-padding-y) var(--panel-table-cell-padding-x) !important;
    font-size: 11px;
    font-weight: 600 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--panel-table-header-color);
    background: var(--panel-table-header-bg) !important;
    border-bottom: 1px solid var(--panel-table-border);
    vertical-align: middle;
    white-space: nowrap;
    line-height: var(--panel-table-row-line-height);
    box-sizing: border-box;
}

.admin-interface #content-main #changelist #result_list thead th .clear,
.admin-interface #content-main .export-preview-changelist #result_list thead th .clear,
.admin-interface #content-main .license-overage-changelist #result_list thead th .clear {
    display: none;
}

.admin-interface #content-main #changelist #result_list thead th .text,
.admin-interface #content-main #changelist #result_list thead th .text a,
.admin-interface #content-main #changelist #result_list thead th .text span,
.admin-interface #content-main .export-preview-changelist #result_list thead th .text,
.admin-interface #content-main .export-preview-changelist #result_list thead th .text a,
.admin-interface #content-main .license-overage-changelist #result_list thead th .text,
.admin-interface #content-main .license-overage-changelist #result_list thead th .text a {
    padding: 0;
    margin: 0;
    background: transparent !important;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.admin-interface #content-main #changelist #result_list tbody td,
.admin-interface #content-main #changelist #result_list tbody th,
.admin-interface #content-main .export-preview-changelist #result_list tbody td,
.admin-interface #content-main .export-preview-changelist #result_list tbody th,
.admin-interface #content-main .license-overage-changelist #result_list tbody td,
.admin-interface #content-main .license-overage-changelist #result_list tbody th,
.admin-interface #content-main #change-history table tbody td,
.admin-interface #content-main #change-history table tbody th,
.admin-interface #content-main .auto-growing-table tbody td,
.admin-interface #content-main .auto-growing-table tbody th,
.admin-interface #content-main .inline-group .tabular tbody td,
.admin-interface #content-main .inline-group .tabular tbody th {
    padding: var(--panel-table-cell-padding-y) var(--panel-table-cell-padding-x);
    border-bottom: 1px solid var(--panel-table-row-border);
    background: transparent;
    vertical-align: middle;
    color: var(--body-fg, #344054);
    font-size: 13px;
    line-height: var(--panel-table-row-line-height);
    box-sizing: border-box;
}

.admin-interface #content-main #changelist #result_list tbody tr {
    background: #fff;
}

.admin-interface #content-main #changelist #result_list tbody tr:last-child td,
.admin-interface #content-main #changelist #result_list tbody tr:last-child th,
.admin-interface #content-main .export-preview-changelist #result_list tbody tr:last-child td,
.admin-interface #content-main .license-overage-changelist #result_list tbody tr:last-child td,
.admin-interface #content-main #change-history table tbody tr:last-child td,
.admin-interface #content-main #change-history table tbody tr:last-child th,
.admin-interface #content-main .auto-growing-table tbody tr:last-child td,
.admin-interface #content-main .inline-group .tabular tbody tr:last-child td {
    border-bottom: none;
}

/* Flat rows — no zebra striping */
.admin-interface #content-main #changelist #result_list tbody tr.row1,
.admin-interface #content-main #changelist #result_list tbody tr.row2,
.admin-interface #content-main .export-preview-changelist #result_list tbody tr:nth-child(even),
.admin-interface #content-main .export-preview-changelist #result_list tbody tr:nth-child(odd),
.admin-interface #content-main .license-overage-changelist #result_list tbody tr.row1,
.admin-interface #content-main .license-overage-changelist #result_list tbody tr.row2,
.admin-interface #content-main .auto-growing-table tbody tr,
.admin-interface #content-main .auto-growing-table tbody tr:nth-child(odd),
.admin-interface #content-main .auto-growing-table tbody tr:nth-child(even),
.admin-interface #content-main .inline-group .tabular tbody tr,
.admin-interface #content-main .inline-group .tabular tbody tr.row1,
.admin-interface #content-main .inline-group .tabular tbody tr.row2,
.admin-interface #content-main .inline-group .tabular tbody tr:nth-child(odd),
.admin-interface #content-main .inline-group .tabular tbody tr:nth-child(even) {
    background: #fff !important;
}

.admin-interface #content-main .inline-group .tabular tbody tr.row2,
.admin-interface #content-main .auto-growing-table tbody tr.row2 {
    background: #fff !important;
}

.admin-interface #content-main #changelist #result_list thead th.action-checkbox-column,
.admin-interface #content-main #changelist #result_list tbody td.action-checkbox {
    width: 52px;
    min-width: 52px;
    max-width: 52px;
    padding: var(--panel-table-cell-padding-y) var(--panel-table-cell-padding-x) !important;
    text-align: center;
    vertical-align: middle;
    box-sizing: border-box;
}

.admin-interface #content-main #changelist #result_list thead th.action-checkbox-column input,
.admin-interface #content-main #changelist #result_list tbody td.action-checkbox input {
    margin: 0 auto;
    display: block;
}

.admin-interface #content-main #changelist input[type="checkbox"],
.admin-interface #content-main .export-preview-changelist input[type="checkbox"],
.admin-interface #content-main .license-overage-changelist input[type="checkbox"],
.admin-interface #content-main .inline-group .tabular input[type="checkbox"] {
    accent-color: var(--panel-accent);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* ---- Export / overage preview cards ---- */

.admin-interface #content-main .export-preview-changelist,
.admin-interface #content-main .license-overage-changelist {
    background: #fff;
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    overflow: hidden;
}

.admin-interface #content-main .export-preview-changelist .results,
.admin-interface #content-main .license-overage-changelist .results {
    border: none;
    border-radius: 0;
}

/* ---- Object history ---- */

.admin-interface #content-main #change-history.module {
    background: #fff;
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    overflow: hidden;
    padding: 0;
}

.admin-interface #content-main #change-history table {
    margin: 0;
}

/* ---- Form grids (RADIUS attrs, directory mapping) ---- */

.admin-interface #content-main .auto-growing-table {
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
    overflow: hidden;
    margin-top: 8px;
}

/* Embedded grids: flush inside parent card (directory mapping, RADIUS attrs) */
.admin-interface #content-main .sync-connectors.module .auto-growing-table,
.admin-interface #content-main fieldset.module .radius-reply-section .auto-growing-table {
    border: none;
    border-radius: 0;
    box-shadow: none;
    margin-top: 0;
}

.admin-interface #content-main .auto-growing-table input,
.admin-interface #content-main .auto-growing-table select {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--border-color, #d5d9e0);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    background: #fff;
    color: var(--body-fg, #344054);
}

.admin-interface #content-main .auto-growing-table select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 32px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 9px center;
    background-size: 16px 16px;
}

.admin-interface #content-main .auto-growing-table input:focus,
.admin-interface #content-main .auto-growing-table select:focus {
    border-color: var(--panel-accent);
    box-shadow: 0 0 0 2px rgba(42, 95, 173, 0.15);
    outline: none;
}

.admin-interface #content-main .auto-growing-table tr.auto-growing-row-empty td {
    background: #fafbfc;
}

/* ---- Tabular inlines on change forms ---- */

.admin-interface #content-main .inline-group .tabular fieldset.module {
    background: #fff;
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: var(--panel-card-shadow);
    overflow: hidden;
}

.admin-interface #content-main .inline-group .tabular fieldset.module h2 {
    margin: 0;
    padding: 14px 16px;
    border-bottom: 1px solid var(--panel-table-row-border);
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    color: var(--panel-accent);
    text-transform: none;
    border-radius: var(--panel-table-radius) var(--panel-table-radius) 0 0;
}

/* History and other standalone modules */
.admin-interface:not(.login):not(.popup) #content-main #change-history.module {
    background: #fff;
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: var(--panel-card-shadow);
    overflow: hidden;
    padding: 0;
}

.admin-interface:not(.login):not(.popup) #content-main #change-history.module > h2 {
    margin: 0;
    padding: 14px 16px;
    border-bottom: 1px solid var(--panel-table-row-border);
    background: #fff !important;
    color: var(--panel-accent) !important;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
}

.admin-interface #content-main .inline-group .tabular fieldset.module table {
    margin: 0;
}

/* ---- Actions toolbar inside changelist card ---- */

.admin-interface #changelist .actions,
.admin-interface .license-overage-changelist .actions.panel-filter-actions-row,
.admin-interface .export-preview-changelist .actions.panel-filter-actions-row {
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid var(--panel-table-row-border);
    background: #fff;
}

/* ---- Pagination ---- */

.admin-interface #changelist .paginator-block,
.admin-interface #content-main .export-preview-changelist .paginator-block,
.admin-interface #content-main #change-history .paginator-block,
.admin-interface #content-main .license-overage-changelist .paginator-block {
    margin: 0;
    padding: 20px 16px 14px;
    background: #fff;
    border-top: none;
}

.admin-interface #changelist .paginator-block .paginator,
.admin-interface #content-main .paginator-block .paginator,
.admin-interface #changelist .paginator-block .paginator.paginator-layout,
.admin-interface #content-main .paginator-block .paginator.paginator-layout,
.admin-interface #changelist .paginator,
.admin-interface #content-main .paginator-block .paginator,
#changelist .paginator-block .paginator,
#changelist .paginator-block .paginator.paginator-layout,
.paginator-block .paginator.paginator-layout {
    border-top: none !important;
    border-bottom: none !important;
    margin: 0;
    padding: 0;
}

.admin-interface #changelist .paginator,
.admin-interface #content-main .paginator-block .paginator {
    margin-top: 0 !important;
}

.admin-interface .paginator-count-row {
    margin: 10px 0 0;
    padding: 0;
    font-size: 13px;
    color: var(--panel-table-header-color);
}

.admin-interface .paginator-center a,
.admin-interface .paginator-center .this-page,
.admin-interface .paginator a:not(.showall),
.admin-interface .paginator .this-page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    margin: 0 3px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    color: #475467;
    background: transparent;
    box-sizing: border-box;
    vertical-align: middle;
}

.admin-interface .paginator .this-page {
    background: var(--panel-accent) !important;
    color: #fff !important;
    font-weight: 600;
    border-color: var(--panel-accent);
}

.admin-interface .paginator a:not(.showall):hover,
.admin-interface .paginator a:not(.showall):focus {
    background: var(--panel-table-hover-bg) !important;
    color: var(--panel-accent) !important;
}

.admin-interface .paginator .this-page + a:not(.showall) {
    margin-left: 3px !important;
}

.admin-interface .paginator a.end {
    margin-right: 3px !important;
}

.admin-interface .paginator-page-jump-input {
    border-radius: 8px;
    border-color: var(--panel-table-border);
}

.admin-interface .paginator-page-jump-btn {
    border-radius: 8px;
    background: var(--panel-accent);
    color: #fff;
}

.admin-interface .paginator-page-jump-btn:hover,
.admin-interface .paginator-page-jump-btn:focus {
    background: #234f94;
    color: #fff;
}

.admin-interface .paginator-per-page a,
.admin-interface .paginator-per-page .this-page {
    border-radius: 8px;
    border: 1px solid var(--panel-table-border);
    margin-right: 6px;
    min-width: auto;
    height: auto;
    padding: 7px 12px;
}

.admin-interface .paginator-per-page .this-page {
    background: var(--panel-accent) !important;
    border-color: var(--panel-accent);
    color: #fff !important;
}

.admin-interface .paginator-per-page a:hover {
    border-color: var(--panel-accent);
    color: var(--panel-accent) !important;
    background: #fff !important;
}

/* ---- Row hover / selection (override legacy yellow) ---- */

.admin-interface #content-main #changelist #result_list tbody tr:hover:not(.selected):not(:has(.action-select:checked)),
.admin-interface #content-main .export-preview-changelist #result_list tbody tr:hover:not(.selected),
.admin-interface #content-main .license-overage-changelist #result_list tbody tr:hover:not(.selected),
.admin-interface #content-main #change-history table tbody tr:hover {
    background-color: var(--panel-table-hover-bg);
}

.admin-interface #content-main #changelist #result_list tbody tr:hover:not(.selected):not(:has(.action-select:checked)) td,
.admin-interface #content-main #changelist #result_list tbody tr:hover:not(.selected):not(:has(.action-select:checked)) th,
.admin-interface #content-main .export-preview-changelist #result_list tbody tr:hover td,
.admin-interface #content-main .export-preview-changelist #result_list tbody tr:hover th,
.admin-interface #content-main #change-history table tbody tr:hover td,
.admin-interface #content-main #change-history table tbody tr:hover th {
    background-color: var(--panel-table-hover-bg);
}

.admin-interface #content-main #changelist #result_list tbody tr.selected:not(:hover),
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):not(:hover) {
    background-color: var(--panel-selection-bg, #e8f2fa);
}

.admin-interface #content-main #changelist #result_list tbody tr.selected:not(:hover) td,
.admin-interface #content-main #changelist #result_list tbody tr.selected:not(:hover) th,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):not(:hover) td,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):not(:hover) th {
    background-color: var(--panel-selection-bg, #e8f2fa);
}

.admin-interface #content-main #changelist #result_list tbody tr.selected:hover,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):hover {
    background-color: var(--panel-selection-bg-hover, #d9e9f7);
}

.admin-interface #content-main #changelist #result_list tbody tr.selected:hover td,
.admin-interface #content-main #changelist #result_list tbody tr.selected:hover th,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):hover td,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):hover th {
    background-color: var(--panel-selection-bg-hover, #d9e9f7);
}

/* Keep row links readable on hover/selection (avoid white-on-blue from theme defaults). */
.admin-interface #content-main #changelist #result_list tbody tr a:link,
.admin-interface #content-main #changelist #result_list tbody tr a:visited,
.admin-interface #content-main #changelist #result_list tbody tr a:hover,
.admin-interface #content-main #changelist #result_list tbody tr a:focus,
.admin-interface #content-main #changelist #result_list tbody tr.selected a,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked) a,
.admin-interface #content-main #changelist #result_list tbody tr.selected:hover a,
.admin-interface #content-main #changelist #result_list tbody tr:has(.action-select:checked):hover a {
    color: var(--body-fg, #344054) !important;
    background: transparent !important;
    text-decoration: none;
}

.admin-interface #content-main #changelist #result_list tbody tr a:hover,
.admin-interface #content-main #changelist #result_list tbody tr a:focus {
    color: var(--panel-accent) !important;
}

/* ---- Bulk actions row ---- */

.admin-interface #changelist .actions .panel-action-select {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

.admin-interface #changelist .actions .panel-action-select__input,
.admin-interface #changelist .actions select[name="action"] {
    height: 38px;
    min-width: 220px;
    box-sizing: border-box;
    border: 1px solid var(--border-color, #d5d9e0);
    border-radius: 8px;
    padding: 0 32px 0 12px;
    background: #fff;
    color: var(--body-fg, #344054);
    font-size: 13px;
    font-weight: 500;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 9px center;
    background-size: 16px 16px;
    cursor: pointer;
}

.admin-interface #changelist .actions .panel-action-select__input:focus,
.admin-interface #changelist .actions select[name="action"]:focus {
    border-color: var(--panel-accent);
    box-shadow: 0 0 0 2px rgba(42, 95, 173, 0.15);
    outline: none;
}

.admin-interface #changelist .actions .button.panel-action-go,
.admin-interface #changelist .actions .panel-action-go {
    height: 38px;
    min-width: 5.5rem;
    padding: 0 20px;
    border: none;
    border-radius: 8px;
    background: var(--panel-accent) !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    box-shadow: none !important;
    cursor: pointer;
}

.admin-interface #changelist .actions .button.panel-action-go:hover,
.admin-interface #changelist .actions .button.panel-action-go:focus,
.admin-interface #changelist .actions .panel-action-go:hover,
.admin-interface #changelist .actions .panel-action-go:focus {
    background: #234e8f !important;
    color: #fff !important;
    border: none !important;
}

.admin-interface #changelist .actions span.action-counter,
.admin-interface #changelist .actions span.all,
.admin-interface #changelist .actions span.question,
.admin-interface #changelist .actions span.clear {
    font-size: 13px;
    color: var(--panel-table-header-color);
}

/* ---- Data cards (history, empty changelist) ---- */

.admin-interface #content-main .panel-data-card,
.admin-interface #content-main #change-history.module {
    background: #fff;
    border: 1px solid var(--panel-table-border);
    border-radius: var(--panel-table-radius);
    box-shadow: var(--panel-card-shadow);
    overflow: hidden;
}

.admin-interface #content-main .panel-data-card .panel-changelist-empty,
.admin-interface #content-main #change-history.module .panel-changelist-empty {
    margin: 0;
    padding: 28px 16px;
}

/* ---- Empty changelist ---- */

.admin-interface .panel-changelist-empty {
    margin: 0;
    padding: 28px 4px 8px;
    color: var(--panel-table-header-color);
    font-size: 14px;
}
