/*
 * Momken Admin semantic visual authority.
 *
 * admin-theme.css owns brand-derived and semantic color/elevation tokens plus
 * component state colors. Geometry, typography and density live in
 * admin-foundation.css. Earlier legacy variables remain compatibility inputs
 * only and are deliberately resolved to this contract here, last in the
 * shared stylesheet order.
 */
:root {
    /* Configured brand inputs. admin-theme.js may replace these values early. */
    --momken-primary: #0B4F83;
    --momken-primary-light: #D3DFE9;
    --momken-primary-dark: #093E66;
    --momken-secondary: #198754;
    --momken-secondary-light: #D6E9E0;
    --momken-secondary-dark: #146942;
    --momken-on-primary: #fff;
    --momken-on-primary-dark: #fff;
    --momken-on-secondary: #fff;

    /* Canonical semantic palette. */
    --admin-color-page-background: #EEF2F7;
    --admin-color-surface: #F8FAFC;
    --admin-color-surface-elevated: #FFFFFF;
    --admin-color-surface-subtle: #F1F5F9;
    --admin-color-surface-row-alternate: #F6F9FC;
    --admin-color-surface-hover: #E7EEF6;
    --admin-color-surface-selected: #DCEAF6;
    --admin-color-border: #C4CFDC;
    --admin-color-border-strong: #8798AD;
    --admin-color-text-primary: #172033;
    --admin-color-text-secondary: #334155;
    --admin-color-text-muted: #5B6879;
    --admin-color-text-inverse: #FFFFFF;
    --admin-color-primary: var(--momken-primary);
    --admin-color-primary-hover: var(--momken-primary-dark);
    --admin-color-primary-active: color-mix(in srgb, var(--momken-primary-dark) 84%, #000);
    --admin-color-secondary: var(--momken-secondary);
    --admin-color-secondary-hover: var(--momken-secondary-dark);
    --admin-color-success: #166534;
    --admin-color-success-background: #ECFDF3;
    --admin-color-success-border: #86EFAC;
    --admin-color-warning: #92400E;
    --admin-color-warning-background: #FFFBEB;
    --admin-color-warning-border: #FCD34D;
    --admin-color-danger: #B42318;
    --admin-color-danger-hover: #8F1C13;
    --admin-color-danger-background: #FFF1F2;
    --admin-color-danger-border: #FDA4AF;
    --admin-color-info: #0E5A78;
    --admin-color-info-background: #ECFEFF;
    --admin-color-info-border: #67E8F9;
    --admin-color-input-background: #FFFFFF;
    --admin-color-input-border: #B8C4D2;
    --admin-color-input-hover: #8798AD;
    --admin-color-input-focus: var(--momken-primary);
    --admin-color-readonly-background: #F7F9FC;
    --admin-color-readonly-text: #334155;
    --admin-color-disabled-background: #E8EDF3;
    --admin-color-disabled-text: #64748B;
    --admin-color-nav-background: #101C2A;
    --admin-color-nav-text: #F1F5F9;
    --admin-color-nav-muted: #BDCAD9;
    --admin-color-nav-hover: rgba(255, 255, 255, .09);
    --admin-color-nav-active: var(--momken-primary);
    --admin-color-focus-ring: color-mix(in srgb, var(--momken-primary) 38%, transparent);
    --admin-shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);
    --admin-shadow-sm: 0 2px 8px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);
    --admin-shadow-md: 0 16px 40px rgba(15, 23, 42, .16);

    /* Compatibility aliases: consumers resolve to the semantic authority. */
    --momken-success: var(--admin-color-success);
    --momken-warning: var(--admin-color-warning);
    --momken-danger: var(--admin-color-danger);
    --momken-info: var(--admin-color-info);
    --momken-surface: var(--admin-color-surface);
    --momken-text: var(--admin-color-text-primary);
    --momken-border: var(--admin-color-border);
    --surface: var(--admin-color-surface);
    --surface-elevated: var(--admin-color-surface-elevated);
    --surface-input: var(--admin-color-input-background);
    --surface-disabled: var(--admin-color-disabled-background);
    --surface-hover: var(--admin-color-surface-hover);
    --bg: var(--admin-color-page-background);
    --text-primary: var(--admin-color-text-primary);
    --text-secondary: var(--admin-color-text-secondary);
    --text-muted: var(--admin-color-text-muted);
    --text: var(--admin-color-text-primary);
    --muted: var(--admin-color-text-muted);
    --border: var(--admin-color-border);
    --border-strong: var(--admin-color-border-strong);
    --focus: var(--admin-color-input-focus);
    --link: var(--admin-color-primary);
    --primary: var(--admin-color-primary);
    --primary-light: var(--momken-primary-light);
    --primary-dark: var(--admin-color-primary-hover);
    --secondary: var(--admin-color-secondary);
    --success: var(--admin-color-success);
    --success-light: var(--admin-color-success-background);
    --warning: var(--admin-color-warning);
    --warning-light: var(--admin-color-warning-background);
    --danger: var(--admin-color-danger);
    --danger-light: var(--admin-color-danger-background);
    --info: var(--admin-color-info);
    --info-light: var(--admin-color-info-background);
    --surface-success: var(--admin-color-success-background);
    --surface-warning: var(--admin-color-warning-background);
    --surface-danger: var(--admin-color-danger-background);
    --surface-info: var(--admin-color-info-background);
    --sidebar-surface: var(--admin-color-nav-background);
    --sidebar-text: var(--admin-color-nav-text);
    --sidebar-muted: var(--admin-color-nav-muted);
    --on-status: var(--admin-color-text-inverse);
    --shadow-sm: var(--admin-shadow-sm);
    --shadow-md: var(--admin-shadow-md);
    --shadow-lg: var(--admin-shadow-md);
    --admin-focus-ring: 0 0 0 .2rem var(--admin-color-focus-ring);
    color-scheme: light;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --admin-color-page-background: #0B121C;
    --admin-color-surface: #111B28;
    --admin-color-surface-elevated: #182433;
    --admin-color-surface-subtle: #0F1925;
    --admin-color-surface-row-alternate: #162130;
    --admin-color-surface-hover: #223247;
    --admin-color-surface-selected: #253E56;
    --admin-color-border: #40536A;
    --admin-color-border-strong: #71859E;
    --admin-color-text-primary: #F1F5F9;
    --admin-color-text-secondary: #D4DEEB;
    --admin-color-text-muted: #B6C4D5;
    --admin-color-input-background: #111C2A;
    --admin-color-input-border: #667A94;
    --admin-color-input-hover: #8CA0B8;
    --admin-color-input-focus: #8BC9FF;
    --admin-color-readonly-background: #1C2939;
    --admin-color-readonly-text: #D4DEEB;
    --admin-color-disabled-background: #263448;
    --admin-color-disabled-text: #A9B7C8;
    --admin-color-success: #6ED6A1;
    --admin-color-success-background: #123629;
    --admin-color-success-border: #2D7D59;
    --admin-color-warning: #F7C66C;
    --admin-color-warning-background: #382B13;
    --admin-color-warning-border: #89671D;
    --admin-color-danger: #FF9A9A;
    --admin-color-danger-hover: #FFB4B4;
    --admin-color-danger-background: #401E29;
    --admin-color-danger-border: #9C4A5E;
    --admin-color-info: #78D5EA;
    --admin-color-info-background: #10313B;
    --admin-color-info-border: #2D7585;
    --admin-color-focus-ring: rgba(139, 201, 255, .38);
    --admin-shadow-xs: 0 1px 2px rgba(0, 0, 0, .24);
    --admin-shadow-sm: 0 1px 3px rgba(0, 0, 0, .30), 0 1px 2px rgba(0, 0, 0, .20);
    --admin-shadow-md: 0 10px 28px rgba(0, 0, 0, .34);
    --link: #8BC9FF;
    --on-status: #101923;
}

