/*
 * Momken Admin UX Foundation R1
 * Shared presentation primitives for every authenticated Admin surface.
 * Public/Momken Hisab pages do not load this asset.
 */

:root {
    /* ADMIN-UI-FOUNDATION-003 canonical typography and density authority. */
    --admin-font-family: 'Cairo', 'Tahoma', 'Arial', sans-serif;
    --admin-font-family-numeric: Arial, 'Segoe UI', sans-serif;
    --admin-font-size-page-title: clamp(1.35rem, 1.2rem + .55vw, 1.75rem);
    --admin-font-size-section-title: clamp(1.08rem, 1rem + .28vw, 1.3rem);
    --admin-font-size-card-title: .98rem;
    --admin-font-size-body: .875rem;
    --admin-font-size-secondary: .8rem;
    --admin-font-size-label: .79rem;
    --admin-font-size-help: .75rem;
    --admin-font-size-button: .82rem;
    --admin-font-size-navigation: .79rem;
    --admin-font-size-table: .79rem;
    --admin-font-size-badge: .7rem;
    --admin-font-size-metric: clamp(1.35rem, 1.18rem + .55vw, 1.75rem);
    --admin-line-height-body: 1.65;
    --admin-line-height-heading: 1.35;
    --admin-space-1: .25rem;
    --admin-space-2: .5rem;
    --admin-space-3: .75rem;
    --admin-space-4: 1rem;
    --admin-space-5: 1.25rem;
    --admin-space-6: 1.5rem;
    --admin-space-7: 2rem;
    --admin-space-8: 2.5rem;
    --admin-control-height: 2.5rem;
    --admin-control-padding-block: .48rem;
    --admin-control-padding-inline: .72rem;
    --admin-button-padding-block: .44rem;
    --admin-button-padding-inline: .82rem;
    --admin-card-padding: .9rem;
    --admin-toolbar-gap: .5rem;
    --admin-section-gap: 1rem;
    --admin-radius-xs: .35rem;
    --admin-radius-sm: .5rem;
    --admin-radius-md: .75rem;
    --admin-radius-lg: .9rem;
    --admin-sidebar-width: 18rem;
    --admin-content-max: 120rem;
    --admin-touch-target: 2.875rem;
    --admin-dialog-sm: 30rem;
    --admin-dialog-md: 42rem;
    --admin-dialog-lg: 58rem;
    --admin-dialog-gutter: 1.25rem;
    --admin-topbar-height: 3.75rem;
    --admin-layer-sidebar: 1030;
    --admin-layer-overlay: 1025;
    --admin-layer-topbar: 1010;
    --admin-layer-dialog: 1060;
    --admin-focus-ring: 0 0 0 .2rem rgba(37, 99, 235, .28);
    --admin-transition: 180ms ease;
    --admin-font-size-title: var(--admin-font-size-page-title);
    --admin-font-size-section: var(--admin-font-size-section-title);
    /* Compatibility aliases for the legacy presentation layer. */
    --font: var(--admin-font-family);
    --space-1: var(--admin-space-1);
    --space-2: var(--admin-space-2);
    --space-3: var(--admin-space-3);
    --space-4: var(--admin-space-4);
    --space-5: var(--admin-space-5);
    --space-6: var(--admin-space-6);
    --space-7: var(--admin-space-7);
    --space-8: var(--admin-space-8);
    --radius-sm: var(--admin-radius-sm);
    --radius-md: var(--admin-radius-md);
    --radius-lg: var(--admin-radius-lg);
}

