.admin-grid-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: nowrap;
}

.admin-grid-toolbar-left,
.admin-grid-toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.admin-grid-toolbar-right {
    margin-left: auto;
}

.admin-grid-toolbar .admin-grid-search {
    width: 260px;
    min-width: 200px;
}

.admin-grid-toolbar .admin-grid-search .e-input-group,
.admin-grid-toolbar .admin-grid-search .e-control-wrapper {
    width: 100%;
}

.admin-grid-inline-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding: 0 4px;
}

.admin-grid-toggle-label {
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    color: #e8edf4;
}

.admin-grid-switch.e-switch-wrapper {
    width: 52px;
    height: 28px;
}

.admin-grid-switch.e-switch-wrapper .e-switch-inner {
    border-radius: 999px;
    background: #4a5568;
    border: none;
    height: 28px;
}

.admin-grid-switch.e-switch-wrapper .e-switch-inner.e-switch-active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.admin-grid-switch.e-switch-wrapper .e-switch-handle {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.admin-grid-switch.e-switch-wrapper .e-switch-on,
.admin-grid-switch.e-switch-wrapper .e-switch-off {
    opacity: 0;
}

.admin-grid-columns-anchor {
    display: inline-flex;
}

.admin-grid-btn-columns.e-btn.e-outline {
    border-color: #6c757d;
    color: #adb5bd;
}

.admin-grid-btn-columns.e-btn.e-outline:hover {
    background-color: #6c757d;
    color: #fff;
}

.admin-grid.e-grid .e-row:hover .e-rowcell {
    background-color: rgba(0, 120, 212, 0.08);
}

.admin-grid .cell-invalid {
    box-shadow: inset 0 0 0 2px #d13438 !important;
}

.admin-grid.e-grid .e-rowcell.e-wrap {
    white-space: normal;
    line-height: 1.35;
}

.admin-grid.e-grid .e-rowcell.e-clip {
    white-space: nowrap;
}

.admin-grid-toolbar-left .e-btn.e-warning .e-btn-icon.e-text-wrap::before {
    content: "\e722";
}

.page-inline-error {
    padding: 16px;
    border: 1px solid #f5c2c7;
    border-radius: 8px;
    background: #f8d7da;
    color: #842029;
}

@media (max-width: 1200px) {
    .admin-grid-toolbar {
        overflow-x: auto;
        scrollbar-width: thin;
    }
}

.admin-grid-actions-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    flex-wrap: nowrap;
    min-width: 120px;
    width: 100%;
}

/* Fill viewport: toolbar at top, pager at bottom, grid body scrolls */
.layout-page-body:has(.admin-grid-page) {
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.page-panel.admin-grid-page {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.page-panel.admin-grid-page > .page-header,
.page-panel.admin-grid-page > .admin-grid-toolbar,
.page-panel.admin-grid-page > .companies-toolbar,
.page-panel.admin-grid-page > .line-numbers-toolbar {
    flex-shrink: 0;
}

.admin-grid-host {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.admin-grid-host .e-grid {
    height: 100% !important;
}

.admin-grid-host .e-grid .e-gridcontent {
    overflow-y: auto;
}

.e-grid .e-leftfreeze.e-freezeleftborder,
.e-grid .e-leftfreeze .e-headercell,
.e-grid .e-leftfreeze .e-rowcell {
    min-width: 140px !important;
}