/* Shared body and surface colors. */
.admin-body {
    background: var(--admin-color-page-background);
    color: var(--admin-color-text-primary);
    --bs-body-bg: var(--admin-color-page-background);
    --bs-body-color: var(--admin-color-text-primary);
    --bs-secondary-color: var(--admin-color-text-secondary);
    --bs-border-color: var(--admin-color-border);
    --bs-heading-color: var(--admin-color-text-primary);
    --bs-link-color: var(--link);
}

.admin-body :is(.card, .db-card, .db-panel, .table-box, .momken-panel, .momken-form-card,
    .momken-summary-card, .kpi-card, .account-form-box, .account-tree-box, .stat-card,
    .filter-card, .users-card, .filter-box, .modal-content, .dropdown-menu, .switch-box,
    .currency, .admin-dialog, .admin-dialog-body, .admin-page-intro, .cp-toolbar,
    .cp-context-card, .cp-panel, .topbar, .db-top, .momken-page-header, .erp-topbar,
    .idle-warning-card, .card-header, .card-footer, .input-group-text) {
    background: var(--admin-color-surface-elevated);
    color: var(--admin-color-text-primary);
    border-color: var(--admin-color-border);
}

.admin-body :is(.card, .db-card, .db-panel, .table-box, .momken-panel, .momken-form-card,
    .momken-summary-card, .kpi-card, .account-form-box, .account-tree-box, .stat-card,
    .filter-card, .users-card, .filter-box, .switch-box, .currency, .admin-page-intro,
    .cp-toolbar, .cp-context-card, .cp-panel, .topbar, .db-top, .momken-page-header) {
    box-shadow: var(--admin-shadow-sm);
}