html {
    min-width: 20rem;
    background: var(--bg, #f8fafc);
    scrollbar-gutter: stable;
}

body.admin-body {
    min-width: 20rem;
    margin: 0;
    overflow-x: clip;
    font-family: var(--admin-font-family);
    font-size: var(--admin-font-size-body);
    line-height: var(--admin-line-height-body);
}

.admin-skip-link {
    position: fixed;
    inset-block-start: .5rem;
    inset-inline-start: .5rem;
    z-index: 2000;
    padding: .65rem 1rem;
    border-radius: var(--radius-sm, .5rem);
    color: #fff;
    background: var(--primary, #2563eb);
    transform: translateY(-180%);
    transition: transform var(--admin-transition);
}

.admin-skip-link:focus {
    color: #fff;
    transform: translateY(0);
}

.admin-shell {
    display: flex;
    min-height: 100vh;
    min-height: 100dvh;
    align-items: stretch;
    direction: rtl;
}

.admin-shell .erp-sidebar {
    position: static;
    inset: auto;
    z-index: auto;
    width: var(--admin-sidebar-width);
    max-width: none;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
    overscroll-behavior: auto;
    flex: 0 0 var(--admin-sidebar-width);
    background: linear-gradient(180deg, #0b1622, #101c2a);
    color: #fff;
    box-shadow: -.625rem 0 1.875rem rgba(0, 0, 0, .18);
    transition: transform 240ms ease, box-shadow 240ms ease;
}

.admin-shell .erp-content {
    display: flex;
    width: auto;
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    margin-inline-start: 0;
    flex: 1 1 0;
    flex-direction: column;
}

.admin-shell .erp-topbar {
    position: sticky;
    inset-block-start: 0;
    z-index: var(--admin-layer-topbar);
    min-height: var(--admin-topbar-height);
    height: auto;
    padding: .55rem clamp(.75rem, 2vw, 1.5rem);
    gap: .75rem;
}

.admin-topbar-context,
.admin-topbar-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .75rem;
}

.admin-topbar-actions {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.admin-shell .erp-topbar-title {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1.4;
}

.admin-shell .erp-topbar :where(.btn, button, .logout-btn, .form-select) {
    min-height: 2.25rem;
    border-radius: var(--admin-radius-sm);
    font-family: var(--admin-font-family);
    font-size: var(--admin-font-size-button);
}

.admin-shell .erp-topbar :where(.btn, button, .logout-btn) {
    display: inline-flex;
    padding: .35rem .7rem;
    align-items: center;
    justify-content: center;
    gap: var(--admin-space-1);
}

.admin-shell .erp-main {
    width: min(100%, var(--admin-content-max));
    min-width: 0;
    margin-inline: auto;
    padding: clamp(.75rem, 1.8vw, 1.5rem);
    overflow-x: clip;
    flex: 1 0 auto;
}

.admin-shell .footer {
    position: static;
    width: auto;
    margin-block-start: auto !important;
    padding-inline: 1rem;
    white-space: normal;
    line-height: 1.6;
}

.sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: var(--admin-layer-overlay);
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(2, 8, 23, .58);
    cursor: default;
    backdrop-filter: blur(2px);
}

.sidebar-overlay.show {
    display: block;
}

.hamburger-btn,
.admin-sidebar-close {
    width: var(--admin-touch-target);
    height: var(--admin-touch-target);
    min-width: var(--admin-touch-target);
    padding: 0;
    align-items: center;
    justify-content: center;
}

.hamburger-btn {
    display: none;
    border: 1px solid var(--border, #e2e8f0);
    background: var(--surface, #fff);
    color: var(--text, #0f172a);
    font-size: 1.25rem;
}

.admin-sidebar-close {
    display: none;
    position: absolute;
    inset-block-start: .6rem;
    inset-inline-end: .6rem;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 1.5rem;
}

.erp-sidebar .erp-logo-circle img {
    max-width: 100%;
}

.erp-sidebar :is(.erp-menu a, [data-nav-group] > summary) {
    min-height: 2.5rem;
    padding-block: .5rem;
    padding-inline: var(--admin-space-4);
    font-size: var(--admin-font-size-navigation);
    line-height: 1.45;
}

.erp-sidebar .erp-menu-title {
    padding-block: var(--admin-space-5) var(--admin-space-2);
    padding-inline: var(--admin-space-4);
    font-size: var(--admin-font-size-help);
    line-height: 1.4;
}

.erp-sidebar [data-nav-group] > summary:focus-visible,
.erp-sidebar a:focus-visible,
.erp-sidebar button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -3px;
    box-shadow: none;
}

.erp-sidebar .active-menu {
    scroll-margin-block: 5rem;
}

/* Shared page hierarchy and professional density. */
.admin-surface {
    min-width: 0;
    font-size: var(--admin-font-size-body);
    line-height: var(--admin-line-height-body);
}

.admin-body .admin-surface :where(h1, .admin-page-title, .db-page-title, .db-top-title, .momken-page-title) {
    font-size: var(--admin-font-size-page-title);
    font-weight: 800;
    line-height: var(--admin-line-height-heading);
}

.admin-body .admin-surface :where(h2, .admin-section-title) {
    font-size: var(--admin-font-size-section-title);
    font-weight: 800;
    line-height: var(--admin-line-height-heading);
}

.admin-body .admin-surface :where(h3, h4, .card-title, .admin-card-title) {
    font-size: var(--admin-font-size-card-title);
    font-weight: 800;
    line-height: 1.45;
}

.admin-surface :where(p, li, dd, td, input, select, textarea) {
    font-size: var(--admin-font-size-body);
}

.admin-surface :where(.small, small, .text-secondary, .text-muted, .admin-secondary-text) {
    font-size: var(--admin-font-size-secondary);
}

.admin-surface :where(.form-text, .help-text, .admin-help-text) {
    font-size: var(--admin-font-size-help);
    line-height: 1.55;
}

.admin-surface :where(.topbar, .db-top, .momken-page-header) {
    min-width: 0;
    padding: var(--admin-card-padding);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-md);
    background: var(--surface, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
    gap: var(--admin-space-3);
}

.admin-surface .topbar h1,
.admin-surface .momken-page-title,
.admin-surface .db-top-title {
    margin: 0;
    color: var(--text, #0f172a);
    font-size: var(--admin-font-size-page-title);
    overflow-wrap: anywhere;
}

.admin-surface :where(.momken-page-subtitle, .db-top-sub) {
    max-width: 70ch;
    margin-block-start: .25rem;
    color: var(--muted, #64748b);
    font-size: var(--admin-font-size-secondary);
    line-height: 1.7;
}

.admin-surface :where(.card, .table-box, .db-panel, .momken-panel, .momken-form-card, .account-form-box, .account-tree-box) {
    max-width: 100%;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-md);
    background: var(--surface, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
}

.admin-surface :where(.table-box) {
    padding: var(--admin-card-padding);
}

.admin-surface .card {
    padding: 0;
}

.admin-surface .card:not(:has(> .card-body, > table, > .table-responsive)) {
    padding: var(--admin-card-padding);
}

.admin-surface .card > :where(.card-body, .card-header, .card-footer) {
    padding: var(--admin-card-padding);
}

.admin-surface :where(.card h2, .card h3) {
    margin-block-end: var(--admin-space-3);
    color: var(--text, #0f172a);
    font-size: var(--admin-font-size-card-title);
}

.admin-surface :where(img, svg, canvas, video) {
    max-width: 100%;
}

.admin-surface :where(pre, code) {
    max-width: 100%;
    overflow: auto;
}

/* Forms */
.admin-surface :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, .form-control, .form-select) {
    max-width: 100%;
    min-height: var(--admin-control-height);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-sm);
    background-color: var(--surface-input, #fff);
    color: var(--text, #0f172a);
    padding: var(--admin-control-padding-block) var(--admin-control-padding-inline);
    font: inherit;
    font-size: var(--admin-font-size-body);
    line-height: 1.45;
    transition: border-color var(--admin-transition), box-shadow var(--admin-transition), background-color var(--admin-transition);
}

.admin-surface :where(textarea, textarea.form-control) {
    min-height: 5rem;
    padding-block: var(--admin-space-2);
    resize: vertical;
}

.admin-surface :where(input[readonly], textarea[readonly]) {
    cursor: default;
}

.admin-surface :where(select[disabled], input[disabled], textarea[disabled], .form-control:disabled, .form-select:disabled) {
    border-color: var(--border, #dbe3ec);
    background: var(--surface-disabled, #f1f5f9);
    color: var(--text-secondary, #475569);
    cursor: not-allowed;
    opacity: 1;
}

.admin-surface :where(label, .form-label, .form-group label) {
    margin-block-end: var(--admin-space-1);
    color: var(--text-secondary, #334155);
    font-size: var(--admin-font-size-label);
    font-weight: 700;
    line-height: 1.5;
}

.admin-surface :where(.form-group, .momken-field, .momken-filter-field) {
    min-width: 0;
}

.admin-surface :where(.text-danger, .field-validation-error, .validation-summary-errors) {
    color: var(--danger, #dc2626) !important;
    font-size: var(--admin-font-size-help);
    line-height: 1.65;
}

.admin-surface .validation-summary-errors {
    margin-block-end: var(--admin-space-4);
    padding: var(--admin-space-3) var(--admin-space-4);
    border-inline-start: .25rem solid var(--danger, #dc2626);
    border-radius: var(--radius-sm, .5rem);
    background: var(--danger-light, #fee2e2);
}

.admin-surface :where(input, select, textarea, button, a, [tabindex]):focus-visible {
    outline: 2px solid transparent;
    box-shadow: var(--admin-focus-ring);
}

.admin-surface :where(input[type="checkbox"], input[type="radio"], .form-check-input) {
    inline-size: 1.1rem;
    block-size: 1.1rem;
    min-block-size: 1.1rem;
    margin-block-start: .15rem;
    cursor: pointer;
}

.admin-surface :where(input[type="checkbox"], input[type="radio"], .form-check-input):disabled {
    cursor: not-allowed;
}

/* Action hierarchy. Existing semantic Bootstrap and Momken classes inherit this. */
.admin-surface :where(button, .btn, .db-btn, .btn-momken, .momken-action-btn, .action-btn, .create-btn, .save-btn) {
    min-height: 2.5rem;
    max-width: 100%;
    padding: var(--admin-button-padding-block) var(--admin-button-padding-inline);
    border: 1px solid transparent;
    border-radius: var(--admin-radius-sm);
    align-items: center;
    justify-content: center;
    gap: var(--admin-space-2);
    font-family: var(--admin-font-family);
    font-size: var(--admin-font-size-button);
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    transition: background-color var(--admin-transition), border-color var(--admin-transition), color var(--admin-transition), box-shadow var(--admin-transition), transform 90ms ease;
}

.admin-surface :where(.btn-sm, .db-btn-sm) {
    min-height: 2.125rem;
    padding: .32rem .65rem;
    font-size: var(--admin-font-size-help);
}

.admin-surface :where(.btn-icon, .icon-btn, [data-admin-icon-button]) {
    inline-size: var(--admin-control-height);
    min-inline-size: var(--admin-control-height);
    padding: 0;
}

.admin-surface :where(button, .btn, .db-btn, .btn-momken, .momken-action-btn, .action-btn):not(:disabled):not(.disabled):active {
    transform: translateY(1px);
}

.admin-surface :where(.btn-danger, .delete-btn, .reject-btn, .btn-momken-danger) {
    background-color: var(--danger, #dc2626);
    border-color: var(--danger, #dc2626);
    color: #fff;
}

.admin-surface :where(.btn-outline-danger) {
    background: var(--surface-elevated, #fff);
    border-color: var(--danger, #dc2626);
    color: var(--danger, #dc2626);
}

.admin-surface :where(.momken-toolbar, .db-top-actions, .momken-form-actions, .admin-actions, .btn-group, .action-buttons) {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--admin-toolbar-gap);
}

/* Lists, filters, pagination and data density. */
.admin-surface :where(.momken-summary-grid, .kpi-grid) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr));
    gap: var(--admin-space-3);
}

.admin-surface :where(.admin-summary-card, .momken-summary-card, .kpi-card, .stat-card) {
    --admin-summary-accent: var(--primary, #0b4f83);
    position: relative;
    min-width: 0;
    min-height: 6.25rem;
    padding: var(--admin-card-padding);
    overflow: visible;
    border: 1px solid var(--border, #e2e8f0);
    border-inline-start: .2rem solid var(--admin-summary-accent);
    border-radius: var(--admin-radius-md);
    background: var(--surface-elevated, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
}

.admin-surface :where(.kpi-card, .stat-card):has(.kpi-icon-wrap, .kpi-icon, .stat-icon, .admin-summary-icon) {
    display: block;
}

.admin-surface :where(.admin-summary-card--success, .kpi-card--success) { --admin-summary-accent: var(--success, #166534); }
.admin-surface :where(.admin-summary-card--warning, .kpi-card--warning) { --admin-summary-accent: var(--warning, #92400e); }
.admin-surface :where(.admin-summary-card--danger, .kpi-card--danger) { --admin-summary-accent: var(--danger, #b42318); }
.admin-surface :where(.admin-summary-card--info, .kpi-card--info) { --admin-summary-accent: var(--info, #0e5a78); }

.admin-surface :where(.admin-summary-header, .kpi-header, .momken-summary-header) {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--admin-space-2);
}

.admin-surface :where(.admin-summary-icon, .kpi-icon, .kpi-icon-wrap, .stat-icon) {
    display: inline-grid;
    inline-size: 2rem;
    block-size: 2rem;
    flex: 0 0 2rem;
    place-items: center;
    border-radius: var(--admin-radius-sm);
    background: var(--surface-hover, #eaf0f6);
    color: var(--admin-summary-accent);
    font-size: 1rem;
}

.admin-surface :where(.kpi-card, .stat-card):has(.kpi-icon-wrap, .kpi-icon, .stat-icon, .admin-summary-icon)
    > :where(.admin-summary-icon, .kpi-icon, .kpi-icon-wrap, .stat-icon) {
    position: absolute;
    inset-block-start: var(--admin-card-padding);
    inset-inline-start: var(--admin-card-padding);
}

.admin-surface .kpi-info {
    display: grid;
    min-width: 0;
    gap: var(--admin-space-1);
}

.admin-surface :where(.kpi-card, .stat-card):has(.kpi-icon-wrap, .kpi-icon, .stat-icon, .admin-summary-icon)
    > .kpi-info > :where(.kpi-label, .stat-label, .admin-summary-label) {
    min-height: 2rem;
    padding-inline-start: calc(2rem + var(--admin-space-3));
}

.admin-surface :where(.admin-summary-label, .kpi-label, .momken-summary-label, .stat-label) {
    display: block;
    overflow: visible;
    color: var(--muted, #64748b);
    font-size: var(--admin-font-size-secondary);
    font-weight: 700;
    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.admin-surface :where(.admin-summary-value, .kpi-value, .momken-summary-value, .stat-value, .stat-number) {
    color: var(--text, #0f172a);
    font-size: var(--admin-font-size-metric);
    font-weight: 800;
    line-height: 1.25;
}

.admin-surface :where(.admin-summary-value, .kpi-value, .momken-summary-value, .stat-value, .stat-number):is(.admin-number, [dir="ltr"]),
.admin-surface :where(.kpi-value, .stat-value, .stat-number) {
    max-width: 100%;
    overflow: visible;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    font-variant-numeric: tabular-nums;
}

.admin-surface :where(.admin-summary-secondary, .kpi-note, .kpi-trend, .momken-summary-note, .stat-note) {
    color: var(--muted, #64748b);
    font-size: var(--admin-font-size-help);
    line-height: 1.5;
}

@media (min-width: 48rem) {
    .admin-surface :where(.admin-summary-value, .kpi-value, .momken-summary-value, .stat-value, .stat-number):is(.admin-number, [dir="ltr"]),
    .admin-surface :where(.kpi-value, .stat-value, .stat-number) {
        font-size: min(var(--admin-font-size-metric), 1.5rem);
    }
}

.admin-surface :where(.momken-filters, .settings-grid) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.admin-surface :where(.search-box, .filters, .filter-box, .db-filter-row, .accordion-toolbar, .accordion-search) {
    max-width: 100%;
}

.admin-table-scroll,
.admin-surface :where(.table-responsive, .table-box, .db-table-wrap, .momken-table-wrap) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.admin-table-scroll {
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius-sm, .5rem);
    background: var(--surface, #fff);
}

.admin-table-scroll:focus-visible {
    box-shadow: var(--admin-focus-ring);
}

.admin-surface table {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-size: var(--admin-font-size-table);
    font-variant-numeric: tabular-nums;
}

.admin-surface table :where(th, td) {
    padding: .65rem .75rem;
    border-block-end: 1px solid var(--border, #e2e8f0);
    vertical-align: middle;
}

.admin-surface table th {
    color: var(--text-secondary, #334155);
    background: var(--surface, #f8fafc);
    font-size: var(--admin-font-size-help);
    font-weight: 800;
    white-space: normal;
}

.admin-surface table td {
    background: var(--surface-elevated, #fff);
}

.admin-surface table tbody tr:hover td {
    background: var(--surface-hover, #f8fbff);
}

.admin-surface :where(.pagination) {
    direction: ltr;
    flex-wrap: wrap;
    gap: .2rem;
    font-variant-numeric: tabular-nums;
}

.admin-surface .page-link {
    min-width: 2.5rem;
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .45rem !important;
}

/* Canonical Admin bidi policy: Arabic flows RTL; semantic machine/numeric
   islands are explicitly LTR and isolated without changing their values. */
.admin-number,
[data-admin-number],
.admin-technical-reference,
.admin-surface :where([dir="ltr"], .amount, .money, .balance, .account-number, .small-code, .momken-money, .momken-voucher-no, .kpi-value, .momken-summary-value, .db-side-item-meta, .admin-table-cell--reference, .admin-table-cell--date, .admin-table-cell--device, time) {
    direction: ltr;
    unicode-bidi: isolate;
    font-family: var(--admin-font-family-numeric);
    font-variant-numeric: tabular-nums;
}

.admin-surface :where(input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], input[inputmode="numeric"], input[inputmode="decimal"], input[type="tel"], input[type="email"], input[type="url"]) {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: start;
    font-family: var(--admin-font-family-numeric);
    font-variant-numeric: tabular-nums;
}

.admin-surface :where(.admin-technical-reference, .admin-table-cell--reference, code, pre) {
    overflow-wrap: anywhere;
}

/* Native number mirror: owns constraints, never presentation or submission. */
.admin-number-native[data-admin-number-native] {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.admin-surface input[data-admin-number-input] {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: start;
    font-family: var(--admin-font-family-numeric);
    font-variant-numeric: tabular-nums;
}

/* Reusable status system, including compatibility with legacy names. */
.admin-status,
.admin-surface :where(.badge, .db-status, .momken-status, [class^="status-"], [class*=" status-"]) {
    display: inline-flex;
    min-height: 1.55rem;
    align-items: center;
    justify-content: center;
    padding: .16rem .55rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: var(--admin-font-size-badge);
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
}

.admin-status--success,
.admin-status--active,
.admin-status--approved,
.admin-surface :where(.status-success, .db-status--success, .momken-status-approved, .momken-status-posted, .actv, .ok) {
    background: var(--surface-success, #dcfce7);
    color: var(--success, #166534);
    border-color: var(--admin-color-success-border, #86efac);
}

.admin-status--danger,
.admin-status--failed,
.admin-status--rejected,
.admin-status--disabled,
.admin-surface :where(.status-failed, .db-status--failed, .momken-status-cancelled, .inact, .fail) {
    background: var(--surface-danger, #fee2e2);
    color: var(--danger, #991b1b);
    border-color: var(--admin-color-danger-border, #fda4af);
}

.admin-status--pending,
.admin-status--processing,
.admin-surface :where(.status-pending, .db-status--pending, .db-status--process, .momken-status-draft, .pend) {
    background: var(--surface-warning, #fef3c7);
    color: var(--warning, #92400e);
    border-color: var(--admin-color-warning-border, #fcd34d);
}

.admin-status--info,
.admin-surface :where(.status-info, .db-status--info) {
    background: var(--surface-info, #ecfeff);
    color: var(--info, #0e5a78);
    border-color: var(--admin-color-info-border, #67e8f9);
}

.admin-status--neutral,
.admin-surface :where(.status-neutral, .db-status--muted) {
    background: var(--admin-color-surface-subtle, #f7f9fc);
    color: var(--text-secondary, #334155);
    border-color: var(--border, #cbd5e1);
}

/* Empty, loading, alert, error and unavailable states. */
.admin-empty,
.admin-loading,
.admin-error,
.admin-surface :where(.empty, .momken-empty) {
    width: 100%;
    padding: clamp(var(--admin-space-5), 4vw, var(--admin-space-8));
    border: 1px dashed #cbd5e1;
    border-radius: var(--admin-radius-md);
    background: var(--surface, #f8fafc);
    color: var(--muted, #64748b);
    text-align: center;
    font-weight: 700;
}

.admin-surface :where(.alert, .success, .alert-err) {
    max-width: 100%;
    border: 1px solid transparent;
    border-radius: var(--admin-radius-sm);
    padding: var(--admin-space-3) var(--admin-space-4);
    font-size: var(--admin-font-size-secondary);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* Shared operation-dialog architecture. */
.momken-create-modal-shell,
.modal {
    z-index: var(--admin-layer-dialog);
}

.momken-create-modal-shell .modal-dialog,
.admin-dialog .modal-dialog {
    width: min(calc(100vw - (2 * var(--admin-dialog-gutter))), var(--admin-dialog-lg));
    max-width: var(--admin-dialog-lg);
    min-height: 0;
    margin: var(--admin-dialog-gutter) auto;
}

.momken-create-modal,
.admin-dialog .modal-content {
    max-height: calc(100vh - (2 * var(--admin-dialog-gutter)));
    max-height: calc(100dvh - (2 * var(--admin-dialog-gutter)));
    overflow: hidden;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius-lg, 1.25rem);
    background: var(--surface-elevated, #fff);
    box-shadow: 0 1.75rem 5rem rgba(2, 8, 23, .32);
}

.momken-create-modal-header,
.admin-dialog .modal-header {
    flex: 0 0 auto;
    min-height: 4rem;
    padding: .75rem 1rem;
}

.momken-create-modal-icon {
    width: 2.5rem;
    height: 2.5rem;
    flex-basis: 2.5rem;
    border-radius: .65rem;
    font-size: .85rem;
}

.momken-create-modal-kicker {
    display: none;
}

.momken-create-modal-title {
    font-size: clamp(1.05rem, .95rem + .4vw, 1.35rem);
}

.momken-create-modal-body,
.admin-dialog .modal-body {
    min-height: 0;
    padding: 1rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--bg, #f8fafc);
}

.momken-create-modal-body .momken-form-grid {
    grid-template-columns: 1fr;
    gap: .75rem;
}

.momken-create-modal-body .momken-form-card {
    padding: 1rem;
}

.momken-create-modal-body .momken-form-actions,
.admin-dialog .modal-footer {
    position: sticky;
    inset-block-end: -1rem;
    z-index: 3;
    margin: 1rem -1rem -1rem;
    padding: .75rem 1rem;
    border-block-start: 1px solid var(--border, #e2e8f0);
    background: var(--surface-elevated, #fff);
    box-shadow: 0 -.5rem 1.25rem rgba(15, 23, 42, .07);
}

.momken-preview-disclosure {
    margin-block-start: .75rem;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--radius-sm, .5rem);
    background: var(--surface, #f8fafc);
}

.momken-preview-disclosure > summary {
    min-height: var(--admin-touch-target);
    padding: .6rem .8rem;
    color: var(--primary, #2563eb);
    font-weight: 800;
    cursor: pointer;
}

.momken-preview-disclosure .momken-preview-panel {
    margin: 0;
    border: 0;
    border-block-start: 1px solid var(--border, #e2e8f0);
    border-radius: 0 0 var(--radius-sm, .5rem) var(--radius-sm, .5rem);
}

.momken-preview-text {
    white-space: pre-line;
}

.idle-warning-overlay[aria-hidden="true"] {
    display: none;
}

.idle-warning-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1200;
    padding: 1rem;
    align-items: center;
    justify-content: center;
    background: rgba(2, 8, 23, .62);
    backdrop-filter: blur(2px);
}

.idle-warning-overlay.show {
    display: flex;
}

.idle-warning-card {
    width: min(100%, 26rem);
    padding: clamp(1.25rem, 4vw, 2rem);
    border-radius: var(--radius-lg, 1.25rem);
    background: var(--surface-elevated, #fff);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .3);
    text-align: center;
}

.idle-warning-icon {
    margin-block-end: .75rem;
    font-size: 2.5rem;
}

.idle-warning-title {
    margin-block-end: .5rem;
    color: var(--text, #0f172a);
    font-size: 1.25rem;
    font-weight: 800;
}

.idle-warning-text {
    margin-block-end: 1.25rem;
    color: var(--muted, #64748b);
}

.idle-warning-btn {
    min-height: var(--admin-touch-target);
    padding: .65rem 1.25rem;
    border: 0;
    border-radius: var(--radius-sm, .5rem);
    background: var(--primary, #2563eb);
    color: #fff;
    font: inherit;
    font-weight: 800;
}

/*
 * Legacy bridge: higher specificity consolidates repeated page-local rules
 * while old views are incrementally simplified. No controller/page branching.
 */
.admin-surface .topbar,
.admin-surface .db-top,
.admin-surface .momken-page-header {
    min-width: 0;
    padding: var(--admin-card-padding);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-md);
    background: var(--surface, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
    gap: var(--admin-space-3);
}

.admin-surface .topbar h1,
.admin-surface .topbar h2 {
    color: var(--text, #0f172a);
    font-size: var(--admin-font-size-section-title);
    line-height: var(--admin-line-height-heading);
}

.admin-surface .topbar h1 {
    margin: 0;
    font-size: var(--admin-font-size-page-title);
}

.admin-surface .card :where(h2, h3, .card-title) {
    color: var(--text, #0f172a);
    font-size: var(--admin-font-size-card-title);
    line-height: 1.45;
}

.admin-surface .card,
.admin-surface .table-box,
.admin-surface .db-panel,
.admin-surface .momken-panel,
.admin-surface .momken-form-card,
.admin-surface .account-form-box,
.admin-surface .account-tree-box {
    max-width: 100%;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-md);
    background: var(--surface, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
}

.admin-surface .settings-grid,
.admin-surface .momken-filters,
.admin-surface .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
    gap: var(--admin-section-gap);
}

.admin-surface [class$="-hero"] {
    max-width: 100%;
    padding: var(--admin-card-padding);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-md);
    background: var(--surface-elevated, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
}

.admin-surface :where(.stat-card, .filter-card, .users-card, .filter-box) {
    max-width: 100%;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-md);
    background: var(--surface-elevated, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
}

.admin-surface :where(.stat-value, .stat-number) {
    direction: ltr;
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
    font-size: var(--admin-font-size-metric);
}

.admin-surface :where(.create-btn) {
    background: var(--primary, #2563eb);
    border-color: var(--primary, #2563eb);
    color: #fff;
}

.admin-surface :where(.perm-btn) {
    background: var(--primary-light, #dbeafe);
    color: var(--primary-dark, #1d4ed8);
}

.admin-surface .alert-err {
    border-color: #fecaca;
    background: var(--danger-light, #fee2e2);
    color: #991b1b;
}

.admin-surface .form-group input:not([type="checkbox"]):not([type="radio"]),
.admin-surface .form-group select,
.admin-surface .form-group textarea,
.admin-surface .momken-field .form-control,
.admin-surface .momken-field .form-select {
    width: 100%;
    max-width: 100%;
    min-height: var(--admin-control-height);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: var(--admin-radius-sm);
    background-color: var(--surface-input, #fff);
    color: var(--text, #0f172a);
    padding: var(--admin-control-padding-block) var(--admin-control-padding-inline);
    font: inherit;
    font-size: var(--admin-font-size-body);
}

.admin-surface .form-group label,
.admin-surface .momken-field label {
    margin-block-end: var(--admin-space-1);
    color: var(--text-secondary, #334155);
    font-size: var(--admin-font-size-label);
    font-weight: 700;
}

/* Bootstrap 5.3 shared breakpoint contract: xl < 1200px, md < 768px. */
@media (max-width: 74.99875rem) {
    :root {
        --admin-sidebar-width: 16rem;
    }

    .admin-surface .db-cols {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 47.99875rem) {
    :root {
        --admin-control-height: var(--admin-touch-target);
    }

    body.admin-drawer-open {
        overflow: hidden;
    }

    .admin-shell {
        display: block;
    }

    .admin-shell .erp-sidebar {
        position: fixed;
        inset-block: 0;
        inset-inline-start: 0;
        z-index: var(--admin-layer-sidebar);
        width: min(88vw, 20rem);
        max-width: none;
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        max-height: 100vh;
        max-height: 100dvh;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        flex: none;
        transform: translateX(105%);
        box-shadow: none;
    }

    .admin-shell .erp-sidebar.mobile-open {
        transform: translateX(0);
        box-shadow: 0 0 2.5rem rgba(0, 0, 0, .38);
    }

    .admin-shell .erp-content {
        width: 100%;
        margin-inline-start: 0;
    }

    .hamburger-btn,
    .admin-sidebar-close {
        display: inline-flex;
    }

    .admin-shell .erp-topbar {
        align-items: flex-start;
    }

    .admin-topbar-actions {
        gap: .4rem;
    }

    .admin-shell .erp-topbar :where(.btn, button, .logout-btn, .form-select),
    .admin-surface :where(input:not([type="checkbox"]):not([type="radio"]), select, .form-control, .form-select) {
        min-height: var(--admin-touch-target);
    }

    .admin-shell .erp-user {
        display: none;
    }

    .admin-shell .logout-btn {
        min-height: var(--admin-touch-target);
        padding-inline: .75rem;
    }

    .admin-shell .erp-main {
        width: 100%;
        padding: .75rem;
    }

    .admin-surface :where(.topbar, .db-top, .momken-page-header, .momken-toolbar) {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-surface [class$="-hero"] {
        align-items: stretch !important;
        flex-direction: column;
        gap: .75rem;
    }

    .admin-surface [class$="-hero"] > .d-flex {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .admin-surface :where(.topbar, .db-top, .momken-page-header, .card, .table-box, .db-panel, .momken-panel) {
        border-radius: .75rem;
    }

    .admin-surface :where(.kpi-grid, .momken-summary-grid, .momken-filters, .settings-grid, .momken-form-grid) {
        grid-template-columns: 1fr !important;
    }

    .admin-surface [style*="grid-template-columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-surface :where(.momken-toolbar-group, .momken-form-actions, .admin-actions) > :where(button, .btn, .db-btn, .btn-momken, a) {
        min-height: var(--admin-touch-target);
    }

    .admin-surface :where(form .row > [class*="col-"]) {
        min-width: 0;
    }

    .admin-surface table {
        min-width: 38rem;
    }

    .admin-surface table.admin-table-compact {
        min-width: 30rem;
    }

    .momken-create-modal-shell .modal-dialog,
    .admin-dialog .modal-dialog {
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        margin: 0;
    }

    .momken-create-modal,
    .admin-dialog .modal-content {
        width: 100%;
        height: 100%;
        max-height: none;
        border: 0;
        border-radius: 0;
    }

    .momken-create-modal-body,
    .admin-dialog .modal-body {
        padding: .75rem;
    }

    .momken-create-modal-body .momken-form-actions,
    .admin-dialog .modal-footer {
        inset-block-end: -.75rem;
        margin: .75rem -.75rem -.75rem;
        padding: .75rem max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom));
    }
}

/* Financial Transaction Workspace — shared shell for forms, feedback and history. */
.financial-transaction-workspace {
    --financial-success: #15803d;
    --financial-success-surface: #dcfce7;
    --financial-warning: #b45309;
    --financial-danger: #b91c1c;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: .75rem;
}

.financial-workspace-editor,
.financial-workspace-history {
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: .7rem;
    background: var(--surface-elevated, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, .06));
}

.financial-workspace-editor > h1,
.financial-workspace-history > h2 {
    margin: 0 0 .7rem;
    color: var(--text, #172033);
    font-size: 1.05rem;
    font-weight: 800;
}

.financial-workspace-pagination,
.financial-workspace-page-size,
.financial-workspace-page-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.financial-workspace-toolbar {
    flex-wrap: wrap;
}

.financial-workspace-view-selector {
    position: relative;
    margin-inline-start: auto;
}

.financial-workspace-view-selector > summary {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    gap: .35rem;
    padding: .4rem .7rem;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: .55rem;
    background: var(--surface-elevated, #fff);
    color: var(--text, #172033);
    cursor: pointer;
    font-size: .76rem;
    list-style: none;
}

.financial-workspace-view-selector > summary::-webkit-details-marker {
    display: none;
}

.financial-workspace-view-selector > summary::after {
    content: "▾";
    margin-inline-start: .2rem;
    color: var(--muted, #64748b);
}

.financial-workspace-view-selector > summary:focus-visible {
    outline: 3px solid var(--primary-light, rgba(37, 99, 235, .18));
    outline-offset: 2px;
}

.financial-workspace-view-selector[open] > summary {
    border-color: var(--primary, #2563eb);
}

.financial-workspace-view-selector > nav {
    position: absolute;
    z-index: 20;
    inset-block-start: calc(100% + .35rem);
    inset-inline-end: 0;
    display: grid;
    min-width: 13rem;
    padding: .35rem;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: .6rem;
    background: var(--surface-elevated, #fff);
    box-shadow: var(--shadow-md, 0 .75rem 1.5rem rgba(15, 23, 42, .14));
}

.financial-workspace-view-selector > nav a {
    display: flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .45rem .6rem;
    border-radius: .45rem;
    color: var(--text, #172033);
    text-decoration: none;
}

.financial-workspace-view-selector > nav a:hover,
.financial-workspace-view-selector > nav a:focus-visible {
    background: var(--surface-hover, #eff6ff);
}

.financial-workspace-view-selector > nav a[aria-current="page"] {
    background: var(--primary-light, #dbeafe);
    color: var(--primary-dark, #1d4ed8);
    font-weight: 800;
}

.financial-workspace-total {
    color: var(--muted, #64748b);
    font-size: .82rem;
}

.financial-workspace-pagination {
    justify-content: space-between;
    padding-block-start: .7rem;
}

.financial-workspace-page-size a {
    min-width: 2rem;
    padding: .25rem .45rem;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: .45rem;
    color: var(--text, #172033);
    text-align: center;
    text-decoration: none;
}

.financial-workspace-page-size a.is-active {
    border-color: var(--primary, #2563eb);
    background: var(--primary, #2563eb);
    color: #fff;
}

.momken-financial-toast {
    position: fixed;
    z-index: 2100;
    inset-block-start: calc(var(--admin-topbar-height, 4rem) + 1rem);
    inset-inline-start: 50%;
    display: inline-flex;
    min-width: min(22rem, calc(100vw - 2rem));
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .8rem 1rem;
    transform: translateX(50%);
    border: 1px solid #86efac;
    border-radius: .7rem;
    background: var(--financial-success-surface, #dcfce7);
    color: #166534;
    box-shadow: 0 .8rem 2rem rgba(15, 23, 42, .18);
    transition: opacity .2s ease, translate .2s ease;
}

.momken-financial-toast.is-leaving {
    opacity: 0;
    translate: 0 -.5rem;
}

.momken-financial-toast__icon {
    display: inline-grid;
    width: 1.6rem;
    height: 1.6rem;
    place-items: center;
    border-radius: 50%;
    background: var(--financial-success, #15803d);
    color: #fff;
    font-weight: 900;
}

.financial-workspace-row-new > td {
    animation: financial-row-highlight 3.2s ease-out both;
}

@keyframes financial-row-highlight {
    0%, 42% { background: #dcfce7; box-shadow: inset 0 0 0 1px #86efac; }
    100% { background: transparent; box-shadow: none; }
}

.financial-row-actions .momken-action-btn {
    min-height: 2rem;
    align-items: center;
}

.financial-warning-dialog {
    width: min(34rem, calc(100vw - 1.5rem));
    max-height: calc(100dvh - 2rem);
    overflow: auto;
    border-radius: .7rem;
    color: var(--text, #172033);
    box-shadow: 0 1.25rem 3rem rgba(15, 23, 42, .28);
}

.financial-warning-dialog::backdrop {
    background: rgba(15, 23, 42, .5);
}

@media (prefers-reduced-motion: reduce) {
    .momken-financial-toast,
    .financial-workspace-row-new > td { transition: none; animation: none; }
}

@media (max-width: 47.99875rem) {
    .financial-workspace-editor,
    .financial-workspace-history { padding: .65rem; }
    .financial-workspace-pagination { align-items: stretch; flex-direction: column; }
    .financial-workspace-page-links { justify-content: space-between; }
    .momken-financial-toast { min-width: calc(100vw - 1rem); }
}

@media (max-width: 27rem) {
    .admin-topbar-actions .logout-btn {
        font-size: 0;
    }

    .admin-topbar-actions .logout-btn::after {
        content: "خروج";
        font-size: .75rem;
    }

    .admin-surface :where(.momken-toolbar-group, .momken-form-actions) {
        align-items: stretch;
    }

    .admin-surface :where(.momken-toolbar-group, .momken-form-actions) > :where(button, .btn, .db-btn, .btn-momken, a) {
        flex: 1 1 auto;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
    @page admin-financial-landscape { size: A4 landscape; margin: 12mm; }
    .admin-print-landscape { page: admin-financial-landscape; }
    html,
    body.admin-body {
        min-width: 0;
        overflow: visible;
        scrollbar-gutter: auto;
    }

    .admin-shell .erp-main,
    .admin-table-scroll,
    .admin-surface :where(.table-responsive, .table-box, .db-table-wrap, .momken-table-wrap) {
        overflow: visible !important;
        min-height: 0 !important;
        max-height: none !important;
        scrollbar-gutter: auto;
    }

    /* Screen scroll regions cannot scroll on paper. Reports opt into this
       bounded, wrapping table without changing financial document layouts. */
    .admin-surface table.admin-print-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed;
    }

    .admin-surface .admin-print-table :is(th, td) {
        padding: 2mm 1mm;
        max-width: none !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere;
        font-size: 9pt !important;
    }

    .admin-print-table thead { display: table-header-group; }
    .admin-surface .admin-print-table th { position: static; }
    .admin-print-table tr { break-inside: avoid; }

    .admin-skip-link,
    .sidebar-overlay,
    .admin-sidebar-close,
    .hamburger-btn {
        display: none !important;
    }
}

/* Admin Operations Workspace Standard R2 — extension of the R1 foundation. */
[data-admin-operation-workspace] {
    display: flex;
    min-width: 0;
    min-height: calc(100dvh - var(--admin-topbar-height) - 4rem);
    flex-direction: column;
    gap: .65rem;
}

/* Provider directory: opt out of the operations workspace's viewport fill.
   The directory is a content-sized table, so unused viewport space belongs
   after the panel instead of being distributed through its grid tracks. */
[data-admin-operation-workspace].admin-operation-workspace--content {
    min-height: 0;
}

[data-admin-operation-workspace].admin-operation-workspace--content > .admin-table-shell {
    height: auto;
    flex: 0 0 auto;
    align-content: start;
}

[data-admin-operation-workspace] :where(.momken-page-header, .topbar, .db-top, [class$="-hero"]) {
    min-height: 0;
    margin-block-end: 0;
    padding: .7rem 1rem;
    border-radius: .65rem;
    box-shadow: none;
}

[data-admin-operation-workspace] :where(.momken-brand-kicker, .operations-subtitle, .momken-page-subtitle) {
    display: none;
}

[data-admin-operation-workspace] > :where(.momken-summary-grid, .stats-grid, .cards, .row):has(> .stat-card),
[data-admin-operation-workspace] .momken-summary-grid {
    display: none;
}

[data-admin-operation-workspace] [data-admin-existing-summary] {
    display: grid;
}

[data-admin-operation-workspace] > .cards {
    display: none;
}

.admin-operation-header {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.admin-operation-header :where(h1, .momken-page-title) {
    margin: 0;
    font-size: clamp(1.05rem, .96rem + .35vw, 1.35rem);
}

.admin-operation-toolbar,
[data-admin-operation-workspace] [data-admin-operation-toolbar] {
    position: relative;
    z-index: 4;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin: 0;
    padding: .45rem .6rem;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: .65rem;
    background: var(--surface-elevated, #fff);
    box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05));
}

.admin-operation-toolbar .momken-toolbar-group,
[data-admin-operation-workspace] [data-admin-operation-toolbar] .momken-toolbar-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
}

[data-admin-action="add"] { order: 10; }
[data-admin-action="edit"] { order: 20; }
[data-admin-action="delete"] { order: 30; }
[data-admin-action="refresh"] { order: 40; }
[data-admin-action="filter"] { order: 50; }
[data-admin-action="search"] { order: 55; }
[data-admin-action="print"] { order: 60; }
[data-admin-action="print-document"] { order: 70; }
[data-admin-action="reverse"] { order: 75; }
[data-admin-action="exit"] { order: 80; }

[data-admin-operation-workspace] [data-admin-operation-toolbar] :where(a, button, .btn, .db-btn, .btn-momken) {
    min-height: 2.25rem;
    padding: .4rem .7rem;
    font-size: .76rem;
}

[data-admin-operation-workspace] :where(.momken-panel, .table-box, .db-panel, .card):has(table) {
    min-height: 0;
    margin: 0;
    padding: .5rem;
    flex: 1 1 auto;
}

[data-admin-operation-workspace] :where(.admin-table-scroll, .table-responsive, .table-box, .db-table-wrap, .momken-table-wrap) {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow-x: auto;
}

[data-admin-operation-workspace] table {
    width: max(100%, max-content);
    min-width: 48rem;
    table-layout: auto;
}

[data-admin-operation-workspace] table thead th {
    position: sticky;
    inset-block-start: 0;
    z-index: 2;
    padding: .5rem .65rem;
    background: var(--surface-disabled, #f1f5f9);
    cursor: pointer;
}

[data-admin-operation-workspace] table tbody td {
    padding: .46rem .65rem;
    line-height: 1.45;
}

[data-admin-operation-workspace] table tbody tr[aria-selected="true"] td,
[data-admin-operation-workspace] table tbody tr.admin-row-selected td {
    background: #dbeafe;
    box-shadow: inset 0 1px #93c5fd, inset 0 -1px #93c5fd;
}

[data-admin-operation-workspace] table tbody tr:focus-visible td {
    box-shadow: inset 0 0 0 2px #2563eb;
}

.admin-filter-hidden {
    display: none !important;
}

[data-admin-selected-action][aria-disabled="true"] {
    pointer-events: none;
    opacity: .5;
}

[data-admin-operation-workspace] table :where(.admin-number, .momken-money, .amount, [data-admin-number]) {
    text-align: end;
}

[data-admin-operation-workspace] .admin-technical-reference {
    color: var(--muted, #64748b);
    font-size: .72rem;
    white-space: nowrap;
}

.admin-operation-dialog [data-admin-advanced-search],
.admin-operation-dialog [data-admin-dialog-body] > form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

.admin-operation-dialog [data-admin-advanced-search] > :where(.momken-filter-field, .form-group, [class*="col-"]),
.admin-operation-dialog [data-admin-dialog-body] > form > :where(.momken-filter-field, .form-group, [class*="col-"]) {
    width: 100%;
    max-width: none;
}

.admin-action-icon {
    display: inline-grid;
    width: 1rem;
    place-items: center;
    margin-inline-end: .3rem;
    font: 700 .9rem/1 Arial, sans-serif;
}

.admin-permission-denial {
    padding: .25rem;
    color: #7f1d1d;
    font-weight: 700;
    line-height: 1.8;
}

.admin-permission-denial p {
    margin: 0;
}

.admin-operation-dialog-footer {
    position: sticky;
    inset-block-end: 0;
    z-index: 3;
    justify-content: flex-start;
    background: var(--surface-elevated, #fff);
}

.admin-operation-editor {
    width: min(100%, 58rem);
    margin-inline: auto;
}

.admin-operation-editor .admin-operation-editor-card {
    margin: 0;
    padding: 1rem;
}

.admin-operation-editor .momken-form-actions {
    margin-block-start: .65rem;
}

.admin-surface input[data-admin-date-control],
.admin-surface input[type="date"],
.admin-surface input[type="time"],
.admin-surface input[type="datetime-local"] {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: start;
    font-family: Arial, "Segoe UI", sans-serif;
    font-variant-numeric: tabular-nums;
}

/*
 * Browsers render native date text using the browser/OS locale, independently
 * of the input's ISO value. Keep the native control as the value, validation,
 * keyboard and picker authority, while this shared visual layer guarantees the
 * Admin Latin-digit presentation contract in every supported rendering path.
 * AdminDateInputTagHelper emits this shell in the server response so the
 * first visible paint is already canonical; JS only synchronizes or provides
 * the same structure for dynamically inserted fragments.
 */
.admin-date-control {
    position: relative;
    display: inline-grid;
    inline-size: 100%;
    min-inline-size: min(100%, 10.5rem);
    min-block-size: 2.375rem;
    align-items: center;
    padding: .375rem .75rem;
    overflow: hidden;
    border: 1px solid var(--border, #dbe4ef);
    border-radius: .45rem;
    background: var(--surface-elevated, #fff);
    color: var(--text, #172033);
    direction: ltr;
    text-align: start;
    font-family: Arial, "Segoe UI", sans-serif;
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
}

.admin-date-control:focus-within {
    border-color: var(--primary, #2563eb);
    outline: 0;
    box-shadow: 0 0 0 3px var(--primary-light, rgba(37, 99, 235, .14));
}

.admin-date-control > input[data-admin-date-control] {
    position: absolute !important;
    z-index: 2;
    inset: 0;
    inline-size: 100% !important;
    block-size: 100% !important;
    min-inline-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0;
    cursor: pointer;
}

/* Once focused, expose the real native segments/caret and browser calendar
   affordance. At rest the server-rendered canonical display remains the first
   and final visible presentation; no second value or text input is created. */
.admin-date-control:focus-within > input[data-admin-date-control] {
    padding: .375rem .75rem !important;
    border: 0 !important;
    background: var(--surface-elevated, #fff);
    color: var(--text, #172033);
    opacity: 1;
    cursor: text;
}

.admin-date-control:focus-within .admin-date-control__display,
.admin-date-control:focus-within::after {
    visibility: hidden;
}

.admin-date-control__display {
    display: block;
    min-inline-size: 0;
    padding-inline-end: 1.65rem;
    overflow: hidden;
    color: inherit;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
}

.admin-date-control::after {
    content: "";
    position: absolute;
    inset-inline-end: .7rem;
    inset-block-start: 50%;
    inline-size: 1rem;
    block-size: 1rem;
    transform: translateY(-50%);
    background: currentColor;
    opacity: .72;
    pointer-events: none;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M7 2v3m10-3v3M3 9h18M5 4h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M7 2v3m10-3v3M3 9h18M5 4h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.admin-date-control--empty .admin-date-control__display {
    color: var(--muted, #64748b);
    opacity: .78;
}

.admin-date-control--disabled {
    background: var(--surface-hover, #f1f5f9);
    opacity: .7;
}

.admin-date-control--disabled > input[data-admin-date-control] {
    cursor: not-allowed;
}

/* Compact, code-native Customer device symbols. The latest registered-device
   authority stays server-side; these masks only localize its presentation. */
.customer-device-indicator {
    display: inline-grid;
    inline-size: 1.5rem;
    block-size: 1.5rem;
    place-items: center;
    color: var(--primary, #2563eb);
    vertical-align: middle;
}

.customer-device-indicator::before {
    content: "";
    inline-size: 1.15rem;
    block-size: 1.15rem;
    background: currentColor;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.customer-device-indicator--phone::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='2' width='12' height='20' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M10 18h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='2' width='12' height='20' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M10 18h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.customer-device-indicator--computer::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 21h8M12 17v4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='3' width='20' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 21h8M12 17v4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.customer-device-indicator--unknown::before {
    border: 2px solid currentColor;
    border-radius: .2rem;
}

/* Canonical Operational Table Contract (ADMIN-UI-FOUNDATION-004).
   The document owns vertical movement. The table region owns only width
   containment; a bounded vertical region requires the explicit
   .admin-table-scroll--bounded-exception modifier and a documented owner. */
.admin-table-shell,
[data-admin-table-shell] {
    display: grid;
    min-width: 0;
    gap: var(--admin-space-3);
    padding: var(--admin-card-padding);
    border: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
    border-radius: var(--admin-radius-md);
    background: var(--admin-color-surface-elevated, var(--surface-elevated, #fff));
    box-shadow: var(--admin-shadow-sm, var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .05)));
}

.admin-table-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--admin-toolbar-gap);
}

.admin-table-heading :where(h2, h3, .db-panel-title) {
    margin: 0;
    color: var(--admin-color-text-primary, var(--text, #0f172a));
    font-size: var(--admin-font-size-section-title);
    font-weight: 800;
}

.admin-table-toolbar,
[data-admin-table-toolbar] {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--admin-toolbar-gap);
}

.admin-table-toolbar :where(.momken-toolbar-group, .admin-table-filters),
[data-admin-table-toolbar] :where(.momken-toolbar-group, .admin-table-filters) {
    display: flex;
    min-width: 0;
    align-items: end;
    flex-wrap: wrap;
    gap: var(--admin-toolbar-gap);
}

.admin-table-filters :where(.momken-filter-field, .form-group, [class*="col-"]) {
    min-width: min(100%, 10rem);
    margin: 0;
}

.admin-table-result-summary,
.admin-table-page-summary {
    color: var(--admin-color-text-muted, var(--muted, #64748b));
    font-size: var(--admin-font-size-secondary);
    font-variant-numeric: tabular-nums;
}

.admin-table-filter-strip,
[data-admin-table-filter-strip] {
    display: grid;
    grid-template-columns: auto minmax(22rem, 1fr);
    min-width: 0;
    align-items: end;
    gap: var(--admin-toolbar-gap) var(--admin-space-4);
    margin-block: var(--admin-space-3);
    padding: var(--admin-space-2) var(--admin-space-3);
    border: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
    border-radius: var(--admin-radius-md);
    background: var(--admin-color-surface-subtle, var(--surface-disabled, #f1f5f9));
}

.admin-table-filter-strip :where(nav, ul),
[data-admin-table-filter-strip] :where(nav, ul) {
    margin: 0;
}

.admin-table-reference-lookup {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) auto;
    min-width: 0;
    align-items: end;
    gap: var(--admin-space-1) var(--admin-toolbar-gap);
}

.admin-table-reference-field {
    display: grid;
    min-width: 0;
    gap: var(--admin-space-1);
}

.admin-table-reference-field > label {
    margin: 0;
    color: var(--admin-color-text-secondary, var(--text-secondary, #334155));
    font-size: var(--admin-font-size-secondary);
    font-weight: 700;
}

.admin-table-filter-note {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--admin-color-text-muted, var(--muted, #64748b));
    font-size: var(--admin-font-size-secondary);
}

.admin-table-scroll[data-admin-table-region],
[data-admin-table-region].admin-table-scroll {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    max-height: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

.admin-table-scroll--bounded-exception {
    max-block-size: var(--admin-table-exception-max-block-size, 32rem);
    overflow-y: auto;
    overscroll-behavior-block: contain;
}

.admin-operational-table {
    width: max(100%, max-content);
    min-width: 48rem;
    table-layout: auto;
}

.admin-operational-table :where(th, td) {
    padding: .46rem .65rem;
    line-height: 1.45;
}

.admin-operational-table thead th {
    position: static;
    inset-block-start: auto;
    color: var(--admin-color-text-secondary, var(--text-secondary, #334155));
    background: var(--admin-color-surface-subtle, var(--surface-disabled, #f1f5f9));
    font-weight: 800;
    cursor: default;
}

[data-admin-operation-workspace] .admin-operational-table thead th {
    position: static;
    inset-block-start: auto;
}

.admin-sort-link {
    display: inline-flex;
    align-items: center;
    gap: var(--admin-space-1);
    color: inherit;
    text-decoration: none;
}

.admin-sort-link::after {
    content: "↕";
    color: var(--admin-color-text-muted, var(--muted, #64748b));
    font-size: .8em;
}

th[aria-sort="ascending"] > .admin-sort-link::after { content: "↑"; }
th[aria-sort="descending"] > .admin-sort-link::after { content: "↓"; }

.admin-table-cell--reference,
.admin-table-cell--numeric,
.admin-table-cell--currency,
.admin-table-cell--amount,
.admin-table-cell--date,
.admin-table-cell--device {
    direction: ltr;
    unicode-bidi: isolate;
    font-family: var(--admin-font-family-numeric);
    font-variant-numeric: tabular-nums;
}

.admin-table-cell--numeric,
.admin-table-cell--currency,
.admin-table-cell--amount { text-align: end; }

.admin-table-cell--status,
.admin-table-cell--actions { white-space: nowrap; }

.admin-table-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--admin-space-1);
}

.admin-table-actions :where(a, button, .btn, .momken-action-btn, .db-btn) {
    min-height: 2rem;
    align-items: center;
}

/* ADMIN-UI-FOUNDATION-007: one server-rendered, Bootstrap-backed row-action
   overflow contract. Existing authorized links/forms remain intact; this
   layer owns only presentation, focus, risk separation and viewport-safe
   menu placement. */
.admin-row-action-more {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.admin-row-action-more-trigger {
    min-height: 2rem;
    min-inline-size: 2.25rem;
    padding-block: .25rem;
    padding-inline: .5rem;
    white-space: nowrap;
}

.admin-row-action-menu {
    z-index: 1085;
    min-inline-size: 13rem;
    max-inline-size: min(20rem, calc(100vw - 1rem));
    padding: var(--admin-space-1);
    direction: rtl;
    text-align: start;
    box-shadow: var(--admin-shadow-lg, 0 .75rem 2rem rgba(15, 23, 42, .2));
}

.admin-row-action-item,
.admin-row-action-form {
    display: block;
    inline-size: 100%;
    margin: 0;
}

.admin-row-action-menu > :where(a, button, form),
.admin-row-action-menu > form > :where(a, button) {
    inline-size: 100%;
}

.admin-row-action-menu-control,
.admin-row-action-form .admin-row-action-menu-control,
.admin-row-action-menu > :where(a, button),
.admin-row-action-menu > form > :where(a, button) {
    display: flex;
    inline-size: 100%;
    min-height: 2.25rem;
    align-items: center;
    justify-content: flex-start;
    margin: 0;
    padding-block: .45rem;
    padding-inline: .65rem;
    border: 0;
    border-radius: var(--admin-radius-xs);
    background: transparent;
    color: var(--admin-color-text-primary, #172033);
    font: inherit;
    font-size: var(--admin-font-size-button);
    font-weight: 700;
    text-align: start;
    text-decoration: none;
    white-space: normal;
}

.admin-row-action-menu-control:hover,
.admin-row-action-menu-control:focus-visible,
.admin-row-action-menu > :where(a, button):hover,
.admin-row-action-menu > :where(a, button):focus-visible,
.admin-row-action-menu > form > :where(a, button):hover,
.admin-row-action-menu > form > :where(a, button):focus-visible {
    background: var(--admin-color-nav-hover, #eef4fa);
    color: var(--admin-color-text-primary, #172033);
    outline: 2px solid var(--admin-color-focus-ring, #2563eb);
    outline-offset: -2px;
}

.admin-row-action-item--risk .admin-row-action-menu-control {
    color: var(--admin-color-danger, #b42318);
}

.admin-row-action-item--risk .admin-row-action-menu-control:hover,
.admin-row-action-item--risk .admin-row-action-menu-control:focus-visible {
    background: var(--admin-color-danger-background, #fef3f2);
    color: var(--admin-color-danger, #b42318);
}

.admin-row-action-menu > .admin-row-action-item--risk:first-of-type {
    margin-block-start: var(--admin-space-1);
    padding-block-start: var(--admin-space-1);
    border-block-start: 1px solid var(--admin-color-border, #e2e8f0);
}

.admin-row-action-primary { flex: 0 0 auto; }

@media (max-width: 47.99875rem) {
    .admin-row-action-more-trigger {
        min-height: max(var(--admin-touch-target), 44px);
        min-inline-size: 44px;
    }
    .admin-row-action-menu-control,
    .admin-row-action-form .admin-row-action-menu-control,
    .admin-row-action-menu > :where(a, button),
    .admin-row-action-menu > form > :where(a, button) { min-height: max(var(--admin-touch-target), 44px); }
}

.admin-table-empty,
.admin-operational-table td.admin-table-empty {
    padding: clamp(var(--admin-space-5), 4vw, var(--admin-space-8));
    border: 0;
    background: var(--admin-color-surface-subtle, var(--surface, #f8fafc));
    color: var(--admin-color-text-muted, var(--muted, #64748b));
    text-align: center;
    font-weight: 700;
}

.admin-table-loading,
.admin-table-shell[aria-busy="true"] .admin-table-scroll {
    cursor: progress;
    opacity: .78;
}

.admin-table-pagination,
[data-admin-table-pagination] {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--admin-toolbar-gap);
    margin: 0;
    padding-block-start: var(--admin-space-3);
    border-block-start: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
}

.admin-table-page-size,
.admin-table-page-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--admin-space-2);
}

.admin-table-page-size [aria-current="true"] {
    border-color: var(--admin-color-primary, var(--primary, #2563eb));
    background: var(--admin-color-primary, var(--primary, #2563eb));
    color: var(--admin-color-text-inverse, #fff);
}

@media (max-width: 47.99875rem) {
    .admin-table-toolbar,
    [data-admin-table-toolbar],
    .admin-table-pagination,
    [data-admin-table-pagination] {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-table-toolbar :where(.momken-toolbar-group, .admin-table-filters),
    [data-admin-table-toolbar] :where(.momken-toolbar-group, .admin-table-filters) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-table-toolbar :where(a, button, .btn),
    [data-admin-table-toolbar] :where(a, button, .btn) {
        width: 100%;
        justify-content: center;
    }

    .admin-table-filter-strip,
    [data-admin-table-filter-strip],
    .admin-table-reference-lookup {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-table-reference-lookup > .btn {
        width: 100%;
    }

    .admin-table-filter-note {
        grid-column: 1;
    }

    .admin-table-page-links { justify-content: space-between; }
}

@media print {
    .admin-table-shell,
    [data-admin-table-shell] {
        display: block;
        padding: 0;
        overflow: visible;
        border: 0;
        box-shadow: none;
    }

    .admin-table-toolbar,
    .admin-table-pagination,
    [data-admin-table-toolbar],
    [data-admin-table-pagination] { display: none !important; }
}

@media (max-width: 47.99875rem) {
    [data-admin-operation-workspace] {
        min-height: calc(100dvh - var(--admin-topbar-height) - 1.5rem);
    }

    [data-admin-operation-workspace] [data-admin-operation-toolbar] {
        align-items: stretch;
        flex-direction: column;
    }

    [data-admin-operation-workspace] [data-admin-operation-toolbar] .momken-toolbar-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .financial-workspace-view-selector,
    .financial-workspace-view-selector > summary {
        width: 100%;
    }

    .financial-workspace-view-selector > summary {
        justify-content: space-between;
    }

    .financial-workspace-view-selector > nav {
        inset-inline: 0;
        min-width: 0;
    }

    [data-admin-operation-workspace] [data-admin-operation-toolbar] :where(a, button, .btn, .db-btn, .btn-momken) {
        width: 100%;
        justify-content: center;
    }

    .admin-operation-dialog [data-admin-advanced-search],
    .admin-operation-dialog [data-admin-dialog-body] > form {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Canonical Page Command and CRUD Interaction Contract (ADMIN-UI-FOUNDATION-005).
   Page identity/actions live here; list search/filter/refresh/result metadata remain
   owned by the accepted operational toolbar contract above. */
.admin-shell .erp-content.admin-page-command-layout .erp-main {
    padding-block-start: 0;
}

.admin-body .admin-page-command-layout .admin-page-title {
    font-size: var(--admin-font-size-card-title, .98rem);
    line-height: 1.2;
}

.admin-page-command-layout .admin-page-context {
    font-size: var(--admin-font-size-help, .75rem);
    line-height: 1.35;
}

@media (min-width: 48rem) {
    .admin-shell .erp-content.admin-page-command-layout .erp-topbar {
        min-height: 2.5rem;
        padding-block: .2rem;
        border-block-end: 0;
        background: var(--admin-color-page-background, var(--bg, #f8fafc));
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .admin-shell .erp-content.admin-page-command-layout .erp-topbar .hamburger-btn {
        display: none;
    }

    .admin-shell .erp-content.admin-page-command-layout .erp-topbar :where(.btn, button, .logout-btn, .form-select) {
        min-height: 2rem;
    }

    .admin-shell .erp-content.admin-page-command-layout .erp-topbar :where(.btn, button, .logout-btn) {
        padding-block: .2rem;
    }

    .admin-page-command-layout .admin-topbar-actions {
        flex-wrap: nowrap;
        gap: var(--admin-space-2);
        padding-inline-start: var(--admin-space-3);
        border-inline-start: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
    }

    .admin-page-command-layout .admin-topbar-actions :where(a, button, .erp-user, .form-select) {
        white-space: nowrap;
    }

    .admin-page-command-layout :is(.admin-page-command-bar) {
        margin-block-end: var(--admin-space-1);
        padding-block: 0 var(--admin-space-1);
    }

    .admin-page-command-layout .admin-page-command-identity {
        flex-wrap: nowrap;
    }

    .admin-page-command-layout .admin-page-title-line {
        flex: 0 0 auto;
        flex-wrap: nowrap;
    }

    .admin-page-command-layout .admin-page-context {
        overflow: hidden;
        flex: 1 1 auto;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-page-command-layout .admin-page-command-actions {
        flex-wrap: nowrap;
    }

    .admin-page-command-layout .admin-page-command-actions :where(a, button, .btn, .btn-momken) {
        min-height: 2rem;
    }
}

.admin-page-command-bar {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-start;
    gap: var(--admin-space-3);
    margin-block-end: var(--admin-space-2);
    padding-block: var(--admin-space-1) var(--admin-space-2);
    padding-inline: 0;
    border: 0;
    border-block-end: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.admin-page-command-identity {
    display: flex;
    min-width: 0;
    align-items: baseline;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: var(--admin-space-1) var(--admin-space-2);
}

.admin-page-title-line,
.admin-page-command-actions {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--admin-space-2);
}

.admin-page-title {
    margin: 0;
    color: var(--admin-color-primary-strong, var(--primary-dark, #0b4f83));
    font-size: var(--admin-font-size-section, 1rem);
    font-weight: 800;
    line-height: 1.3;
}

.admin-page-context {
    min-width: 0;
    max-width: 64ch;
    margin: 0;
    color: var(--admin-color-text-muted, var(--muted, #64748b));
    font-size: var(--admin-font-size-small, .8125rem);
    line-height: 1.4;
}

.admin-page-metadata {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding-inline: var(--admin-space-2);
    border-radius: 999px;
    background: var(--admin-color-surface-subtle, #f8fafc);
    color: var(--admin-color-text-muted, #64748b);
    font-size: var(--admin-font-size-small, .8125rem);
    font-weight: 700;
}

.admin-page-command-actions {
    flex: 0 0 auto;
    justify-content: flex-start;
    direction: rtl;
}

.admin-page-command-actions :where(a, button, .btn, .btn-momken) {
    inline-size: max-content;
    max-inline-size: 100%;
    min-height: 2.25rem;
    padding-block: .3rem;
    padding-inline: .65rem;
    align-items: center;
    justify-content: center;
}

.admin-action-content,
.admin-page-overflow-action {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    flex-direction: row;
    gap: var(--admin-space-1);
    direction: rtl;
}

.admin-action-icon {
    display: inline-flex;
    inline-size: 1.1em;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.admin-page-icon-action,
.admin-action-control--icon-only {
    min-inline-size: 2.25rem;
    padding-inline: .5rem !important;
}

.admin-page-more { position: relative; }

.admin-page-more .dropdown-menu {
    min-inline-size: 12rem;
    padding: var(--admin-space-1);
    text-align: start;
    direction: rtl;
}

.admin-page-overflow-action {
    inline-size: 100%;
    justify-content: flex-start;
    padding-block: .45rem;
    padding-inline: .65rem;
    border-radius: var(--admin-radius-xs);
    font-size: var(--admin-font-size-button);
    font-weight: 700;
}

.admin-page-command-bar + [data-admin-operation-workspace] [data-admin-operation-toolbar],
.admin-page-command-bar + [data-admin-operation-workspace] [data-admin-table-toolbar] {
    margin-block-start: 0;
}

[data-admin-operation-toolbar] .admin-action-control {
    inline-size: max-content;
    max-inline-size: 100%;
}

@media (min-width: 48rem) {
    .admin-page-icon-action .admin-action-label--responsive,
    [data-admin-operation-toolbar] .admin-action-control--icon-only .admin-action-label {
        position: absolute !important;
        inline-size: 1px !important;
        block-size: 1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        clip-path: inset(50%) !important;
    }
}

.admin-collapsible-editor {
    max-height: none;
    margin-block-end: var(--admin-space-3);
    overflow: visible;
}

.admin-collapsible-editor-surface {
    padding: var(--admin-card-padding, 1rem);
    border: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
    border-radius: var(--admin-radius-lg, 1rem);
    background: var(--admin-color-surface, var(--surface, #fff));
    box-shadow: var(--admin-shadow-sm, 0 2px 8px rgba(15, 23, 42, .05));
}

.admin-collapsible-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--admin-space-3);
    margin-block-end: var(--admin-space-3);
}

.admin-collapsible-editor-header h2 {
    margin: 0;
    color: var(--admin-color-primary-strong, var(--primary-dark, #0b4f83));
    font-size: var(--admin-font-size-section, 1rem);
    font-weight: 800;
}

.admin-collapsible-editor-body,
.admin-collapsible-editor-body > .admin-operation-editor {
    min-width: 0;
    max-height: none;
    overflow: visible;
}

.admin-collapsible-editor .momken-form-card { margin-block-end: var(--admin-space-3); }
.admin-collapsible-editor .momken-form-actions { margin-block-end: 0; }

.admin-context-panel {
    --bs-offcanvas-width: min(27rem, 92vw);
    color: var(--admin-color-text, var(--text, #0f172a));
    background: var(--admin-color-surface, var(--surface, #fff));
}

.admin-context-panel-header {
    border-block-end: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
}

.admin-context-panel-header .offcanvas-title {
    color: var(--admin-color-primary-strong, var(--primary-dark, #0b4f83));
    font-size: var(--admin-font-size-section, 1rem);
    font-weight: 800;
}

.admin-context-panel-body {
    overflow-y: auto;
    line-height: 1.75;
}

.admin-context-panel-body li + li { margin-block-start: var(--admin-space-2); }

@media (max-width: 47.99875rem) {
    .admin-page-command-bar {
        align-items: stretch;
        flex-direction: column;
        gap: var(--admin-space-2);
        padding-block: 0 var(--admin-space-2);
    }

    .admin-page-command-actions {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .admin-page-command-actions :where(a, button, .btn, .btn-momken) {
        min-height: var(--admin-touch-target);
    }

    .admin-page-primary-action { flex: 0 1 auto; }
    .admin-collapsible-editor-surface { padding: var(--admin-space-3); }

    /* Canonical opt-in record presentation for evidence-backed heavy tables.
       The server still renders one semantic table and one row/action contract;
       only its small-screen visual formatting changes. */
    .admin-table-scroll.admin-table-scroll--adaptive-records {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        scrollbar-gutter: auto;
    }

    .admin-surface table.admin-adaptive-record-table,
    table.admin-adaptive-record-table {
        display: block;
        width: 100%;
        min-width: 0;
        border: 0;
        background: transparent;
    }

    .admin-adaptive-record-table thead {
        position: absolute;
        inline-size: 1px;
        block-size: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .admin-adaptive-record-table tbody {
        display: grid;
        gap: var(--admin-space-3);
    }

    .admin-adaptive-record-table tbody tr {
        display: block;
        min-width: 0;
        overflow: visible;
        border: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
        border-radius: var(--admin-radius-md, .75rem);
        background: var(--admin-color-surface-elevated, var(--surface, #fff));
        box-shadow: var(--admin-shadow-xs, 0 1px 2px rgba(15, 23, 42, .04));
    }

    .admin-adaptive-record-table tbody tr[hidden] { display: none; }

    .admin-adaptive-record-table tbody td {
        display: grid;
        grid-template-columns: minmax(6.75rem, .8fr) minmax(0, 1.2fr);
        align-items: start;
        gap: var(--admin-space-3);
        min-width: 0;
        padding: .65rem .75rem;
        border: 0;
        border-block-end: 1px solid var(--admin-color-border, var(--border, #e2e8f0));
        text-align: start;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .admin-adaptive-record-table tbody td::before {
        content: attr(data-admin-label);
        direction: rtl;
        color: var(--admin-color-text-muted, var(--muted, #64748b));
        font-size: var(--admin-font-size-label, .78rem);
        font-weight: 800;
        line-height: 1.5;
        text-align: start;
        unicode-bidi: isolate;
    }

    .admin-adaptive-record-table tbody td:last-child { border-block-end: 0; }

    .admin-adaptive-record-table tbody td[data-admin-row-actions] {
        align-items: center;
    }

    .admin-adaptive-record-table tbody td[data-admin-row-actions] .admin-row-action-more {
        justify-self: start;
    }

    .admin-adaptive-record-table tbody tr.admin-adaptive-record-table-empty td {
        display: block;
        border-block-end: 0;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .admin-collapsible-editor.collapsing,
    .admin-context-panel,
    .admin-context-panel-backdrop { transition-duration: .01ms !important; }
}

@media print {
    .admin-page-command-bar,
    .admin-collapsible-editor,
    .admin-context-panel,
    .admin-page-more,
    .admin-row-action-more,
    .offcanvas-backdrop { display: none !important; }
}

/* Shared searchable entity selector. The native select remains the submitted
   ID contract; this layer owns only bounded search and accessible presentation. */
.admin-entity-selector {
    position: relative;
    min-width: 0;
    width: 100%;
}

.admin-entity-selector__native {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.admin-entity-selector__input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}

.admin-surface .admin-entity-selector__input {
    min-width: 0;
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}

.admin-surface .admin-entity-selector__clear {
    min-width: var(--admin-control-height);
    min-height: var(--admin-control-height);
    padding: 0 .65rem;
    border: 1px solid var(--admin-color-input-border, var(--border, #cbd5e1));
    border-inline-start: 0;
    border-radius: var(--admin-radius-sm);
    border-start-start-radius: 0;
    border-end-start-radius: 0;
    background: var(--admin-color-surface-subtle, #f8fafc);
    color: var(--admin-color-text-muted, #64748b);
    font-size: 1.1rem;
    line-height: 1;
}

.admin-entity-selector__status {
    min-height: 1.35rem;
    padding-block-start: .15rem;
    color: var(--admin-color-text-muted, #64748b);
    font-size: var(--admin-font-size-help);
    line-height: 1.4;
}

.admin-entity-selector__status[data-state="error"] { color: var(--danger, #b42318); }

.admin-entity-selector__popup {
    position: absolute;
    inset-block-start: calc(var(--admin-control-height) + 1.45rem);
    inset-inline: 0;
    z-index: var(--admin-layer-dialog);
    max-height: min(20rem, 55vh);
    overflow-y: auto;
    border: 1px solid var(--admin-color-border, #cbd5e1);
    border-radius: var(--admin-radius-sm);
    background: var(--admin-color-surface-elevated, #fff);
    box-shadow: 0 .75rem 1.75rem rgba(15, 23, 42, .16);
}

.admin-entity-selector__popup[hidden] { display: none; }

.admin-entity-selector__list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: .25rem;
    list-style: none;
}

.admin-entity-selector__option,
.admin-entity-selector__message {
    padding: .55rem .65rem;
    border-radius: var(--admin-radius-xs);
    overflow-wrap: anywhere;
    text-align: start;
}

.admin-entity-selector__option { cursor: pointer; }

.admin-entity-selector__option:is(:hover, .is-active, [aria-selected="true"]) {
    background: var(--admin-color-primary-soft, #eaf2f8);
    color: var(--admin-color-primary, #0b4f83);
}

.admin-entity-selector__message { color: var(--admin-color-text-muted, #64748b); }
.admin-entity-selector__message.is-error { color: var(--danger, #b42318); }

.admin-surface .admin-entity-selector__more {
    width: calc(100% - .5rem);
    min-height: 2.25rem;
    margin: 0 .25rem .25rem;
    border: 1px solid var(--admin-color-border, #cbd5e1);
    border-radius: var(--admin-radius-xs);
    background: var(--admin-color-surface-subtle, #f8fafc);
    color: var(--admin-color-primary, #0b4f83);
}

@media (max-width: 47.99875rem) {
    .admin-entity-selector__popup { max-height: min(18rem, 48vh); }
}

@media print {
    .admin-entity-selector__popup,
    .admin-entity-selector__clear,
    .admin-entity-selector__status { display: none !important; }
}

/* Canonical financial-statement presentation. The two financial read models
   remain independent; only their page/header/filter/summary/table shell is shared. */
.admin-statement-page {
    direction: rtl;
    min-width: 0;
    max-width: 100%;
    color: var(--admin-color-text, #102033);
    font-family: var(--admin-font-family);
    font-size: var(--admin-font-size-body);
    line-height: var(--admin-line-height-body);
}

.admin-statement-page > *,
.admin-statement-header,
.admin-statement-filter-card,
.admin-statement-panel,
.admin-statement-page :where(.table-responsive, .admin-table-scroll) {
    min-width: 0;
    max-width: 100%;
}

.admin-statement-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--admin-space-3);
    margin-block-end: .625rem;
}

.admin-statement-heading {
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.admin-statement-title {
    margin: 0;
    color: var(--admin-color-text-primary, #0f172a);
    font-size: var(--admin-font-size-page-title);
    font-weight: 800;
    line-height: var(--admin-line-height-heading);
}

.admin-statement-period-text {
    color: var(--admin-color-text-secondary, #475569);
    font-size: var(--admin-font-size-secondary);
    font-weight: 700;
    line-height: var(--admin-line-height-body);
}

.admin-statement-panel,
.admin-statement-filter-card {
    border: 1px solid var(--admin-color-border, var(--border, #cbd5e1));
    border-radius: var(--admin-radius-md);
    background: var(--admin-color-surface-elevated, var(--surface, #fff));
    box-shadow: var(--admin-shadow-sm);
}

.admin-statement-filter-card {
    margin-block-end: .75rem;
    padding: .75rem;
}

.admin-statement-filter-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: end;
    gap: .625rem;
    min-width: 0;
}

.admin-statement-filter-field {
    display: grid;
    align-content: end;
    gap: .3rem;
    min-width: 0;
}

.admin-statement-account-field { grid-column: span 5; }
.admin-statement-display-field { grid-column: span 2; }
.admin-statement-period-preset { grid-column: span 3; }
.admin-statement-filter-actions { grid-column: span 2; }
.admin-statement-filter-grid--without-display .admin-statement-account-field { grid-column: span 7; }

.admin-statement-filter-field > label,
.admin-statement-period label {
    min-height: calc(var(--admin-font-size-label) * var(--admin-line-height-label));
    margin: 0;
    color: var(--admin-color-text-secondary, #334155);
    font-size: var(--admin-font-size-label);
    font-weight: 700;
    line-height: var(--admin-line-height-label);
}

.admin-statement-filter-field :where(.form-control, .form-select),
.admin-statement-filter-field .admin-entity-selector__control {
    min-height: var(--admin-control-height);
}

.admin-statement-period {
    display: contents;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.admin-statement-custom-dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(8.5rem, 1fr));
    grid-column: span 6;
    gap: .625rem;
    min-width: 0;
}

.admin-statement-custom-dates[hidden] { display: none; }

.admin-statement-action-buttons,
.admin-statement-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.admin-statement-filter-actions .admin-statement-action-buttons {
    flex-wrap: nowrap;
}

.admin-statement-secondary-actions {
    grid-column: 1 / -1;
}

.admin-statement-filter-actions :where(.btn, .btn-momken),
.admin-statement-secondary-actions :where(.btn, .btn-momken) {
    min-width: 5.5rem;
    min-height: var(--admin-control-height);
    padding-inline: .75rem;
    white-space: nowrap;
}

.admin-statement-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: .625rem;
    margin-block-end: .875rem;
}

.admin-statement-summary-item {
    display: grid;
    grid-template-rows: auto 1fr;
    align-content: space-between;
    min-width: 0;
    min-height: 5.5rem;
    padding: .75rem;
    border: 1px solid var(--admin-color-border, #dbe5ef);
    border-radius: var(--admin-radius-md);
    background: linear-gradient(180deg, var(--admin-color-surface-elevated, #fff), var(--admin-color-surface-subtle, #f8fafc));
}

.admin-statement-summary-label {
    min-height: 2.25em;
    margin-block-end: .35rem;
    color: var(--admin-color-text-secondary, #64748b);
    font-size: var(--admin-font-size-secondary);
    font-weight: 800;
    line-height: 1.35;
}

.admin-statement-summary-value {
    align-self: end;
    color: var(--admin-color-text-primary, #0f172a);
    direction: ltr;
    font-family: var(--admin-font-family-numeric);
    font-size: clamp(1rem, 1.5vw, var(--admin-font-size-metric));
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
    text-align: end;
}

.admin-statement-summary-value--debit { color: var(--admin-color-success, #047857); }
.admin-statement-summary-value--credit { color: var(--admin-color-danger, #b91c1c); }
.admin-statement-summary-item--success { border-color: var(--admin-color-success-border, #86efac); background: var(--admin-color-success-background, #ecfdf5); }
.admin-statement-summary-item--warning { border-color: var(--admin-color-warning-border, #facc15); background: var(--admin-color-warning-background, #fffbeb); }

.admin-statement-account-context {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    margin-block-end: .625rem;
    padding: .625rem .75rem;
    border: 1px solid var(--admin-color-border, #dbe5ef);
    border-radius: var(--admin-radius-md);
    background: var(--admin-color-surface-subtle, #f8fafc);
}

.admin-statement-account-context__identity { display: grid; gap: .15rem; min-width: 0; }
.admin-statement-account-context__identity strong { color: var(--admin-color-text-primary, #0f172a); font-size: var(--admin-font-size-card-title); }
.admin-statement-account-context__meta { color: var(--admin-color-text-secondary, #64748b); font-size: var(--admin-font-size-secondary); overflow-wrap: anywhere; }
.admin-statement-account-context__badges { display: flex; flex-wrap: wrap; gap: .35rem; }
.admin-statement-account-context__badges .badge { background: var(--admin-color-primary-soft, #eef4fa); color: var(--admin-color-primary, #0b4f83); }

.admin-statement-table-panel {
    padding: 0;
    overflow: hidden;
}

.admin-statement-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    padding: .7rem .85rem;
    border-block-end: 1px solid var(--admin-color-border, #dbe5ef);
    background: var(--admin-color-surface-subtle, #f8fafc);
}

.admin-statement-table-toolbar strong {
    color: var(--admin-color-text-primary, #0f172a);
    font-size: var(--admin-font-size-section-title);
    line-height: var(--admin-line-height-heading);
}

.admin-statement-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
}

.admin-statement-table {
    width: 100%;
    min-width: 48rem;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.admin-statement-table thead th {
    padding: .65rem .6rem;
    border: 0;
    border-block-end: 1px solid var(--admin-color-primary-hover, #123d5f);
    background: var(--admin-color-primary-dark, #0f2f4a);
    color: var(--admin-color-text-inverse, #fff);
    font-size: var(--admin-font-size-table-header);
    font-weight: 900;
    line-height: var(--admin-line-height-table);
    white-space: nowrap;
}

.admin-statement-table tbody td {
    padding: .6rem;
    border-color: var(--admin-color-border-subtle, #e2e8f0);
    color: var(--admin-color-text, #1e293b);
    font-size: var(--admin-font-size-table);
    line-height: var(--admin-line-height-table);
    vertical-align: middle;
}

.admin-statement-table tbody tr:nth-child(even) td { background: var(--admin-color-surface-subtle, #f8fafc); }
.admin-statement-table tbody tr:hover td { background: var(--admin-color-interaction-accent-soft, #ecfdf5); }

.admin-statement-money {
    direction: ltr;
    font-family: var(--admin-font-family-numeric);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    text-align: end;
    white-space: nowrap;
}

.admin-statement-money--debit { color: var(--admin-color-success, #047857); }
.admin-statement-money--credit { color: var(--admin-color-danger, #b91c1c); }

.admin-statement-empty {
    padding: 1.5rem 1rem !important;
    color: var(--admin-color-text-secondary, #64748b) !important;
    font-weight: 700;
    text-align: center !important;
}

.admin-statement-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-block-start: .75rem;
}

.admin-statement-pagination__info { color: var(--admin-color-text-secondary, #64748b); font-size: var(--admin-font-size-secondary); }

@media (max-width: 61.99875rem) {
    .admin-statement-account-field { grid-column: 1 / -1; }
    .admin-statement-display-field { grid-column: span 4; }
    .admin-statement-period-preset { grid-column: span 4; }
    .admin-statement-filter-actions { grid-column: span 4; }
    .admin-statement-filter-grid--without-display .admin-statement-period-preset { grid-column: span 8; }
    .admin-statement-custom-dates { grid-column: span 8; }
    .admin-statement-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 47.99875rem) {
    .admin-statement-filter-card { padding: .625rem; }
    .admin-statement-account-field,
    .admin-statement-display-field,
    .admin-statement-period-preset,
    .admin-statement-filter-actions,
    .admin-statement-custom-dates { grid-column: 1 / -1; }
    .admin-statement-custom-dates { grid-template-columns: 1fr; }
    .admin-statement-filter-actions .admin-statement-action-buttons { flex-wrap: wrap; }
    .admin-statement-filter-actions :where(.btn, .btn-momken) { flex: 1 1 calc(50% - .25rem); min-height: var(--admin-touch-target); }
    .admin-statement-summary { grid-template-columns: minmax(0, 1fr); }
    .admin-statement-summary-item { min-height: 4.75rem; }
    .admin-statement-table-toolbar { align-items: flex-start; flex-direction: column; }
}

/* Control Plane owns no page-late stylesheet. These render-blocking foundation
   rules are available before the first content paint on cached and uncached loads. */
.cp-page { display: grid; min-width: 0; gap: var(--admin-section-gap); font-variant-numeric: tabular-nums; }
.cp-page > *, .cp-panel > *, .cp-page details { min-width: 0; max-width: 100%; }
.cp-toolbar, .cp-panel { border: 1px solid var(--admin-color-border, #dbe3ec); border-radius: var(--admin-radius-md); background: var(--admin-color-surface, #fff); }
.cp-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--admin-space-3); padding: .6rem .8rem; }
.cp-context { display: flex; align-items: center; flex-wrap: wrap; min-width: 0; gap: .7rem; }
.cp-context span, .cp-note { color: var(--admin-color-text-muted, #64748b); overflow-wrap: anywhere; }
.cp-tabs { display: flex; max-width: 100%; gap: .35rem; overflow-x: auto; padding: .25rem; scrollbar-gutter: stable; }
.cp-tabs a { padding: .4rem .7rem; border: 1px solid var(--admin-color-border, #dbe3ec); border-radius: var(--admin-radius-sm); background: var(--admin-color-surface, #fff); text-decoration: none; white-space: nowrap; }
.cp-tabs a[aria-current="location"] { border-color: var(--admin-color-interaction-accent); background: var(--admin-color-interaction-selected); color: var(--admin-color-interaction-accent-pressed); box-shadow: inset 0 -3px var(--admin-color-interaction-accent); }
.cp-panel { padding: var(--admin-card-padding); overflow: visible; scroll-margin-top: calc(var(--admin-topbar-height) + 1rem); }
.cp-panel-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--admin-space-2); margin-block-end: .65rem; padding-block-end: .45rem; border-block-end: 1px solid var(--admin-color-border-subtle, #edf1f5); }
.cp-panel-title h2 { margin: 0; font-size: var(--admin-font-size-section-title); }
.cp-panel h3 { margin: .45rem 0; font-size: var(--admin-font-size-card-title); }
.cp-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); align-items: end; min-width: 0; gap: var(--admin-space-2); padding: .6rem; border: 1px solid var(--admin-color-border, #e6edf4); border-radius: var(--admin-radius-sm); background: var(--admin-color-surface-subtle, #f8fafc); }
.cp-form-inline { margin-block-end: .65rem; }
.cp-form > *, .cp-row-form > * { min-width: 0; max-width: 100%; }
.cp-form :where(input, select), .cp-row-form :where(input, select) { width: 100%; min-height: var(--admin-control-height); padding: var(--admin-control-padding-block) var(--admin-control-padding-inline); border: 1px solid var(--admin-color-input-border, #cbd5e1); border-radius: var(--admin-radius-sm); background: var(--admin-color-surface, #fff); }
.cp-row-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); align-items: end; width: min(100%, 52rem); min-width: 0; gap: var(--admin-space-2); }
.cp-table-wrap { min-width: 0; max-width: 100%; margin-block-end: .65rem; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.cp-table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: var(--admin-font-size-table); }
.cp-table :where(th, td) { padding: .45rem; border-block-end: 1px solid var(--admin-color-border-subtle, #edf1f5); text-align: start; vertical-align: middle; white-space: nowrap; }
.cp-table th { background: var(--admin-color-surface-subtle, #f8fafc); }
.cp-code { direction: ltr; unicode-bidi: isolate; font-family: var(--admin-font-family-numeric); font-variant-numeric: tabular-nums; text-align: start !important; }
.cp-wrap { min-width: min(11.25rem, 70vw); max-width: 26.25rem; overflow-wrap: anywhere; white-space: normal !important; }
.cp-two, .cp-three { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); min-width: 0; gap: .65rem; }
.cp-two > *, .cp-three > * { min-width: 0; }
.cp-metrics { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-end: .6rem; }
.cp-metrics span { min-width: 0; padding: .35rem .55rem; border-radius: var(--admin-radius-sm); background: var(--admin-color-primary-soft, #eef4fa); overflow-wrap: anywhere; }
.cp-pagination { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .4rem; }
.cp-page details { margin: .5rem 0; }
.cp-page summary { margin-block-end: .5rem; cursor: pointer; font-weight: 700; overflow-wrap: anywhere; }

@media (max-width: 47.99875rem) {
    .cp-context { align-items: flex-start; flex-direction: column; gap: .15rem; }
    .cp-panel { padding: .55rem; }
    .cp-form, .cp-row-form { grid-template-columns: minmax(0, 1fr); width: 100%; }
    .cp-page .btn { min-height: var(--admin-touch-target); }
    .cp-table { font-size: var(--admin-font-size-secondary); }
}

@media (prefers-reduced-motion: reduce) {
    .admin-body :where(a, button, summary, [role="tab"], [data-admin-interactive]) { transition-duration: .01ms; }
}

/* Modal wrappers keep forms and their action footers in one contained flow.
   Financial command forms retain their existing endpoints and server authority. */
.admin-operation-editor--simple-entry {
    width: min(100%, 58rem);
    max-width: 100%;
    margin-inline: auto;
}

.admin-operation-editor--simple-entry > form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--admin-space-3);
    min-width: 0;
}

@media (max-width: 47.99875rem) {
    .admin-operation-editor--simple-entry .momken-form-actions :where(.btn, .btn-momken) {
        flex: 1 1 100%;
        min-height: var(--admin-touch-target);
    }
}

/* Keep the established Latin-digit numeric face authoritative after legacy
   form/table rules that use the `font` shorthand. */
.admin-body .admin-surface :where(.admin-number, [data-admin-number], .amount, .money, .balance, .account-number, .momken-money, .momken-voucher-no, .kpi-value, .momken-summary-value, .admin-table-cell--reference, .admin-table-cell--date, time),
.admin-body .admin-surface :where(input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], input[inputmode="numeric"], input[inputmode="decimal"]),
.admin-body .admin-surface .momken-field :where(.admin-number, input[type="number"], input[inputmode="numeric"], input[inputmode="decimal"]) {
    direction: ltr;
    unicode-bidi: isolate;
    font-family: var(--admin-font-family-numeric);
    font-variant-numeric: tabular-nums;
}