.admin-body :is(.modal-content, .dropdown-menu, .admin-dialog, .idle-warning-card) {
    box-shadow: var(--admin-shadow-md);
}

.admin-body :is(.erp-topbar, .card-header, .card-footer, .input-group-text, .cp-form, .cp-tabs a, .cp-metrics span) {
    background: var(--admin-color-surface);
    color: var(--admin-color-text-primary);
    border-color: var(--admin-color-border);
}

.admin-body :is(.admin-surface, .erp-topbar, .modal, .admin-dialog)
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
.admin-body :is(.form-control, .form-select) {
    background-color: var(--admin-color-input-background);
    color: var(--admin-color-text-primary);
    border-color: var(--admin-color-input-border);
    caret-color: var(--admin-color-text-primary);
}

.admin-body :is(.admin-surface, .erp-topbar, .modal, .admin-dialog)
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):not(:disabled):not([readonly]):hover,
.admin-body :is(.form-control, .form-select):not(:disabled):not([readonly]):hover {
    border-color: var(--admin-color-input-hover);
}

.admin-body :is(.admin-surface, .erp-topbar, .modal, .admin-dialog)
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):focus,
.admin-body :is(.form-control, .form-select):focus {
    border-color: var(--admin-color-input-focus);
    outline: 0;
    box-shadow: var(--admin-focus-ring);
}

.admin-body :is(.admin-surface, .erp-topbar, .modal, .admin-dialog)
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea)[readonly],
.admin-body :is(.form-control, .form-select)[readonly] {
    background: var(--admin-color-readonly-background);
    color: var(--admin-color-readonly-text);
    border-color: var(--admin-color-border);
    opacity: 1;
    -webkit-text-fill-color: var(--admin-color-readonly-text);
}

.admin-body :is(.admin-surface, .erp-topbar, .modal, .admin-dialog)
    :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):disabled,
.admin-body :is(.form-control, .form-select):disabled {
    background: var(--admin-color-disabled-background);
    color: var(--admin-color-disabled-text);
    border-color: var(--admin-color-border);
    opacity: 1;
    -webkit-text-fill-color: var(--admin-color-disabled-text);
}

.admin-body :is(.form-control, .form-select, input, select, textarea):is(.is-invalid, .input-validation-error, [aria-invalid="true"]) {
    border-color: var(--admin-color-danger);
    box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--admin-color-danger) 18%, transparent);
}

.admin-body :is(.form-control, .form-select, input, select, textarea).is-valid {
    border-color: var(--admin-color-success);
}

.admin-body :is(input[type="checkbox"], input[type="radio"], .form-check-input) {
    accent-color: var(--admin-color-primary);
    border-color: var(--admin-color-input-border);
}

.admin-body :is(input, textarea)::placeholder {
    color: var(--admin-color-text-muted);
    opacity: 1;
}

html[data-theme="dark"] .admin-body .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d4deeb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.admin-body input:autofill {
    -webkit-text-fill-color: var(--admin-color-text-primary);
    box-shadow: 0 0 0 1000px var(--admin-color-input-background) inset;
}

.admin-body :is(label, .form-label, .form-group label, .momken-field label) { color: var(--admin-color-text-secondary); }
.admin-body :is(h1, h2, h3, h4, h5, h6, .db-page-title, .db-top-title, .momken-page-title,
    .erp-topbar-title, .topbar h1, .card h2, .card h3, .switch-box h3, .currency h3) { color: var(--admin-color-text-primary); }
.admin-body :is(.text-muted, .text-secondary, .switch-box p, .currency span, .momken-page-subtitle, .db-top-sub) {
    color: var(--admin-color-text-muted) !important;
}
.admin-body :is(.erp-user, .dropdown-item) { color: var(--admin-color-text-primary); }
.admin-body .erp-user { background: var(--admin-color-surface-hover); }
.admin-body .dropdown-item:is(:hover, :focus) { background: var(--admin-color-surface-hover); }
.admin-body .admin-surface a:not([class]) { color: var(--link); }

/* Navigation state colors; structure and scroll behavior remain unchanged. */
.admin-body .erp-sidebar { background: var(--admin-color-nav-background); color: var(--admin-color-nav-text); }
.admin-body .erp-sidebar :is(a, button, summary, .erp-logo-title) { color: var(--admin-color-nav-text); }
.admin-body .erp-sidebar :is(.erp-menu-title, .erp-logo-sub) { color: var(--admin-color-nav-muted); }
.admin-body .erp-sidebar :is(a, button, summary):hover { background: var(--admin-color-nav-hover); color: var(--admin-color-nav-text); }
.admin-body .erp-sidebar :is(a, button, summary):focus-visible { outline-color: var(--admin-color-nav-text); outline-offset: -3px; }
.admin-body .erp-sidebar .active-menu { background: var(--admin-color-nav-active); color: var(--momken-on-primary) !important; }
.admin-body .erp-sidebar .admin-navigation-pending { outline: 2px solid var(--admin-color-secondary); outline-offset: -2px; }

/* Core button color contract. */
.admin-body :is(.btn-primary, .db-btn-primary, .save-btn, .btn-momken-primary, .create-btn) {
    background: var(--admin-color-primary);
    border-color: var(--admin-color-primary);
    color: var(--momken-on-primary);
    --bs-btn-bg: var(--admin-color-primary);
    --bs-btn-border-color: var(--admin-color-primary);
    --bs-btn-color: var(--momken-on-primary);
    --bs-btn-hover-bg: var(--admin-color-primary-hover);
    --bs-btn-hover-border-color: var(--admin-color-primary-hover);
    --bs-btn-hover-color: var(--momken-on-primary-dark);
    --bs-btn-active-bg: var(--admin-color-primary-active);
    --bs-btn-active-border-color: var(--admin-color-primary-active);
    --bs-btn-active-color: var(--momken-on-primary-dark);
}
.admin-body :is(.db-btn-primary, .save-btn, .btn-momken-primary, .create-btn):hover { background: var(--admin-color-primary-hover); border-color: var(--admin-color-primary-hover); color: var(--momken-on-primary-dark); }
.admin-body :is(.db-btn-primary, .save-btn, .btn-momken-primary, .create-btn):active { background: var(--admin-color-primary-active); border-color: var(--admin-color-primary-active); }
.admin-body .btn-secondary { background: var(--admin-color-secondary); border-color: var(--admin-color-secondary); color: var(--momken-on-secondary); }
.admin-body .btn-secondary:hover { background: var(--admin-color-secondary-hover); border-color: var(--admin-color-secondary-hover); color: var(--momken-on-secondary); }
.admin-body :is(.btn-success, .btn-momken-success) { background: var(--admin-color-success); border-color: var(--admin-color-success); color: var(--on-status); }
.admin-body :is(.btn-warning) { background: var(--admin-color-warning); border-color: var(--admin-color-warning); color: var(--on-status); }
.admin-body :is(.btn-danger, .delete-btn, .reject-btn, .btn-momken-danger, .logout-btn) { background: var(--admin-color-danger); border-color: var(--admin-color-danger); color: var(--admin-color-text-inverse); }
.admin-body :is(.btn-danger, .delete-btn, .reject-btn, .btn-momken-danger, .logout-btn):hover { background: var(--admin-color-danger-hover); border-color: var(--admin-color-danger-hover); color: var(--admin-color-text-inverse); }
.admin-body .btn-info { background: var(--admin-color-info); border-color: var(--admin-color-info); color: var(--on-status); }
.admin-body :is(.btn-light, .btn-outline-secondary, .db-btn-secondary, .btn-momken-muted, .btn-ghost) { background: var(--admin-color-surface); border-color: var(--admin-color-border); color: var(--admin-color-text-primary); }
.admin-body :is(.btn-light, .btn-outline-secondary, .db-btn-secondary, .btn-momken-muted, .btn-ghost):hover { background: var(--admin-color-surface-hover); border-color: var(--admin-color-border-strong); color: var(--admin-color-text-primary); }
.admin-body .btn-outline-primary { background: transparent; color: var(--admin-color-primary); border-color: var(--admin-color-primary); }
.admin-body .btn-outline-primary:is(:hover, :focus-visible, :active) { background: var(--admin-color-primary); color: var(--momken-on-primary); border-color: var(--admin-color-primary); }
.admin-body .btn-outline-danger { background: transparent; color: var(--admin-color-danger); border-color: var(--admin-color-danger); }
.admin-body .btn-outline-danger:is(:hover, :focus-visible, :active) { background: var(--admin-color-danger); color: var(--admin-color-text-inverse); }
.admin-body .btn-outline-success { background: transparent; color: var(--admin-color-success); border-color: var(--admin-color-success); }
.admin-body .btn-outline-success:is(:hover, :focus-visible, :active) { background: var(--admin-color-success); color: var(--on-status); }
.admin-body .btn-outline-warning { background: transparent; color: var(--admin-color-warning); border-color: var(--admin-color-warning); }
.admin-body .btn-outline-warning:is(:hover, :focus-visible, :active) { background: var(--admin-color-warning); color: var(--on-status); }
.admin-body .btn-outline-info { background: transparent; color: var(--admin-color-info); border-color: var(--admin-color-info); }
.admin-body .btn-outline-info:is(:hover, :focus-visible, :active) { background: var(--admin-color-info); color: var(--on-status); }
.admin-body .btn-link { color: var(--link); }
.admin-body :is(button, .btn, .db-btn, .btn-momken):is(:disabled, .disabled, [aria-disabled="true"]) {
    background: var(--admin-color-disabled-background);
    border-color: var(--admin-color-border);
    color: var(--admin-color-disabled-text);
    opacity: 1;
}
.admin-body :is(.admin-busy, .is-loading, [aria-busy="true"]) { cursor: progress; opacity: .78; }

/* Status, alert and Bootstrap utility compatibility. */
.admin-body :is(.alert-success, .success) { background: var(--admin-color-success-background); color: var(--admin-color-success); border-color: var(--admin-color-success-border); }
.admin-body :is(.alert-warning, .admin-theme-advisory) { background: var(--admin-color-warning-background); color: var(--admin-color-warning); border-color: var(--admin-color-warning-border); }
.admin-body :is(.alert-danger, .alert-err, .validation-summary-errors) { background: var(--admin-color-danger-background); color: var(--admin-color-danger); border-color: var(--admin-color-danger-border); }
.admin-body .alert-info { background: var(--admin-color-info-background); color: var(--admin-color-info); border-color: var(--admin-color-info-border); }
.admin-body .alert-secondary { background: var(--admin-color-surface-subtle); color: var(--admin-color-text-secondary); border-color: var(--admin-color-border); }
.admin-body :is(.admin-status--success, .admin-status--active, .admin-status--approved, .status-success, .db-status--success, .momken-status-approved, .momken-status-posted) { background: var(--admin-color-success-background); color: var(--admin-color-success); border-color: var(--admin-color-success-border); }
.admin-body :is(.admin-status--danger, .admin-status--failed, .admin-status--rejected, .admin-status--disabled, .status-failed, .db-status--failed, .momken-status-cancelled) { background: var(--admin-color-danger-background); color: var(--admin-color-danger); border-color: var(--admin-color-danger-border); }
.admin-body :is(.admin-status--pending, .admin-status--processing, .status-pending, .db-status--pending, .db-status--process, .momken-status-draft) { background: var(--admin-color-warning-background); color: var(--admin-color-warning); border-color: var(--admin-color-warning-border); }
.admin-body :is(.admin-status--info, .status-info, .db-status--info) { background: var(--admin-color-info-background); color: var(--admin-color-info); border-color: var(--admin-color-info-border); }
.admin-body :is(.admin-status--neutral, .status-neutral, .db-status--muted) { background: var(--admin-color-surface-subtle); color: var(--admin-color-text-secondary); border-color: var(--admin-color-border); }
.admin-body .bg-primary { background-color: var(--admin-color-primary) !important; }
.admin-body .bg-success { background-color: var(--admin-color-success) !important; }
.admin-body .bg-warning { background-color: var(--admin-color-warning-background) !important; color: var(--admin-color-warning) !important; }
.admin-body .bg-danger { background-color: var(--admin-color-danger) !important; }
.admin-body .bg-info { background-color: var(--admin-color-info) !important; }
.admin-body .bg-secondary { background-color: var(--admin-color-disabled-text) !important; }

.admin-body :is(table, .table, .db-table) {
    --bs-table-bg: var(--admin-color-surface);
    --bs-table-color: var(--admin-color-text-primary);
    --bs-table-border-color: var(--admin-color-border);
    --bs-table-striped-color: var(--admin-color-text-primary);
    --bs-table-striped-bg: var(--admin-color-surface-row-alternate);
    --bs-table-hover-color: var(--admin-color-text-primary);
    --bs-table-hover-bg: var(--admin-color-surface-hover);
    color: var(--admin-color-text-primary);
}
.admin-body :is(table, .table, .db-table) :is(th, td) { background-color: var(--admin-color-surface-elevated); color: var(--admin-color-text-primary); border-color: var(--admin-color-border); }
.admin-body :is(table, .table, .db-table) th { background-color: var(--admin-color-surface-subtle); }
.admin-body .momken-data-table tbody tr:nth-child(even) td,
.admin-body :is(.table-striped, .db-table) tbody tr:nth-child(even) > * {
    background-color: var(--admin-color-surface-row-alternate);
}
.admin-body :is(table, .table, .db-table) tbody tr:is([aria-selected="true"], .is-selected) td {
    background-color: var(--admin-color-surface-selected);
}
.admin-body .momken-data-table tbody tr:hover td,
.admin-body :is(table, .table, .db-table) tbody tr:hover td { background-color: var(--admin-color-surface-hover); }

/* Theme settings controls. */
.admin-appearance { max-width: 8rem; }
.admin-action-progress, .admin-action-result { display: inline-block; margin-inline: .5rem; font-size: var(--admin-font-size-secondary, .8rem); }
.admin-action-progress { color: var(--admin-color-text-primary); }
.admin-action-result[data-state="error"] { color: var(--admin-color-danger); }
.admin-action-result[data-state="warning"] { color: var(--admin-color-warning); }
.admin-action-result[data-state="success"] { color: var(--admin-color-success); }
.admin-navigating::before { content: ''; position: fixed; inset-block-start: 0; inset-inline: 0; height: 3px; z-index: 2500; background: var(--admin-color-secondary); pointer-events: none; animation: admin-progress 900ms ease-in-out infinite alternate; }
@keyframes admin-progress { from { opacity: .55; } to { opacity: 1; } }
.admin-color-control { border: 1px solid var(--admin-color-border); border-radius: var(--admin-radius-md, .75rem); margin-block: var(--admin-space-4, 1rem); padding: var(--admin-card-padding, 1rem); background: var(--admin-color-surface-subtle); }
.admin-color-control summary { cursor: pointer; font-weight: 700; }
.admin-color-control fieldset { border: 0; padding: var(--admin-space-4, 1rem) 0 0; margin: 0; }
.admin-color-swatch { display: inline-block; width: 1.5rem; height: 1.5rem; border: 1px solid var(--admin-color-border); border-radius: var(--admin-radius-xs, .35rem); vertical-align: middle; }
.admin-color-modes, .admin-color-custom, .admin-theme-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--admin-space-3, .75rem); margin-block: var(--admin-space-3, .75rem); }
.admin-color-modes label { display: flex; align-items: center; gap: var(--admin-space-2, .5rem); }
.admin-color-control input[type="radio"] { width: 1.1rem; height: 1.1rem; }
.admin-color-control input[type="color"] { width: 4rem; height: var(--admin-control-height, 2.5rem); padding: .2rem; border: 1px solid var(--admin-color-input-border); }
.admin-color-control input[data-color-hex] { width: 8rem; height: var(--admin-control-height, 2.5rem); border: 1px solid var(--admin-color-input-border); }
.admin-color-error { color: var(--admin-color-danger); }
.admin-theme-advisory { padding: var(--admin-space-3, .75rem); border: 1px solid var(--admin-color-warning-border); border-radius: var(--admin-radius-sm, .5rem); }
.admin-theme-advisory[hidden] { display: none; }

@media print {
    :root,
    html[data-theme="dark"] {
        color-scheme: light;
        --admin-color-page-background: #FFFFFF;
        --admin-color-surface: #FFFFFF;
        --admin-color-surface-elevated: #FFFFFF;
        --admin-color-surface-subtle: #FFFFFF;
        --admin-color-surface-row-alternate: #FFFFFF;
        --admin-color-surface-hover: #FFFFFF;
        --admin-color-surface-selected: #FFFFFF;
        --admin-color-text-primary: #000000;
        --admin-color-text-secondary: #1F2937;
        --admin-color-text-muted: #374151;
        --admin-color-border: #9CA3AF;
        --admin-shadow-xs: none;
        --admin-shadow-sm: none;
        --admin-shadow-md: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-body *, .admin-body *::before, .admin-body *::after, .admin-navigating::before {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
