/* /Components/Layout/EmptyLayout.razor.rz.scp.css */
.empty-layout[b-dwhovrnyqn] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ef-bg);
}
/* /Components/Layout/Header.razor.rz.scp.css */
/* ── Header nav links ── *
   The nav row is the only piece of the header that's allowed to shrink, so
   when site-tabs accumulate past the viewport width it scrolls horizontally
   instead of pushing the user profile off the right edge. min-width: 0 +
   flex: 1 1 auto on the parent (.h-left) is what lets this overflow clip.
*/
.h-nav[b-c9brpz8wua] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-4);
    flex: 1 1 auto;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    /* Subtle scrollbar — visible enough to discover, thin enough not to
       eat vertical space inside the 48-px header. */
    scrollbar-width: thin;
    scrollbar-color: var(--nav-divider, rgba(255,255,255,0.25)) transparent;
}
.h-nav[b-c9brpz8wua]::-webkit-scrollbar { height: 4px; }
.h-nav[b-c9brpz8wua]::-webkit-scrollbar-track { background: transparent; }
.h-nav[b-c9brpz8wua]::-webkit-scrollbar-thumb {
    background: var(--nav-divider, rgba(255,255,255,0.25));
    border-radius: 2px;
}
.h-nav[b-c9brpz8wua]::-webkit-scrollbar-thumb:hover {
    background: var(--nav-text-active, rgba(255,255,255,0.4));
}

.h-nav-link[b-c9brpz8wua] {
    font-size: var(--ef-text-13);
    font-weight: 500;
    color: var(--nav-text, var(--ef-text-muted));
    text-decoration: none;
    padding: 4px 10px;
    border-radius: var(--ef-radius-6);
    transition: background 150ms, color 150ms;
    white-space: nowrap;
    /* Each link keeps its natural width; only .h-nav itself overflow-scrolls. */
    flex-shrink: 0;
}

.h-nav-link:hover[b-c9brpz8wua] {
    background: var(--nav-hover, rgba(255,255,255,0.1));
    color: var(--nav-text, var(--ef-text));
}

.h-nav-link.active[b-c9brpz8wua] {
    background: var(--nav-hover, rgba(255,255,255,0.15));
    color: var(--nav-text, var(--ef-text));
    font-weight: 600;
}

/* ── Nav dropdown ── */
.h-nav-dropdown[b-c9brpz8wua] {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.h-nav-dropdown .h-nav-link[b-c9brpz8wua] {
    display: flex;
    align-items: center;
    user-select: none;
}

.h-nav-dropdown-menu[b-c9brpz8wua] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    box-shadow: var(--ef-shadow-3);
    min-width: 210px;
    z-index: 200;
    padding: var(--ef-space-4) 0;
    white-space: nowrap;
}

.h-nav-dropdown-item[b-c9brpz8wua] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-8) var(--ef-space-16);
    font-size: var(--ef-text-13);
    color: var(--ef-text);
    cursor: pointer;
    transition: background var(--ef-transition-fast);
}

.h-nav-dropdown-item:hover[b-c9brpz8wua] {
    background: var(--ef-surface-alt);
}

/* ── Header divider ── */
.h-divider[b-c9brpz8wua] {
    width: 1px;
    height: 20px;
    background: var(--nav-divider, var(--ef-border));
    margin: 0 var(--ef-space-8);
    flex-shrink: 0;
}

/* ── Header center: spacer ── */
.h-center[b-c9brpz8wua] {
    flex: 1;
}

.h-cabinet-label[b-c9brpz8wua] {
    font-size: var(--ef-text-13);
    font-weight: 500;
    color: var(--nav-text);
    white-space: nowrap;
}

.h-cabinet-select[b-c9brpz8wua] {
    min-width: 200px;
}

/* ── Header right: User area ── */
.h-user[b-c9brpz8wua] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-4) var(--ef-space-8);
    border-radius: var(--ef-radius-6);
    cursor: pointer;
    transition: background 150ms;
    position: relative;
    color: var(--nav-text);
}

.h-user:hover[b-c9brpz8wua] {
    background: var(--nav-hover);
}

.h-user-name[b-c9brpz8wua] {
    font-size: var(--ef-text-13);
    font-weight: 600;
    color: var(--nav-text-active);
}

/* ── User dropdown menu ── */
.h-user-menu[b-c9brpz8wua] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    box-shadow: var(--ef-shadow-3);
    min-width: 200px;
    z-index: 200;
    padding: var(--ef-space-4) 0;
    white-space: nowrap;
}

.h-user-menu-item[b-c9brpz8wua] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-8) var(--ef-space-16);
    font-size: var(--ef-text-13);
    color: var(--ef-text);
    cursor: pointer;
    transition: background var(--ef-transition-fast);
    white-space: nowrap;
}

.h-user-menu-item:hover[b-c9brpz8wua] {
    background: var(--ef-surface-alt);
}

.h-user-menu-item.disabled[b-c9brpz8wua] {
    opacity: 0.45;
    cursor: default;
    pointer-events: none;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-root[b-qi80ch7hcp] {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.app-content[b-qi80ch7hcp] {
    flex: 1;
    display: flex;
    overflow: hidden;
}

.app-body[b-qi80ch7hcp] {
    flex: 1;
    overflow: hidden;
    position: relative;
    min-width: 0;
}

#sidebar-panel[b-qi80ch7hcp] {
    width: 200px;
    flex-shrink: 0;
    overflow: hidden;
}

#blazor-error-ui[b-qi80ch7hcp] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-qi80ch7hcp] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/MobileLayout.razor.rz.scp.css */
/* ===== Mobile Layout (phones, viewport < 768 px) =====
   Single-column stack. No sidebar, no splitter, no floating panels.
   Touch targets sized to >= 44 px per Apple HIG / WCAG 2.5.5.
   Body fills the viewport via vh so the document viewer can go full-bleed.
*/

.m-root[b-5zrkw5zpp1] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh; /* iOS Safari respects dvh; falls back to vh on older browsers */
    background: var(--ef-bg);
    color: var(--ef-text);
    font-family: var(--ef-font);
}

.m-topbar[b-5zrkw5zpp1] {
    flex-shrink: 0;
    height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    background: #1e3a8a; /* match nav bar darker variant — primary brand */
    color: #fff;
    box-shadow: var(--ef-shadow-1, 0 1px 3px rgba(0,0,0,0.12));
    z-index: 10;
}

.m-back[b-5zrkw5zpp1] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    background: transparent;
    color: #fff;
    cursor: pointer;
    border-radius: 8px;
    flex-shrink: 0;
}
.m-back:active[b-5zrkw5zpp1] {
    background: rgba(255,255,255,0.15);
}

.m-logo[b-5zrkw5zpp1] {
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.3px;
}

.m-title[b-5zrkw5zpp1] {
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-left: 4px;
}

.m-user[b-5zrkw5zpp1] {
    font-size: 12px;
    opacity: 0.85;
    padding: 4px 10px;
    background: rgba(255,255,255,0.12);
    border-radius: 99px;
}

.m-body[b-5zrkw5zpp1] {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
}

/* ===== Shared mobile primitives — usable by any page under /m/ =====
   Pages reach these via the global stylesheet (this file is scoped, but the
   .m-* classes are unique enough that the scope hash doesn't matter for
   layout-level reuse — child pages get their own scoped CSS for component
   internals).
*/

[b-5zrkw5zpp1] .m-page {
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

[b-5zrkw5zpp1] .m-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 12px 14px;
    background: var(--ef-surface, #fff);
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: 10px;
    cursor: pointer;
    transition: background 100ms;
    text-align: left;
}
[b-5zrkw5zpp1] .m-card:active {
    background: var(--ef-surface-2, #f3f4f6);
}
[b-5zrkw5zpp1] .m-card .m-card-main {
    flex: 1;
    min-width: 0;
}
[b-5zrkw5zpp1] .m-card .m-card-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--ef-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[b-5zrkw5zpp1] .m-card .m-card-sub {
    font-size: 12px;
    color: var(--ef-text-muted);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
[b-5zrkw5zpp1] .m-card .m-chev {
    color: var(--ef-text-muted);
    flex-shrink: 0;
}

[b-5zrkw5zpp1] .m-input {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    font-size: 16px; /* >= 16px so iOS Safari doesn't auto-zoom on focus */
    border: 1px solid var(--ef-border, #d1d5db);
    border-radius: 10px;
    background: #fff;
    outline: none;
    box-sizing: border-box;
}
[b-5zrkw5zpp1] .m-input:focus {
    border-color: var(--ef-color-primary, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

[b-5zrkw5zpp1] .m-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 10px;
    background: var(--ef-color-primary, #2563eb);
    color: #fff;
    cursor: pointer;
}
[b-5zrkw5zpp1] .m-btn:active {
    background: #1d4ed8;
}
[b-5zrkw5zpp1] .m-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

[b-5zrkw5zpp1] .m-empty {
    text-align: center;
    padding: 48px 16px;
    color: var(--ef-text-muted);
    font-size: 14px;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-7t8jyccqcy] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-7t8jyccqcy] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-7t8jyccqcy] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-7t8jyccqcy] {
    font-size: 1.1rem;
}

.bi[b-7t8jyccqcy] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-7t8jyccqcy] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-7t8jyccqcy] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-7t8jyccqcy] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-7t8jyccqcy] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-7t8jyccqcy] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-7t8jyccqcy] {
        padding-bottom: 1rem;
    }

    .nav-item[b-7t8jyccqcy]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-7t8jyccqcy]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-7t8jyccqcy]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-7t8jyccqcy] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-7t8jyccqcy] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-7t8jyccqcy] {
        display: none;
    }

    .nav-scrollable[b-7t8jyccqcy] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/PopupLayout.razor.rz.scp.css */
.popup-layout[b-4pjncog20g] {
    height: 100%;
    overflow-y: auto;
    background: var(--ef-bg, #f9fafb);
    display: flex;
    flex-direction: column;
}
/* /Components/Layout/Sidebar.razor.rz.scp.css */
/* Sidebar: cabinets scroll, recents pinned bottom */

[b-czze860jhg] .sidebar {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

[b-czze860jhg] .sidebar-cabinets {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

[b-czze860jhg] .sidebar-recents {
    flex-shrink: 0;
    border-top: 1px solid var(--nav-divider, var(--ef-border));
    max-height: 200px;
    overflow: hidden;
}

[b-czze860jhg] .recents-list {
    max-height: 160px;
    overflow-y: auto;
    overflow-x: hidden;
}

[b-czze860jhg] .ni-inactive {
    opacity: .5;
}

/* Colored filled folder icons */
[b-czze860jhg] .ni svg.folder-icon {
    color: #60a5fa;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}
[b-czze860jhg] .ni:hover svg.folder-icon {
    color: #3b82f6;
}
[b-czze860jhg] .ni.active svg.folder-icon {
    color: #2563eb;
    filter: drop-shadow(0 1px 3px rgba(59, 130, 246, 0.35));
}
/* /Components/Pages/Admin/AdminDashboard.razor.rz.scp.css */
.ad-page[b-lz7z7arn3g] {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background: #f4f6f9;
    font-family: "Segoe UI", sans-serif;
    font-size: 13px;
}

/* Toolbar */
.ad-toolbar[b-lz7z7arn3g] {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.ad-brand[b-lz7z7arn3g] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}
.ad-toolbar-right[b-lz7z7arn3g] { display: flex; gap: 8px; align-items: center; }
.ad-refresh-btn[b-lz7z7arn3g] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    font-size: 13px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    color: #333;
}
.ad-refresh-btn:hover:not(:disabled)[b-lz7z7arn3g] { background: #f0f0f0; }
.ad-refresh-btn:disabled[b-lz7z7arn3g] { opacity: 0.5; cursor: default; }

/* Body */
.ad-body[b-lz7z7arn3g] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ad-section-title[b-lz7z7arn3g] {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #888;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
}
.ad-section-link[b-lz7z7arn3g] {
    font-size: 12px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    color: #3680bf;
    text-decoration: none;
    cursor: pointer;
}
.ad-section-link:hover[b-lz7z7arn3g] { text-decoration: underline; }

/* Cards */
.ad-cards[b-lz7z7arn3g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
}
.ad-cards-sm[b-lz7z7arn3g] {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.ad-card[b-lz7z7arn3g] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.ad-card-ok[b-lz7z7arn3g]   { border-left: 3px solid #28a745; }
.ad-card-warn[b-lz7z7arn3g] { border-left: 3px solid #ffc107; }

.ad-card-icon[b-lz7z7arn3g] {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e9ecef;
    color: #555;
    flex-shrink: 0;
}
.ad-icon-blue[b-lz7z7arn3g]   { background: #dbeafe; color: #1d4ed8; }
.ad-icon-green[b-lz7z7arn3g]  { background: #d1fae5; color: #065f46; }
.ad-icon-warn[b-lz7z7arn3g]   { background: #fef3c7; color: #92400e; }
.ad-icon-purple[b-lz7z7arn3g] { background: #ede9fe; color: #6d28d9; }

.ad-card-body[b-lz7z7arn3g] { flex: 1; }
.ad-card-label[b-lz7z7arn3g] { font-size: 12px; color: #777; }
.ad-card-value[b-lz7z7arn3g] { font-size: 22px; font-weight: 700; color: #222; line-height: 1.2; }
.ad-card-sub[b-lz7z7arn3g]   { font-size: 11px; color: #999; margin-top: 2px; }

/* Mini cards */
.ad-mini-card[b-lz7z7arn3g] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 16px;
}
.ad-mini-label[b-lz7z7arn3g] { font-size: 11px; color: #888; margin-bottom: 4px; }
.ad-mini-value[b-lz7z7arn3g] { font-size: 20px; font-weight: 700; color: #222; }
.ad-val-blue[b-lz7z7arn3g]   { color: #1d4ed8; }
.ad-val-green[b-lz7z7arn3g]  { color: #065f46; }
.ad-val-red[b-lz7z7arn3g]    { color: #c0392b; }

/* Table */
.ad-table-wrap[b-lz7z7arn3g] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: clip;
}
.ad-loading[b-lz7z7arn3g] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 36px;
    color: #999;
}
.ad-table[b-lz7z7arn3g] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.ad-table thead th[b-lz7z7arn3g] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    color: #495057;
    white-space: nowrap;
}
.ad-table tbody tr[b-lz7z7arn3g] { border-bottom: 1px solid #eee; }
.ad-table tbody tr:last-child[b-lz7z7arn3g] { border-bottom: none; }
.ad-table tbody tr:hover[b-lz7z7arn3g] { background: #fafbfc; }
.ad-table tbody td[b-lz7z7arn3g] { padding: 9px 14px; color: #333; vertical-align: middle; }
.ad-row-warn[b-lz7z7arn3g] { background: #fffdf0 !important; }
.ad-num[b-lz7z7arn3g]  { text-align: right; font-variant-numeric: tabular-nums; }
.ad-cov[b-lz7z7arn3g]  { min-width: 160px; }
.ad-date[b-lz7z7arn3g] { font-size: 12px; color: #666; white-space: nowrap; }
.ad-fail[b-lz7z7arn3g] { color: #c0392b; font-weight: 600; }
.ad-empty[b-lz7z7arn3g] { text-align: center; padding: 36px !important; color: #999; }
.ad-cab-label[b-lz7z7arn3g] { display: block; font-weight: 500; color: #222; }
.ad-cab-name[b-lz7z7arn3g]  { display: block; font-size: 11px; color: #999; margin-top: 1px; }

.ad-progress[b-lz7z7arn3g] { display: flex; align-items: center; gap: 8px; }
.ad-progress-bar[b-lz7z7arn3g] { flex: 1; height: 6px; background: #e9ecef; border-radius: 3px; overflow: hidden; max-width: 100px; }
.ad-progress-fill[b-lz7z7arn3g] { height: 100%; border-radius: 3px; }
.ad-fill-full[b-lz7z7arn3g] { background: #28a745; }
.ad-fill-high[b-lz7z7arn3g] { background: #5cb85c; }
.ad-fill-mid[b-lz7z7arn3g]  { background: #f0ad4e; }
.ad-fill-low[b-lz7z7arn3g]  { background: #d9534f; }
.ad-pct[b-lz7z7arn3g] { font-size: 12px; color: #555; white-space: nowrap; min-width: 36px; }
.ad-badge-none[b-lz7z7arn3g] { background: #e2e3e5; color: #555; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; }

/* Quick links */
.ad-links[b-lz7z7arn3g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}
.ad-link-card[b-lz7z7arn3g] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    transition: border-color 150ms, box-shadow 150ms;
    color: #555;
}
.ad-link-card:hover[b-lz7z7arn3g] { border-color: #3680bf; box-shadow: 0 2px 8px rgba(54,128,191,0.12); color: #1d4ed8; }
.ad-link-title[b-lz7z7arn3g] { font-size: 13px; font-weight: 600; color: #222; margin-bottom: 2px; }
.ad-link-sub[b-lz7z7arn3g]   { font-size: 12px; color: #888; }
.ad-link-card:hover .ad-link-title[b-lz7z7arn3g] { color: #1d4ed8; }

@keyframes spin-b-lz7z7arn3g { to { transform: rotate(360deg); } }
.spin[b-lz7z7arn3g] { animation: spin-b-lz7z7arn3g 0.8s linear infinite; }
/* /Components/Pages/Admin/AdminSettings.razor.rz.scp.css */
.as-page[b-ayerkjvad5] { width: 100%; height: 100%; overflow-y: auto; background: #f4f6f9; font-family: "Segoe UI", sans-serif; font-size: 13px; }

.as-toolbar[b-ayerkjvad5] {
    background: #fff; border-bottom: 1px solid #ddd;
    padding: 8px 20px; display: flex; align-items: center; justify-content: space-between;
}
.as-back-btn[b-ayerkjvad5] {
    display: flex; align-items: center; gap: 5px; padding: 4px 10px;
    font-size: 13px; background: transparent; border: 1px solid #ddd;
    border-radius: 4px; cursor: pointer; color: #666;
}
.as-back-btn:hover[b-ayerkjvad5] { background: #f0f0f0; }
.as-toolbar-right[b-ayerkjvad5] { display: flex; gap: 8px; }
.as-refresh-btn[b-ayerkjvad5] {
    display: flex; align-items: center; gap: 5px; padding: 4px 10px;
    font-size: 13px; background: #fff; border: 1px solid #ccc; border-radius: 4px; cursor: pointer; color: #333;
}
.as-refresh-btn:hover:not(:disabled)[b-ayerkjvad5] { background: #f0f0f0; }
.as-refresh-btn:disabled[b-ayerkjvad5] { opacity: 0.5; cursor: default; }

.as-body[b-ayerkjvad5] { max-width: 900px; margin: 0 auto; padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.as-title[b-ayerkjvad5] { display: flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 600; color: #333; margin: 0 0 4px; }
.as-subtitle[b-ayerkjvad5] { font-size: 13px; color: #777; margin: 0; }
.as-subtitle code[b-ayerkjvad5] { background: #f0f0f0; padding: 1px 5px; border-radius: 3px; font-size: 12px; }

.as-loading[b-ayerkjvad5], .as-error[b-ayerkjvad5] {
    display: flex; align-items: center; justify-content: center;
    gap: 8px; padding: 48px; color: #999; font-size: 14px;
}
.as-error[b-ayerkjvad5] { color: #c0392b; }

.as-groups[b-ayerkjvad5] { display: flex; flex-direction: column; gap: 14px; }

.as-group[b-ayerkjvad5] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}
.as-group-title[b-ayerkjvad5] {
    padding: 10px 16px;
    background: #f8f9fa;
    border-bottom: 1px solid #e0e0e0;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #555;
}
.as-rows[b-ayerkjvad5] { display: flex; flex-direction: column; }
.as-row[b-ayerkjvad5] {
    display: grid;
    grid-template-columns: 220px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 9px 16px;
    border-bottom: 1px solid #f0f0f0;
}
.as-row:last-child[b-ayerkjvad5] { border-bottom: none; }
.as-key[b-ayerkjvad5] { font-weight: 500; color: #444; }
.as-val[b-ayerkjvad5] { color: #222; }
.as-val.as-mono[b-ayerkjvad5] { font-family: monospace; font-size: 12px; color: #555; }
.as-val-on[b-ayerkjvad5]  { color: #155724; font-weight: 600; }
.as-val-off[b-ayerkjvad5] { color: #888; }
.as-path[b-ayerkjvad5] { font-size: 11px; color: #aaa; background: #f5f5f5; padding: 1px 6px; border-radius: 3px; white-space: nowrap; }
.as-hint[b-ayerkjvad5] { grid-column: 1 / -1; font-size: 11px; color: #bbb; padding-top: 0; margin-top: -6px; }

@keyframes spin-b-ayerkjvad5 { to { transform: rotate(360deg); } }
.spin[b-ayerkjvad5] { animation: spin-b-ayerkjvad5 0.8s linear infinite; }
/* /Components/Pages/Admin/AskAuditLog.razor.rz.scp.css */
.aal-page[b-5vlv4m2rel] { width: 100%; height: 100%; overflow-y: auto; background: #f4f6f9; font-family: "Segoe UI", sans-serif; font-size: 13px; }

.aal-toolbar[b-5vlv4m2rel] {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.aal-back-btn[b-5vlv4m2rel] {
    display: flex; align-items: center; gap: 5px; padding: 4px 10px;
    font-size: 13px; background: transparent; border: 1px solid #ddd;
    border-radius: 4px; cursor: pointer; color: #666;
}
.aal-back-btn:hover[b-5vlv4m2rel] { background: #f0f0f0; }
.aal-toolbar-right[b-5vlv4m2rel] { display: flex; align-items: center; gap: 8px; }
.aal-refresh-btn[b-5vlv4m2rel] {
    display: flex; align-items: center; gap: 5px; padding: 4px 10px;
    font-size: 13px; background: #fff; border: 1px solid #ccc;
    border-radius: 4px; cursor: pointer; color: #333;
}
.aal-refresh-btn:hover:not(:disabled)[b-5vlv4m2rel] { background: #f0f0f0; }
.aal-refresh-btn:disabled[b-5vlv4m2rel] { opacity: 0.5; cursor: default; }
.aal-select[b-5vlv4m2rel] { font-size: 13px; padding: 4px 8px; border: 1px solid #ccc; border-radius: 4px; background: #fff; }

.aal-body[b-5vlv4m2rel] { max-width: 1300px; margin: 0 auto; padding: 20px; display: flex; flex-direction: column; gap: 14px; }

/* Summary cards */
.aal-cards[b-5vlv4m2rel] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.aal-card[b-5vlv4m2rel] { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 12px 16px; }
.aal-card-label[b-5vlv4m2rel] { font-size: 11px; color: #888; margin-bottom: 4px; }
.aal-card-value[b-5vlv4m2rel] { font-size: 20px; font-weight: 700; color: #222; }
.aal-pct[b-5vlv4m2rel] { font-size: 12px; color: #888; font-weight: 400; }
.aal-green[b-5vlv4m2rel] { color: #28a745; }
.aal-red[b-5vlv4m2rel]   { color: #c0392b; }

/* Filters */
.aal-filters[b-5vlv4m2rel] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.aal-search[b-5vlv4m2rel] { flex: 1; min-width: 220px; max-width: 400px; padding: 5px 10px; font-size: 13px; border: 1px solid #ccc; border-radius: 4px; }
.aal-count[b-5vlv4m2rel] { font-size: 12px; color: #888; margin-left: auto; }

/* Table */
.aal-table-wrap[b-5vlv4m2rel] { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: clip; }
.aal-loading[b-5vlv4m2rel] { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 48px; color: #999; }
.aal-table[b-5vlv4m2rel] { width: 100%; border-collapse: collapse; font-size: 13px; }
.aal-table thead th[b-5vlv4m2rel] {
    position: sticky; top: 0; z-index: 1;
    background: #f8f9fa; border-bottom: 2px solid #dee2e6;
    padding: 10px 12px; text-align: left; font-weight: 600; color: #495057; white-space: nowrap;
}
.aal-table tbody tr[b-5vlv4m2rel] { border-bottom: 1px solid #eee; }
.aal-table tbody tr:last-child[b-5vlv4m2rel] { border-bottom: none; }
.aal-table tbody tr:hover[b-5vlv4m2rel] { background: #f5f8ff; }
.aal-table tbody td[b-5vlv4m2rel] { padding: 9px 12px; color: #333; vertical-align: top; }
.aal-row-refused[b-5vlv4m2rel] { background: #fff8f8; }
.aal-num[b-5vlv4m2rel]  { text-align: right; font-variant-numeric: tabular-nums; }
.aal-date[b-5vlv4m2rel] { font-size: 12px; color: #666; white-space: nowrap; }
.aal-empty[b-5vlv4m2rel] { text-align: center; padding: 48px !important; color: #999; }
.aal-question[b-5vlv4m2rel] { max-width: 320px; }
.aal-user[b-5vlv4m2rel], .aal-cab[b-5vlv4m2rel] { white-space: nowrap; font-size: 12px; color: #555; }

.aal-badge[b-5vlv4m2rel] { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; }
.aal-badge-ok[b-5vlv4m2rel]  { background: #d4edda; color: #155724; }
.aal-badge-ref[b-5vlv4m2rel] { background: #f8d7da; color: #721c24; }

/* Pagination */
.aal-pager[b-5vlv4m2rel] { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 13px; color: #555; }
.aal-page-btn[b-5vlv4m2rel] { padding: 4px 12px; font-size: 13px; border: 1px solid #ccc; border-radius: 4px; background: #fff; cursor: pointer; }
.aal-page-btn:hover:not(:disabled)[b-5vlv4m2rel] { background: #f0f0f0; }
.aal-page-btn:disabled[b-5vlv4m2rel] { opacity: 0.4; cursor: default; }

/* Detail modal */
.aal-modal-backdrop[b-5vlv4m2rel] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.aal-modal[b-5vlv4m2rel] { background: #fff; border-radius: 8px; box-shadow: 0 8px 32px rgba(0,0,0,0.2); width: 100%; max-width: 560px; max-height: 80vh; display: flex; flex-direction: column; overflow: hidden; }
.aal-modal-header[b-5vlv4m2rel] { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid #e0e0e0; font-size: 14px; font-weight: 600; color: #333; }
.aal-modal-close[b-5vlv4m2rel] { background: none; border: none; font-size: 20px; cursor: pointer; color: #666; padding: 0 4px; }
.aal-modal-close:hover[b-5vlv4m2rel] { color: #333; }
.aal-modal-body[b-5vlv4m2rel] { overflow-y: auto; padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; }
.aal-detail-row[b-5vlv4m2rel] { display: grid; grid-template-columns: 130px 1fr; gap: 8px; font-size: 13px; }
.aal-detail-label[b-5vlv4m2rel] { font-weight: 600; color: #555; }

@keyframes spin-b-5vlv4m2rel { to { transform: rotate(360deg); } }
.spin[b-5vlv4m2rel] { animation: spin-b-5vlv4m2rel 0.8s linear infinite; }
/* /Components/Pages/Admin/UserManagement.razor.rz.scp.css */
.um-page[b-d5nfqi37xm] { width: 100%; height: 100%; overflow-y: auto; background: #f4f6f9; font-family: "Segoe UI", sans-serif; font-size: 13px; }

.um-toolbar[b-d5nfqi37xm] {
    background: #fff; border-bottom: 1px solid #ddd;
    padding: 8px 20px; display: flex; align-items: center; justify-content: space-between;
}
.um-back-btn[b-d5nfqi37xm] {
    display: flex; align-items: center; gap: 5px; padding: 4px 10px;
    font-size: 13px; background: transparent; border: 1px solid #ddd;
    border-radius: 4px; cursor: pointer; color: #666;
}
.um-back-btn:hover[b-d5nfqi37xm] { background: #f0f0f0; }
.um-toolbar-right[b-d5nfqi37xm] { display: flex; align-items: center; gap: 8px; }
.um-search[b-d5nfqi37xm] { padding: 5px 10px; font-size: 13px; border: 1px solid #ccc; border-radius: 4px; min-width: 220px; }
.um-refresh-btn[b-d5nfqi37xm] {
    display: flex; align-items: center; gap: 5px; padding: 4px 10px;
    font-size: 13px; background: #fff; border: 1px solid #ccc; border-radius: 4px; cursor: pointer; color: #333;
}
.um-refresh-btn:hover:not(:disabled)[b-d5nfqi37xm] { background: #f0f0f0; }
.um-refresh-btn:disabled[b-d5nfqi37xm] { opacity: 0.5; cursor: default; }

.um-body[b-d5nfqi37xm] { max-width: 960px; margin: 0 auto; padding: 20px; display: flex; flex-direction: column; gap: 14px; }

.um-header[b-d5nfqi37xm] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.um-title[b-d5nfqi37xm] { display: flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 600; color: #333; margin: 0 0 4px; }
.um-subtitle[b-d5nfqi37xm] { font-size: 13px; color: #777; margin: 0; }
.um-stats[b-d5nfqi37xm] { display: flex; gap: 8px; align-items: center; }
.um-stat[b-d5nfqi37xm] { padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; background: #e2e3e5; color: #383d41; }
.um-stat-admin[b-d5nfqi37xm] { background: #cce5ff; color: #004085; }

.um-banner[b-d5nfqi37xm] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; border-radius: 5px; font-size: 13px; border: 1px solid; gap: 10px;
}
.um-banner-ok[b-d5nfqi37xm]    { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.um-banner-error[b-d5nfqi37xm] { background: #f8d7da; color: #721c24; border-color: #f5c6cb; }
.um-banner-dismiss[b-d5nfqi37xm] { background: none; border: none; font-size: 16px; cursor: pointer; color: inherit; opacity: 0.6; }
.um-banner-dismiss:hover[b-d5nfqi37xm] { opacity: 1; }

.um-table-wrap[b-d5nfqi37xm] { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: clip; }
.um-loading[b-d5nfqi37xm] { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 48px; color: #999; }
.um-table[b-d5nfqi37xm] { width: 100%; border-collapse: collapse; font-size: 13px; }
.um-table thead th[b-d5nfqi37xm] {
    background: #f8f9fa; border-bottom: 2px solid #dee2e6;
    padding: 10px 14px; text-align: left; font-weight: 600; color: #495057;
}
.um-table tbody tr[b-d5nfqi37xm] { border-bottom: 1px solid #eee; }
.um-table tbody tr:last-child[b-d5nfqi37xm] { border-bottom: none; }
.um-table tbody tr:hover[b-d5nfqi37xm] { background: #fafbfc; }
.um-table tbody td[b-d5nfqi37xm] { padding: 10px 14px; color: #333; vertical-align: middle; }
.um-empty[b-d5nfqi37xm] { text-align: center; padding: 48px !important; color: #999; }
.um-actions-col[b-d5nfqi37xm] { width: 130px; }
.um-actions[b-d5nfqi37xm] { text-align: right; }

.um-avatar[b-d5nfqi37xm] {
    width: 34px; height: 34px; border-radius: 50%;
    background: #3680bf; color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700;
}
.um-name[b-d5nfqi37xm]   { display: block; font-weight: 500; color: #222; }
.um-userid[b-d5nfqi37xm] { display: block; font-size: 11px; color: #999; margin-top: 1px; }

.um-badge[b-d5nfqi37xm] { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; }
.um-badge-active[b-d5nfqi37xm]   { background: #d4edda; color: #155724; }
.um-badge-inactive[b-d5nfqi37xm] { background: #e2e3e5; color: #555; }
.um-badge-admin[b-d5nfqi37xm]    { background: #cce5ff; color: #004085; }
.um-badge-user[b-d5nfqi37xm]     { background: #f8f9fa; color: #888; }

.um-btn[b-d5nfqi37xm] { padding: 4px 12px; font-size: 12px; border-radius: 4px; cursor: pointer; border: 1px solid transparent; }
.um-btn:disabled[b-d5nfqi37xm] { opacity: 0.5; cursor: default; }
.um-btn-grant[b-d5nfqi37xm]  { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.um-btn-grant:hover:not(:disabled)[b-d5nfqi37xm]  { background: #b8dacc; }
.um-btn-revoke[b-d5nfqi37xm] { background: #f8d7da; color: #721c24; border-color: #f5c6cb; }
.um-btn-revoke:hover:not(:disabled)[b-d5nfqi37xm] { background: #f1b5ba; }

@keyframes spin-b-d5nfqi37xm { to { transform: rotate(360deg); } }
.spin[b-d5nfqi37xm] { animation: spin-b-d5nfqi37xm 0.8s linear infinite; }
/* /Components/Pages/Auth/Login.razor.rz.scp.css */
.login-page[b-s8rfnceqy0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: var(--ef-space-24);
    background: var(--ef-bg);
}

/* ── Card: two-column grid (proportions from login_page_variations.html) ── */
.login-card[b-s8rfnceqy0] {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    width: 100%;
    max-width: 1100px;
    min-height: 560px;
    background: var(--ef-surface);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* ── Left: Branding panel (CASO blue gradient from login_page_variations.html) ── */
.login-brand[b-s8rfnceqy0] {
    padding: 50px;
    background: linear-gradient(145deg, #0f1f3d, #1d4b84, #2f6fed);
    color: rgba(255, 255, 255, 0.85);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-brand-content[b-s8rfnceqy0] {
    text-align: left;
}

.login-brand-title[b-s8rfnceqy0] {
    font-size: 38px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 16px;
    line-height: 1.1;
}

.login-brand-subtitle[b-s8rfnceqy0] {
    font-size: var(--ef-text-14);
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 20px;
    line-height: 1.5;
}

.login-brand-chips[b-s8rfnceqy0] {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
}

.login-brand-chip[b-s8rfnceqy0] {
    display: inline-block;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    font-size: 13px;
    color: #ffffff;
    white-space: nowrap;
}

/* ── Right: Form area (padding + card width from login_page_variations.html) ── */
.login-form-area[b-s8rfnceqy0] {
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-form-card[b-s8rfnceqy0] {
    width: 100%;
    max-width: 360px;
}

.login-logo[b-s8rfnceqy0] {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
    margin: 0 auto 16px;
}

.login-title[b-s8rfnceqy0] {
    font-size: var(--ef-text-24);
    font-weight: 700;
    color: var(--ef-text);
    margin: 0 0 var(--ef-space-4);
}

.login-subtitle[b-s8rfnceqy0] {
    font-size: var(--ef-text-14);
    color: var(--ef-text-muted);
    margin: 0 0 var(--ef-space-24);
}

.login-fields[b-s8rfnceqy0] {
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-16, 16px);
}

.login-input[b-s8rfnceqy0] {
    width: 100%;
    height: var(--ef-btn-height-lg);
    font-size: var(--ef-text-14);
    background: var(--ef-input-bg);
    border-color: var(--ef-border);
}

.login-input:focus[b-s8rfnceqy0] {
    border-color: var(--ef-color-primary);
    box-shadow: 0 0 0 3px var(--ef-color-focus);
}

.login-error[b-s8rfnceqy0] {
    padding: var(--ef-space-12) var(--ef-space-16);
    background: var(--ef-red-bg);
    color: var(--ef-red);
    border-radius: var(--ef-radius-6);
    font-size: var(--ef-text-13);
    margin-bottom: var(--ef-space-16);
    border: 1px solid var(--ef-red-bg);
}

/* ── Remember me ── */
.login-remember[b-s8rfnceqy0] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    cursor: pointer;
    margin-top: var(--ef-space-16);
}

/* ── Sign In button ── */
.login-btn[b-s8rfnceqy0] {
    width: 100%;
    height: var(--ef-btn-height-lg);
    font-size: var(--ef-text-14);
    font-weight: 600;
    margin-top: var(--ef-space-16);
    border-radius: var(--ef-radius-6);
}

/* ── Divider ── */
.login-divider[b-s8rfnceqy0] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-12);
    margin: var(--ef-space-24) 0 var(--ef-space-16);
    color: var(--ef-text-muted);
    font-size: var(--ef-text-12);
}

.login-divider[b-s8rfnceqy0]::before,
.login-divider[b-s8rfnceqy0]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--ef-border);
}

/* ── SSO Buttons ── */
.sso-buttons[b-s8rfnceqy0] {
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-8);
}

.sso-btn[b-s8rfnceqy0] {
    width: 100%;
    height: var(--ef-btn-height-lg);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--ef-text-14);
    font-weight: 600;
    font-family: var(--ef-font);
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    color: var(--ef-text);
    border-radius: var(--ef-radius-6);
    cursor: pointer;
    transition: all var(--ef-transition-base);
}

.sso-btn:hover[b-s8rfnceqy0] {
    background: var(--ef-surface-alt);
    border-color: var(--ef-border-strong);
}

.sso-icon-img[b-s8rfnceqy0] {
    width: 22px;
    height: 22px;
    object-fit: contain;
    position: absolute;
    left: var(--ef-space-16);
}

/* ── Footer ── */
.login-footer[b-s8rfnceqy0] {
    position: fixed;
    bottom: var(--ef-space-16);
    left: 0;
    right: 0;
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    text-align: center;
    line-height: 1.5;
}

.login-copyright[b-s8rfnceqy0] {
    font-size: var(--ef-text-12);
}

.login-versions[b-s8rfnceqy0] {
    font-size: var(--ef-text-11);
    opacity: 0.65;
    margin-top: 2px;
    letter-spacing: 0.2px;
}

.login-version-sep[b-s8rfnceqy0] {
    margin: 0 var(--ef-space-4);
    opacity: 0.6;
}

.login-version-item[b-s8rfnceqy0] {
    white-space: nowrap;
}

/* ── Password toggle ── */
.login-password-wrap[b-s8rfnceqy0] {
    position: relative;
}

.login-input-password[b-s8rfnceqy0] {
    padding-right: 40px;
}

.login-password-toggle[b-s8rfnceqy0] {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    padding: 0;
    color: var(--ef-text-muted);
}

/* ── Spinner inside button ── */
.login-spinner[b-s8rfnceqy0] {
    width: 16px;
    height: 16px;
    border-width: 2px;
    display: inline-block;
}

/* ── SSO completion loading state ── */
.sso-loading[b-s8rfnceqy0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--ef-space-16);
    color: var(--ef-text-muted);
    font-size: var(--ef-text-14);
}

.login-spinner-lg[b-s8rfnceqy0] {
    width: 32px;
    height: 32px;
    border-width: 3px;
}

/* ── Validation messages ── */
[b-s8rfnceqy0] .validation-message {
    font-size: var(--ef-text-12);
    color: var(--ef-red);
    margin-top: var(--ef-space-4);
}

/* ── Responsive: stack on small screens ── */
@media (max-width: 640px) {
    .login-card[b-s8rfnceqy0] {
        grid-template-columns: 1fr;
    }

    .login-brand[b-s8rfnceqy0] {
        padding: var(--ef-space-24);
    }

    .login-brand-title[b-s8rfnceqy0] {
        font-size: 28px;
    }

    .login-brand-chips[b-s8rfnceqy0] {
        display: none;
    }
}
/* /Components/Pages/Cabinet/AIMonitor.razor.rz.scp.css */
/* ──────────────────────────────────────────────────────────────────────
   Processing Issues — customer-facing replacement for the old AI Monitor.
   Visual: modal-like card layout inside the popup-layout window.
   Tokens: --ef-* design system (font, spacing, color).
   Classes: pi-* (Processing Issues), kept distinct from legacy aim-*.
─────────────────────────────────────────────────────────────────────── */

.pi-shell[b-xbzlw4y0hl] {
    font-family: var(--ef-font, Inter, ui-sans-serif, system-ui, sans-serif);
    background: var(--ef-surface, #fff);
    color: var(--ef-text, #111827);
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

/* When embedded in the cabinet workspace modal, the host owns the viewport
   sizing — let pi-shell fill 100% instead of 100vh. */
.pi-shell-embedded[b-xbzlw4y0hl] {
    height: 100%;
}

/* Compact toolbar shown only in embed mode (no title or close — host modal
   provides both). */
.pi-toolbar-embedded[b-xbzlw4y0hl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    border-bottom: 1px solid var(--ef-border, #e5e7eb);
    flex-shrink: 0;
}

/* ── Header ─────────────────────────────────────────────────────────── */

.pi-header[b-xbzlw4y0hl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid var(--ef-border, #e5e7eb);
    flex-shrink: 0;
}

.pi-title[b-xbzlw4y0hl] {
    margin: 0;
    font-size: var(--ef-text-14, 14px);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ef-text, #111827);
}

.pi-title svg[b-xbzlw4y0hl] {
    color: #d97706; /* amber */
}

.pi-subtitle[b-xbzlw4y0hl] {
    margin-top: 2px;
    font-size: var(--ef-text-11, 11px);
    color: var(--ef-text-muted, #6b7280);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.pi-subtitle-cabinet[b-xbzlw4y0hl] {
    font-weight: 600;
    color: var(--ef-text, #111827);
}

.pi-subtitle-sep[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #9ca3af);
}

.pi-header-actions[b-xbzlw4y0hl] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pi-autorefresh[b-xbzlw4y0hl] {
    font-size: var(--ef-text-12, 12px);
    color: var(--ef-text-muted, #6b7280);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.pi-autorefresh input[b-xbzlw4y0hl] {
    margin: 0;
}

.pi-icon-btn[b-xbzlw4y0hl] {
    background: var(--ef-surface, #fff);
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: var(--ef-radius-6, 6px);
    color: var(--ef-text-muted, #6b7280);
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.pi-icon-btn:hover[b-xbzlw4y0hl] {
    background: var(--ef-surface-2, #f9fafb);
}

.pi-icon-btn.spin svg[b-xbzlw4y0hl], .pi-icon-btn svg.spin[b-xbzlw4y0hl] {
    animation: pi-spin-b-xbzlw4y0hl 1s linear infinite;
}

@keyframes pi-spin-b-xbzlw4y0hl {
    from { transform: rotate(0); }
    to   { transform: rotate(360deg); }
}

/* ── Hard-cutover pause banner (Inc 56) ──────────────────────────── */

.pi-pause-banner[b-xbzlw4y0hl] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 20px;
    background: #fffbeb;
    border-bottom: 1px solid #fde68a;
    color: #78350f;
    flex-shrink: 0;
}

.pi-pause-icon[b-xbzlw4y0hl] {
    color: #d97706;
    flex-shrink: 0;
    margin-top: 2px;
}

.pi-pause-body[b-xbzlw4y0hl] {
    flex: 1;
}

.pi-pause-title[b-xbzlw4y0hl] {
    font-weight: 600;
    font-size: var(--ef-text-13, 13px);
    margin-bottom: 2px;
    color: #78350f;
}

.pi-pause-text[b-xbzlw4y0hl] {
    font-size: var(--ef-text-12, 12px);
    line-height: 1.5;
    color: #92400e;
}

/* ── Summary band ───────────────────────────────────────────────────── */

.pi-summary[b-xbzlw4y0hl] {
    padding: 10px 20px;
    border-bottom: 1px solid var(--ef-border, #f3f4f6);
    background: var(--ef-surface-2, #f9fafb);
    flex-shrink: 0;
}

.pi-summary-line[b-xbzlw4y0hl] {
    font-size: var(--ef-text-12, 12px);
    color: var(--ef-text, #374151);
}

.pi-summary-line strong[b-xbzlw4y0hl] {
    color: var(--ef-text, #111827);
}

.pi-summary-detail[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #6b7280);
}

.pi-summary-ok[b-xbzlw4y0hl] {
    color: #047857;
    font-weight: 500;
}

.pi-summary-success[b-xbzlw4y0hl] {
    margin-top: 4px;
    font-size: var(--ef-text-11, 11px);
    color: var(--ef-text-muted, #6b7280);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pi-summary-success svg[b-xbzlw4y0hl] {
    color: #16a34a; /* green */
    flex-shrink: 0;
}

.pi-summary-success strong[b-xbzlw4y0hl] {
    color: var(--ef-text, #374151);
}

.pi-summary-rate[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #9ca3af);
}

/* ── Filter row ─────────────────────────────────────────────────────── */

.pi-filters[b-xbzlw4y0hl] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    border-bottom: 1px solid var(--ef-border, #f3f4f6);
    flex-wrap: wrap;
    flex-shrink: 0;
}

.pi-filter-chips[b-xbzlw4y0hl] {
    display: inline-flex;
    gap: 2px;
    background: var(--ef-surface-2, #f3f4f6);
    padding: 2px;
    border-radius: var(--ef-radius-6, 6px);
}

.pi-chip[b-xbzlw4y0hl] {
    background: transparent;
    border: 0;
    padding: 4px 10px;
    font-size: var(--ef-text-11, 11px);
    border-radius: var(--ef-radius-4, 4px);
    cursor: pointer;
    color: var(--ef-text-muted, #6b7280);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pi-chip:hover[b-xbzlw4y0hl] {
    background: var(--ef-surface, #fff);
}

.pi-chip.active[b-xbzlw4y0hl] {
    background: var(--ef-surface, #fff);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    font-weight: 500;
}

.pi-chip.active.failed[b-xbzlw4y0hl] { color: #b91c1c; }
.pi-chip.active.warn[b-xbzlw4y0hl]   { color: #b45309; }
.pi-chip.active.mute[b-xbzlw4y0hl]   { color: #4b5563; }
.pi-chip.active.ok[b-xbzlw4y0hl]     { color: #047857; }

.pi-chip-dot[b-xbzlw4y0hl] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.pi-dot-red[b-xbzlw4y0hl]   { background: #ef4444; }
.pi-dot-amber[b-xbzlw4y0hl] { background: #f59e0b; }
.pi-dot-gray[b-xbzlw4y0hl]  { background: #9ca3af; }
.pi-dot-green[b-xbzlw4y0hl] { background: #10b981; }

.pi-filter-sep[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #d1d5db);
    font-size: var(--ef-text-11, 11px);
}

.pi-window-label[b-xbzlw4y0hl] {
    font-size: var(--ef-text-11, 11px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ef-text-muted, #6b7280);
}

.pi-select[b-xbzlw4y0hl] {
    height: 28px;
    padding: 0 8px;
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: var(--ef-radius-6, 6px);
    font-size: var(--ef-text-12, 12px);
    background: var(--ef-surface, #fff);
}

.pi-bulk-btn[b-xbzlw4y0hl] {
    margin-left: auto;
    padding: 6px 12px;
    font-size: var(--ef-text-12, 12px);
    background: var(--ef-surface, #fff);
    border: 1px solid var(--ef-border, #e5e7eb);
    color: var(--ef-text, #374151);
    border-radius: var(--ef-radius-6, 6px);
    cursor: pointer;
}

.pi-bulk-btn:hover[b-xbzlw4y0hl] {
    background: var(--ef-surface-2, #f9fafb);
}

.pi-bulk-btn:disabled[b-xbzlw4y0hl] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── List ──────────────────────────────────────────────────────────── */

.pi-list[b-xbzlw4y0hl] {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

.pi-empty[b-xbzlw4y0hl] {
    padding: 32px 20px;
    text-align: center;
    color: var(--ef-text-muted, #6b7280);
    font-size: var(--ef-text-13, 13px);
}

.pi-row[b-xbzlw4y0hl] {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 12px 20px;
    border-bottom: 1px solid var(--ef-border, #f3f4f6);
    gap: 12px;
}

/* Selection checkbox column. Only rendered in the Failed view. */
.pi-row-select[b-xbzlw4y0hl] {
    flex: 0 0 auto;
    padding-top: 2px;
}
.pi-row-select input[b-xbzlw4y0hl] { cursor: pointer; }

/* "Select all" strip above the list. */
.pi-list-header[b-xbzlw4y0hl] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 20px;
    background: var(--ef-surface-2, #f9fafb);
    border-bottom: 1px solid var(--ef-border, #e5e7eb);
    font-size: var(--ef-text-12, 12px);
    color: var(--ef-text-muted, #6b7280);
}
.pi-select-all[b-xbzlw4y0hl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}
.pi-select-summary[b-xbzlw4y0hl] { color: #1d4ed8; font-weight: 500; }

.pi-row:hover[b-xbzlw4y0hl] {
    background: var(--ef-surface-2, #f9fafb);
}

.pi-row-main[b-xbzlw4y0hl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.pi-row-title[b-xbzlw4y0hl] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--ef-text-13, 13px);
    font-weight: 500;
}

.pi-doc-display[b-xbzlw4y0hl] {
    font-weight: 500;
    color: var(--ef-text, #1f2937);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60ch;
}

.pi-doc-id[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #6b7280);
    font-variant-numeric: tabular-nums;
    font-size: 10px;
    background: var(--ef-surface-2, #f3f4f6);
    padding: 1px 6px;
    border-radius: 4px;
}

.pi-row-meta[b-xbzlw4y0hl] {
    font-size: var(--ef-text-12, 12px);
    color: var(--ef-text-muted, #6b7280);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.pi-meta-step[b-xbzlw4y0hl] {
    font-variant-numeric: tabular-nums;
    color: var(--ef-text, #4b5563);
}

.pi-meta-error[b-xbzlw4y0hl] {
    color: var(--ef-text, #374151);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 360px;
}

.pi-meta-sep[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #d1d5db);
}

.pi-meta-age[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #6b7280);
}

.pi-row-advice[b-xbzlw4y0hl] {
    font-size: var(--ef-text-11, 11px);
    margin-top: 2px;
}

.pi-row-advice strong[b-xbzlw4y0hl] {
    font-weight: 600;
}

.pi-advice-info[b-xbzlw4y0hl] { color: #1d4ed8; }
.pi-advice-warn[b-xbzlw4y0hl] { color: #b45309; }

.pi-row-actions[b-xbzlw4y0hl] {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 4px;
}

.pi-action[b-xbzlw4y0hl] {
    font-size: var(--ef-text-11, 11px);
    padding: 5px 10px;
    border-radius: var(--ef-radius-4, 4px);
    cursor: pointer;
    border: 1px solid var(--ef-border, #d1d5db);
    background: var(--ef-surface, #fff);
    color: var(--ef-text, #374151);
    text-decoration: none;
}

.pi-action:hover[b-xbzlw4y0hl] { background: var(--ef-surface-2, #f9fafb); }

.pi-action:disabled[b-xbzlw4y0hl] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pi-action-primary[b-xbzlw4y0hl] {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
    font-weight: 500;
}

.pi-action-primary:hover:not(:disabled)[b-xbzlw4y0hl] { background: #1d4ed8; }

.pi-action-ghost[b-xbzlw4y0hl] {
    background: transparent;
    border-color: transparent;
    color: var(--ef-text-muted, #6b7280);
}

.pi-action-ghost:hover[b-xbzlw4y0hl] { background: var(--ef-surface-2, #f3f4f6); color: var(--ef-text, #374151); }

.pi-action-link[b-xbzlw4y0hl] {
    color: #2563eb;
    background: transparent;
    border: 0;
    padding: 5px 6px;
}

.pi-action-link:hover[b-xbzlw4y0hl] { text-decoration: underline; }

/* Inc 84-UX: Timeline modal row expand/collapse */
.pi-action-small[b-xbzlw4y0hl] {
    padding: 2px 8px;
    font-size: var(--ef-text-12, 12px);
    line-height: 1.2;
}

.pi-timeline-pre[b-xbzlw4y0hl] {
    margin: var(--ef-space-4, 4px) 0 0;
    padding: var(--ef-space-8, 8px);
    background: var(--ef-surface-2, #f3f4f6);
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: 4px;
    font-family: var(--ef-font-mono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);
    font-size: var(--ef-text-12, 12px);
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-all;
    max-height: 240px;
    overflow: auto;
}

/* Neutral secondary — outlined, used for Skip step + Restart. */
.pi-action-secondary[b-xbzlw4y0hl] {
    background: var(--ef-surface, #fff);
    color: var(--ef-text, #374151);
    border-color: var(--ef-border, #d1d5db);
}

.pi-action-secondary:hover:not(:disabled)[b-xbzlw4y0hl] {
    background: var(--ef-surface-2, #f9fafb);
    border-color: #9ca3af;
}

/* Destructive — red outline, used for Cancel. */
.pi-action-danger[b-xbzlw4y0hl] {
    background: var(--ef-surface, #fff);
    color: #b91c1c;
    border-color: #fecaca;
}

.pi-action-danger:hover:not(:disabled)[b-xbzlw4y0hl] {
    background: #fef2f2;
    border-color: #dc2626;
    color: #991b1b;
}

/* ── Chips ─────────────────────────────────────────────────────────── */

.pi-chip-small[b-xbzlw4y0hl] {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
}

.pi-chip-blue[b-xbzlw4y0hl]  { background: #dbeafe; color: #1d4ed8; }
.pi-chip-red[b-xbzlw4y0hl]   { background: #fee2e2; color: #b91c1c; }
.pi-chip-green[b-xbzlw4y0hl] { background: #dcfce7; color: #15803d; }
.pi-chip-amber[b-xbzlw4y0hl] { background: #fef3c7; color: #b45309; }
.pi-chip-gray[b-xbzlw4y0hl]  { background: #e5e7eb; color: #4b5563; }

/* ── Inline execution timeline ─────────────────────────────────────── */

.pi-row-detail[b-xbzlw4y0hl] {
    margin-top: 8px;
    padding: 10px;
    background: var(--ef-surface-2, #f9fafb);
    border-radius: var(--ef-radius-6, 6px);
    border: 1px solid var(--ef-border, #e5e7eb);
    font-size: var(--ef-text-11, 11px);
}

.pi-row-detail-loading[b-xbzlw4y0hl],
.pi-row-detail-empty[b-xbzlw4y0hl] {
    color: var(--ef-text-muted, #6b7280);
}

.pi-exec-table[b-xbzlw4y0hl] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--ef-text-11, 11px);
}

.pi-exec-table th[b-xbzlw4y0hl] {
    text-align: left;
    font-weight: 600;
    color: var(--ef-text-muted, #6b7280);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 4px 8px;
    border-bottom: 1px solid var(--ef-border, #e5e7eb);
}

.pi-exec-table td[b-xbzlw4y0hl] {
    padding: 4px 8px;
    color: var(--ef-text, #374151);
}

.pi-num[b-xbzlw4y0hl] { font-variant-numeric: tabular-nums; }
.pi-mono[b-xbzlw4y0hl] { font-family: ui-monospace, "SFMono-Regular", monospace; }
.pi-mute[b-xbzlw4y0hl] { color: var(--ef-text-muted, #6b7280); }

/* ── Footer ────────────────────────────────────────────────────────── */

.pi-footer[b-xbzlw4y0hl] {
    padding: 10px 20px;
    border-top: 1px solid var(--ef-border, #e5e7eb);
    background: var(--ef-surface-2, #f9fafb);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.pi-footer-note[b-xbzlw4y0hl] {
    font-size: var(--ef-text-11, 11px);
    color: var(--ef-text-muted, #6b7280);
}

.pi-footer-link[b-xbzlw4y0hl] {
    font-size: var(--ef-text-11, 11px);
    color: var(--ef-text-muted, #6b7280);
    text-decoration: none;
}

.pi-footer-link:hover[b-xbzlw4y0hl] {
    color: var(--ef-text, #374151);
}

/* ── Bulk-confirm modal ────────────────────────────────────────────── */

.pi-modal-scrim[b-xbzlw4y0hl] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 16px;
}

.pi-modal[b-xbzlw4y0hl] {
    background: var(--ef-surface, #fff);
    border-radius: var(--ef-radius-14, 14px);
    max-width: 460px;
    width: 100%;
    padding: 20px;
    border: 1px solid var(--ef-border, #e5e7eb);
}

.pi-modal-title[b-xbzlw4y0hl] {
    margin: 0 0 10px 0;
    font-size: var(--ef-text-18, 18px);
    font-weight: 700;
    color: var(--ef-text, #111827);
}

.pi-modal-body[b-xbzlw4y0hl] {
    margin: 0 0 16px 0;
    font-size: var(--ef-text-13, 13px);
    color: var(--ef-text-muted, #6b7280);
}

.pi-modal-actions[b-xbzlw4y0hl] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* Itemized breakdown inside the bulk-Resume confirm modal. */
.pi-modal-breakdown[b-xbzlw4y0hl] {
    list-style: none;
    padding: 0;
    margin: 0 0 12px 0;
    font-size: var(--ef-text-13, 13px);
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pi-modal-breakdown li[b-xbzlw4y0hl] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ef-text, #374151);
}

/* Overflow (⋯) row button + popover menu. */
.pi-overflow-wrap[b-xbzlw4y0hl] {
    position: relative;
    display: inline-block;
}

.pi-overflow-btn[b-xbzlw4y0hl] {
    font-size: 16px;
    line-height: 1;
    padding: 4px 8px;
}

.pi-overflow-menu[b-xbzlw4y0hl] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 60;
    min-width: 260px;
    background: var(--ef-surface, #fff);
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: var(--ef-radius-6, 6px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10);
    padding: 4px 0;
}

.pi-overflow-item[b-xbzlw4y0hl] {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 7px 12px;
    background: transparent;
    border: 0;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    font-size: var(--ef-text-12, 12px);
    color: var(--ef-text, #1f2937);
    text-decoration: none;
}

.pi-overflow-item:hover[b-xbzlw4y0hl] {
    background: var(--ef-surface-2, #f3f4f6);
}

.pi-overflow-item strong[b-xbzlw4y0hl] {
    display: block;
    font-weight: 600;
}

.pi-overflow-item small[b-xbzlw4y0hl] {
    display: block;
    font-size: 10px;
    color: var(--ef-text-muted, #6b7280);
    margin-top: 1px;
}

.pi-overflow-item-danger strong[b-xbzlw4y0hl] {
    color: #b91c1c;
}
/* /Components/Pages/Cabinet/CabinetWorkspace.razor.rz.scp.css */
/* ── Workspace: 2-panel flex row ── */
.workspace[b-obpwo53yfa] {
    display: flex;
    height: 100%;
    overflow: hidden;
    background: var(--ef-bg);
    color: var(--ef-text);
}

/* ── Search Area (resizable top section with drag handle below) ── */
.search-area[b-obpwo53yfa] {
    /* Starting pane size — user drags the hsplitter below to resize; JS sets inline
       `height: Npx` + `flex: none` which overrides this. `max-height` is deliberately
       NOT set, since it would clamp explicit drag-resizes from the JS handler.
       The area itself does NOT scroll — only the inner .adv-fields list does, so the
       top-bar + search-controls stay pinned at the top of the resizable pane. */
    height: 45%;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Wraps search-controls + .adv-fields below the top-bar. Flex-column so the controls
   row pins and only the field list flexes + scrolls. */
.search-body[b-obpwo53yfa] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

/* ── Horizontal Splitter ── */
.hsplitter[b-obpwo53yfa] {
    height: var(--ef-splitter-size);
    cursor: row-resize;
    background: var(--ef-border);
    flex-shrink: 0;
    transition: background var(--ef-transition-base);
    position: relative;
    z-index: 10;
}
.hsplitter[b-obpwo53yfa]::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -4px;
    bottom: -4px;
}

.hsplitter:hover[b-obpwo53yfa],
.hsplitter.active[b-obpwo53yfa] {
    background: var(--ef-color-primary);
}

.hsplitter[b-obpwo53yfa]::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 2px;
    border-radius: 1px;
    background: var(--ef-text-muted);
    opacity: 0.4;
}

/* ── Search expand/collapse toggle ── */
.search-expand-btn[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 3px 0;
    border: none;
    background: var(--ef-bg-muted, #f0f4f8);
    color: var(--ef-color-primary);
    font-size: var(--ef-text-11);
    font-weight: 600;
    cursor: pointer;
    transition: background 150ms;
    flex-shrink: 0;
}

.search-expand-btn:hover[b-obpwo53yfa] {
    background: var(--ef-border);
}

/* ── Center Panel ── */
.center-panel[b-obpwo53yfa] {
    width: 30%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    position: relative;
}

.center-panel.center-full[b-obpwo53yfa] {
    width: 100%;
    flex: 1;
}

/* ── Middle Panel (Edit Record inline) ── */
.middle-panel[b-obpwo53yfa] {
    flex: 0 0 380px;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    border-right: 1px solid var(--ef-border);
}

.middle-panel-header[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-8) var(--ef-space-12);
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
}

/* ── Scanning Report Panel Container ── */
.sr-panel-container[b-obpwo53yfa] {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-left: 1px solid var(--ef-border);
    background: #fff;
}

.sr-panel-container .sr-page[b-obpwo53yfa] {
    height: 100%;
    overflow: auto;
}

/* ── Right Panel ── */
.right-panel[b-obpwo53yfa] {
    flex: 1;
    min-width: 250px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--ef-surface);
}

/* ── Top Bar ── */
.top-bar[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-8) var(--ef-space-12);
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
}

/* ── Inline Breadcrumb (inside top bar) ── */
.inline-breadcrumb[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-4);
    font-size: var(--ef-text-12);
    flex-shrink: 0;
}
.inline-breadcrumb a[b-obpwo53yfa] {
    color: var(--ef-text-muted);
    text-decoration: none;
}
.inline-breadcrumb a:hover[b-obpwo53yfa] {
    color: var(--ef-color-primary);
    text-decoration: underline;
}
.inline-breadcrumb .bc-sep[b-obpwo53yfa] {
    color: var(--ef-text-muted);
    opacity: .4;
}
.inline-breadcrumb .bc-current[b-obpwo53yfa] {
    color: var(--ef-text);
    font-weight: 600;
}

/* ── Options dropdown ── */
.options-wrap[b-obpwo53yfa] {
    position: relative;
}

.options-btn[b-obpwo53yfa] {
    width: 28px;
    height: 34px;
    padding: 0;
}

.options-menu[b-obpwo53yfa] {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: var(--ef-space-4);
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    box-shadow: var(--ef-shadow-2);
    padding: var(--ef-space-4) 0;
    z-index: 20;
    white-space: nowrap;
}

.options-item[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-8) var(--ef-space-12);
    font-size: var(--ef-text-13);
    cursor: pointer;
    color: var(--ef-text);
    transition: background 100ms;
}

.options-item:hover[b-obpwo53yfa] {
    background: var(--ef-surface-2);
}

.options-item-btn[b-obpwo53yfa] {
    width: 100%;
    background: none;
    border: none;
    text-align: left;
}

/* ── Split View / Splitter toggle ── */
.split-view-btn[b-obpwo53yfa] {
    flex-shrink: 0;
    gap: var(--ef-space-4);
}

.splitter-toggle[b-obpwo53yfa] {
    width: 28px;
    height: 34px;
    padding: 0;
    flex-shrink: 0;
}

.quick-search[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    flex: 1;
    max-width: 340px;
    gap: 0;
}

.quick-search .fi[b-obpwo53yfa] {
    border-radius: var(--ef-radius-4) 0 0 var(--ef-radius-4);
    border-right: none;
}

.search-icon-btn[b-obpwo53yfa] {
    border-radius: 0 var(--ef-radius-4) var(--ef-radius-4) 0;
    height: 34px;
    width: 36px;
    padding: 0;
}

/* Prominent Show/Hide Search toggle in the top bar — shown when AutoCollapseSearch is on */
.toggle-search-btn[b-obpwo53yfa] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-weight: 600;
    flex-shrink: 0;
}

.add-record-btn[b-obpwo53yfa] {
    margin-left: auto;
}

/* ── Search Controls ── */
.search-controls[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
}

.adv-toggle[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--ef-text-13);
    cursor: pointer;
    margin-left: 12px;
    color: var(--ef-text);
}

/* ── Search-mode tabs (Quick Search / Advanced Search) ── *
   Inline tab pair that replaces the old "Advanced Search" checkbox in the
   search-controls strip. Same visual idiom as the page-level .tabs (active
   gets a primary-colored bottom border) but sized to fit alongside the
   Search / Clear buttons. */
.search-mode-tabs[b-obpwo53yfa] {
    display: inline-flex;
    align-items: stretch;
    gap: 4px;
    margin-left: 12px;
    height: 28px;
}

.search-mode-tab[b-obpwo53yfa] {
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    font-size: var(--ef-text-12);
    font-weight: 600;
    color: var(--ef-text-muted);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    transition: color 150ms, border-color 150ms;
    white-space: nowrap;
}

.search-mode-tab:hover[b-obpwo53yfa] {
    color: var(--ef-text);
}

.search-mode-tab.active[b-obpwo53yfa] {
    color: var(--ef-color-primary);
    border-bottom-color: var(--ef-color-primary);
}

.search-mode-tab:focus-visible[b-obpwo53yfa] {
    outline: 2px solid var(--ef-color-focus);
    outline-offset: 2px;
}

/* ── Advanced Search Fields ── */
.adv-fields[b-obpwo53yfa] {
    padding: 4px 12px;
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.adv-row[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 0;
    max-width: 540px;
}

.adv-row-between[b-obpwo53yfa] {
    align-items: flex-start;
}

.adv-label[b-obpwo53yfa] {
    width: 150px;
    flex-shrink: 0;
    font-size: var(--ef-text-13);
    color: var(--ef-text);
    padding: 5px 8px;
    background: var(--ef-surface-2);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-4);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.adv-value[b-obpwo53yfa] {
    flex: 1;
    min-width: 0;
}

.adv-op[b-obpwo53yfa] {
    width: 120px;
    flex-shrink: 0;
}

/* Disabled state for isnull/isnotnull operators */
.adv-disabled[b-obpwo53yfa] {
    opacity: 0.5;
    background: var(--ef-surface-2) !important;
    cursor: not-allowed;
}

/* Between: From/To stacked inputs */
.adv-between[b-obpwo53yfa] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.adv-between-row[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.adv-between-label[b-obpwo53yfa] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    font-style: italic;
    width: 30px;
    flex-shrink: 0;
}

.adv-between-input[b-obpwo53yfa] {
    flex: 1;
    min-width: 0;
}

/* ── Dynamic Search Row (Advanced Mode) ── */
.dyn-row[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}

.dyn-remove[b-obpwo53yfa] {
    width: 28px;
    height: 28px;
    padding: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dyn-field[b-obpwo53yfa] {
    width: 160px;
    flex-shrink: 0;
}

.dyn-value-area[b-obpwo53yfa] {
    flex: 1;
    min-width: 0;
}

.dyn-op[b-obpwo53yfa] {
    width: 120px;
    flex-shrink: 0;
}

.dyn-andor[b-obpwo53yfa] {
    width: 65px;
    flex-shrink: 0;
}

.saved-search-select[b-obpwo53yfa] {
    width: 180px;
}

/* ── Grid Toolbar ── */
.grid-toolbar[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-8) var(--ef-space-12);
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
}

.toolbar-counter[b-obpwo53yfa] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    font-weight: 500;
}

.show-all-toggle[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    cursor: pointer;
}

/* ── Grid Area ── */
.grid-area[b-obpwo53yfa] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

.grid-scroll[b-obpwo53yfa] {
    flex: 1;
    min-height: 0;
    overflow-x: auto;
    overflow-y: scroll;
    background: var(--ef-surface);
    position: relative;
}

/* ── Table overrides (schema-table base is in components.css) ── */
[b-obpwo53yfa] .schema-table thead {
    position: sticky;
    top: 0;
    z-index: 4;
}

/* ── Sticky left columns (checkbox, icon, action) ── */
[b-obpwo53yfa] .sticky-col {
    position: sticky;
    background: inherit;
    z-index: 1;
}

[b-obpwo53yfa] thead .sticky-col {
    z-index: 5;
    background: var(--ef-surface);
}

[b-obpwo53yfa] tbody tr .sticky-col {
    background: var(--ef-surface);
}

[b-obpwo53yfa] tbody tr:nth-child(even) .sticky-col {
    background: var(--ef-surface);
}

[b-obpwo53yfa] tbody tr.selected .sticky-col {
    background: var(--ef-selected-bg);
}

[b-obpwo53yfa] tbody tr:hover .sticky-col {
    background: var(--ef-surface-2);
}

[b-obpwo53yfa] .sticky-col-1 {
    left: 0;
    width: 32px;
    min-width: 32px;
}

[b-obpwo53yfa] .schema-table th {
    white-space: nowrap;
    border-bottom-width: 2px;
    border-bottom-color: var(--ef-border-strong, var(--ef-border));
}

[b-obpwo53yfa] .schema-table tbody tr {
    cursor: pointer;
    transition: background 0.1s;
    background: var(--ef-surface);
}

[b-obpwo53yfa] .schema-table tbody tr:hover {
    background: var(--ef-surface-hover);
}

[b-obpwo53yfa] .schema-table tbody tr:nth-child(even) {
    background: var(--ef-row-stripe);
}

[b-obpwo53yfa] .schema-table tbody tr.selected,
[b-obpwo53yfa] .schema-table tbody tr.selected:nth-child(even) {
    background: var(--ef-selected-bg);
    box-shadow: inset 3px 0 0 var(--ef-selected-border, var(--ef-color-primary));
}

[b-obpwo53yfa] .schema-table tr.selected td {
    color: var(--ef-color-primary);
}

/* ── Grid Footer ── */
.grid-footer[b-obpwo53yfa] {
    padding: var(--ef-space-8) var(--ef-space-12);
    border-top: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
}

.page-size-select[b-obpwo53yfa] {
    width: 60px;
    padding: 2px 4px;
    font-size: var(--ef-text-12);
}

/* ── Pager ── */
.pager[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pager-info[b-obpwo53yfa] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    margin-left: 4px;
}

/* ── Action Dropdown ── */
.action-dropdown[b-obpwo53yfa] {
    position: relative;
}

.action-btn[b-obpwo53yfa] {
    white-space: nowrap;
    font-size: inherit;
    height: auto;
    padding: 4px 8px;
}

.action-menu[b-obpwo53yfa] {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    box-shadow: var(--ef-shadow-3);
    z-index: 9999;
    min-width: 260px;
    padding: var(--ef-space-4) 0;
    white-space: nowrap;
}

/* Portal action menu — rendered outside grid to escape overflow:auto clipping */
.action-menu-portal[b-obpwo53yfa] {
    position: fixed;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    box-shadow: var(--ef-shadow-3);
    z-index: 9999;
    min-width: 260px;
    padding: var(--ef-space-4) 0;
    white-space: nowrap;
    max-height: 80vh;
    overflow-y: auto;
}

.action-menu-right[b-obpwo53yfa] {
    right: 0;
    left: auto;
}


.action-menu-item[b-obpwo53yfa] {
    padding: 7px 14px;
    font-size: var(--ef-text-13);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    color: var(--ef-text);
    white-space: nowrap;
}

.action-menu-item:hover[b-obpwo53yfa] {
    background: var(--ef-surface-2);
}

.action-menu-label[b-obpwo53yfa] {
    padding: 8px 14px 3px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ef-text-muted);
    cursor: default;
    user-select: none;
}


/* ── Loading Overlay ── */
.loading-overlay[b-obpwo53yfa] {
    position: absolute;
    inset: 0;
    background: var(--ef-loading-overlay, rgba(255, 255, 255, 0.7));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}

/* ── Viewer Toolbar Row 1 & 2 ── */
[b-obpwo53yfa] .viewer-toolbar-1,
[b-obpwo53yfa] .viewer-toolbar-2 {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 4px 8px;
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
}

[b-obpwo53yfa] .vt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: var(--ef-radius-4);
    background: transparent;
    color: var(--ef-text-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: all var(--ef-transition-fast);
    padding: 0;
}

[b-obpwo53yfa] .vt-btn:hover {
    background: var(--ef-surface-alt);
    color: var(--ef-color-primary);
}

[b-obpwo53yfa] .vt-btn.vt-active {
    background: var(--ef-primary-bg);
    color: var(--ef-color-primary);
}

[b-obpwo53yfa] .vt-nav {
    color: var(--ef-color-primary);
}

[b-obpwo53yfa] .vt-sep {
    width: 1px;
    height: 20px;
    background: var(--ef-border);
    margin: 0 4px;
    flex-shrink: 0;
}

[b-obpwo53yfa] .vt-zoom {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--ef-text-12);
    color: var(--ef-text);
    font-weight: 500;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--ef-radius-4);
    flex-shrink: 0;
}

[b-obpwo53yfa] .vt-zoom:hover {
    background: var(--ef-surface-alt);
}

[b-obpwo53yfa] .vt-doc-select {
    width: 220px;
    flex-shrink: 0;
}

[b-obpwo53yfa] .vt-tab {
    font-size: var(--ef-text-13);
    font-weight: 500;
    color: var(--ef-text-muted);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: var(--ef-radius-4);
    transition: all var(--ef-transition-fast);
    flex-shrink: 0;
}

[b-obpwo53yfa] .vt-tab:hover {
    color: var(--ef-text);
    background: var(--ef-surface-alt);
}

[b-obpwo53yfa] .vt-tab-active {
    color: var(--ef-color-primary);
    font-weight: 600;
}

/* ── Line Items Panel ── */
.line-items-panel[b-obpwo53yfa] {
    flex-shrink: 0;
    height: 40%;
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--ef-border);
    overflow: hidden;
}

.line-items-header[b-obpwo53yfa] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-4);
    padding: var(--ef-space-8) var(--ef-space-12);
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
}

.line-items-grid[b-obpwo53yfa] {
    flex: 1;
    overflow: auto;
}

.line-items-grid table[b-obpwo53yfa] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--ef-text-12);
    table-layout: auto;
}

.line-items-grid thead th[b-obpwo53yfa] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--ef-color-primary);
    color: #fff;
    font-weight: 600;
    padding: var(--ef-space-8) var(--ef-space-12);
    text-align: left;
    border-right: 1px solid rgba(255,255,255,0.15);
    white-space: nowrap;
}

.line-items-grid thead th:last-child[b-obpwo53yfa] {
    border-right: none;
}

.line-items-grid tbody tr[b-obpwo53yfa] {
    height: 40px;
}

.line-items-grid tbody td[b-obpwo53yfa] {
    padding: var(--ef-space-8) var(--ef-space-12);
    border-bottom: 1px solid var(--ef-border);
    border-right: 1px solid var(--ef-border);
}

.line-items-grid tbody td:last-child[b-obpwo53yfa] {
    border-right: none;
}

.line-items-grid tbody tr:nth-child(even)[b-obpwo53yfa] {
    background: var(--ef-surface-alt);
}

.line-items-grid tbody tr:hover[b-obpwo53yfa] {
    background: var(--ef-surface-hover);
}

/* Status column — small color-coded SVG badges next to the action button. */
.status-cell[b-obpwo53yfa] {
    white-space: nowrap;
    text-align: center;
    padding: 0 4px;
}

.status-ico[b-obpwo53yfa] {
    width: 14px;
    height: 14px;
    vertical-align: middle;
    margin: 0 1px;
}

/* Editable cells: input fills the cell and inherits typography. */
.line-items-grid table.line-items-editable tbody td[b-obpwo53yfa] {
    padding: 0;
}

.line-items-grid table.line-items-editable tbody td input[type="text"][b-obpwo53yfa] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: var(--ef-space-8) var(--ef-space-12);
    border: none;
    background: transparent;
    font: inherit;
    color: inherit;
    outline: none;
}

.line-items-grid table.line-items-editable tbody td input[type="text"]:focus[b-obpwo53yfa] {
    background: var(--ef-surface);
    box-shadow: inset 0 0 0 2px var(--ef-primary);
}

/* ── Side-by-Side Viewer Overlay ── */
.sbs-overlay[b-obpwo53yfa] {
    position: absolute;
    inset: 0;
    z-index: 50;
    display: flex;
    background: var(--ef-bg);
}

.sbs-panel[b-obpwo53yfa] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

.sbs-divider[b-obpwo53yfa] {
    width: 4px;
    background: var(--ef-border);
    flex-shrink: 0;
    cursor: col-resize;
    transition: background var(--ef-transition-base);
}

.sbs-divider:hover[b-obpwo53yfa] {
    background: var(--ef-color-primary);
}

/* ── Grid column drag-reorder + multi-sort rank indicator ── */

/* Highlight the <th> the cursor is over during a column drag. Left border makes it
   clear the dragged column will land BEFORE the hovered one. */
[b-obpwo53yfa] .schema-table th.col-drag-over {
    box-shadow: inset 3px 0 0 var(--ef-color-primary);
    background: var(--ef-primary-bg, rgba(37,99,235,.08));
}

/* Slight visual cue that the header is draggable (shown during any grab). */
[b-obpwo53yfa] .schema-table th.sortable-th[draggable="true"] {
    cursor: grab;
}

[b-obpwo53yfa] .schema-table th.sortable-th[draggable="true"]:active {
    cursor: grabbing;
}

/* Rank badge next to the ▲/▼ arrow when multiple sorts are active. */
[b-obpwo53yfa] .schema-table th .sort-rank {
    display: inline-block;
    margin-left: 4px;
    padding: 0 4px;
    font-size: 10px;
    font-weight: 700;
    line-height: 14px;
    color: var(--ef-color-primary);
    background: var(--ef-primary-bg, rgba(37,99,235,.12));
    border-radius: 8px;
    vertical-align: middle;
    min-width: 16px;
    text-align: center;
}

/* ── Viewer Empty State ── */
.viewer-empty[b-obpwo53yfa] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--ef-text-muted);
    font-size: var(--ef-text-14);
    text-align: center;
    padding: var(--ef-space-24);
    background: var(--ef-surface-2);
}
/* /Components/Pages/Cabinet/OcrMonitor.razor.rz.scp.css */
.ocm-page[b-blvo2558bl] {
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #f4f6f9;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    overflow: hidden;
}

/* Toolbar stays anchored at top — body fills remaining height. */
.ocm-toolbar[b-blvo2558bl] { flex-shrink: 0; }

/* Toolbar */
.ocm-toolbar[b-blvo2558bl] {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.ocm-back-btn[b-blvo2558bl] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-size: 13px;
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    color: #666;
}
.ocm-back-btn:hover[b-blvo2558bl] { background: #f0f0f0; }

.ocm-nav-right[b-blvo2558bl] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ocm-autorefresh-label[b-blvo2558bl] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #555;
    cursor: pointer;
}

.ocm-refresh-btn[b-blvo2558bl] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-size: 13px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    color: #333;
}
.ocm-refresh-btn:hover[b-blvo2558bl] { background: #e9ecef; }

/* Body — flex column that fills space below the toolbar. The body itself does
   NOT scroll; cards / filters are anchored at the top, only the table body
   inside .ocm-table-wrap scrolls. The thead is sticky inside that scroll
   container so column headers stay visible while scrolling rows. */
.ocm-body[b-blvo2558bl] {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.ocm-header[b-blvo2558bl],
.ocm-cards[b-blvo2558bl],
.ocm-filters[b-blvo2558bl] {
    flex-shrink: 0;
}

/* Header */
.ocm-header[b-blvo2558bl] { margin-bottom: 4px; }

.ocm-title[b-blvo2558bl] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.ocm-cabinet-label[b-blvo2558bl] {
    color: #666;
    font-weight: 400;
}

/* Summary Cards */
.ocm-cards[b-blvo2558bl] {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.ocm-card[b-blvo2558bl] {
    flex: 1;
    min-width: 150px;
    background: #fff;
    border-radius: 6px;
    padding: 16px 20px;
    border: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    gap: 14px;
}

.ocm-card-icon[b-blvo2558bl] {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ocm-card-value[b-blvo2558bl] {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

.ocm-card-label[b-blvo2558bl] {
    font-size: 12px;
    color: #888;
    margin-top: 2px;
}

.ocm-card-queued   .ocm-card-icon[b-blvo2558bl]  { background: #fff3cd; color: #856404; }
.ocm-card-queued   .ocm-card-value[b-blvo2558bl] { color: #856404; }

.ocm-card-progress .ocm-card-icon[b-blvo2558bl]  { background: #cce5ff; color: #004085; }
.ocm-card-progress .ocm-card-value[b-blvo2558bl] { color: #004085; }

.ocm-card-completed .ocm-card-icon[b-blvo2558bl]  { background: #d4edda; color: #155724; }
.ocm-card-completed .ocm-card-value[b-blvo2558bl] { color: #155724; }

.ocm-card-failed   .ocm-card-icon[b-blvo2558bl]  { background: #f8d7da; color: #721c24; }
.ocm-card-failed   .ocm-card-value[b-blvo2558bl] { color: #721c24; }

.ocm-card-total    .ocm-card-icon[b-blvo2558bl]  { background: #e2e3e5; color: #383d41; }
.ocm-card-total    .ocm-card-value[b-blvo2558bl] { color: #383d41; }

/* Filters */
.ocm-filters[b-blvo2558bl] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ocm-filter-label[b-blvo2558bl] {
    font-size: 13px;
    color: #555;
    margin: 0;
    white-space: nowrap;
}

.ocm-select[b-blvo2558bl] {
    height: 32px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0 8px;
    min-width: 120px;
    background: #fff;
}

.ocm-search-wrap[b-blvo2558bl] {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 0;
}

.ocm-search[b-blvo2558bl] {
    height: 32px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 4px 0 0 4px;
    padding: 0 8px;
    min-width: 220px;
    outline: none;
}

.ocm-search-btn[b-blvo2558bl] {
    height: 32px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #ccc;
    border-left: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.ocm-search-btn:hover[b-blvo2558bl] { background: #e9ecef; }

/* Table */
.ocm-table-wrap[b-blvo2558bl] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.ocm-table-scroll[b-blvo2558bl] {
    overflow-x: auto;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.ocm-loading[b-blvo2558bl] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px;
    color: #999;
    font-size: 13px;
}

.ocm-table[b-blvo2558bl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ocm-table thead th[b-blvo2558bl] {
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    color: #495057;
    white-space: nowrap;
    /* Sticky inside .ocm-table-scroll so column headers stay visible as the
       user scrolls through rows. */
    position: sticky;
    top: 0;
    z-index: 2;
}

.ocm-table tbody tr[b-blvo2558bl] { border-bottom: 1px solid #eee; }
.ocm-table tbody tr:hover[b-blvo2558bl] { background: #f8f9fa; }

.ocm-table tbody td[b-blvo2558bl] {
    padding: 8px 12px;
    color: #333;
}

.ocm-empty[b-blvo2558bl] {
    text-align: center;
    padding: 40px !important;
    color: #999;
}

.ocm-date[b-blvo2558bl] {
    white-space: nowrap;
    font-size: 12px;
    color: #555;
}

.ocm-msg[b-blvo2558bl] {
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Status badges */
.ocm-badge[b-blvo2558bl] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.ocm-badge-queued[b-blvo2558bl]    { background: #fff3cd; color: #856404; }
.ocm-badge-progress[b-blvo2558bl]  { background: #cce5ff; color: #004085; }
.ocm-badge-completed[b-blvo2558bl] { background: #d4edda; color: #155724; }
.ocm-badge-failed[b-blvo2558bl]    { background: #f8d7da; color: #721c24; }
.ocm-badge-unknown[b-blvo2558bl]   { background: #e2e3e5; color: #383d41; }
.ocm-badge-stuck[b-blvo2558bl]     { background: #f8d7da; color: #721c24; margin-left: 4px; }

/* Retry button */
.ocm-btn-sm[b-blvo2558bl] {
    padding: 3px 10px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
    color: #333;
    white-space: nowrap;
}
.ocm-btn-sm:hover[b-blvo2558bl] { background: #e9ecef; }
.ocm-btn-sm.ocm-btn-warn[b-blvo2558bl] { background: #fff3cd; border-color: #ffc107; color: #856404; }
.ocm-btn-sm.ocm-btn-warn:hover[b-blvo2558bl] { filter: brightness(0.95); }
.ocm-btn-sm.ocm-btn-trigger[b-blvo2558bl] { background: #cce5ff; border-color: #99caff; color: #004085; }
.ocm-btn-sm.ocm-btn-trigger:hover[b-blvo2558bl] { filter: brightness(0.95); }

.ocm-actions[b-blvo2558bl] { white-space: nowrap; }

/* Pagination — anchored at bottom of .ocm-table-wrap. */
.ocm-pagination[b-blvo2558bl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    font-size: 13px;
    color: #555;
    flex-wrap: wrap;
    gap: 8px;
    flex-shrink: 0;
}

.ocm-page-info[b-blvo2558bl] { font-size: 13px; color: #555; }
.ocm-page-size-wrap[b-blvo2558bl] { display: flex; align-items: center; }

.ocm-page-size[b-blvo2558bl] {
    height: 30px;
    font-size: 13px;
    padding: 0 24px 0 8px;
    min-width: 110px;
}

.ocm-page-buttons[b-blvo2558bl] { display: flex; gap: 4px; }

.ocm-pg-btn[b-blvo2558bl] {
    min-width: 32px;
    height: 32px;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    padding: 0 6px;
}

.ocm-pg-btn:hover:not(:disabled)[b-blvo2558bl] { background: #e9ecef; }
.ocm-pg-btn:disabled[b-blvo2558bl] { opacity: 0.5; cursor: default; }
.ocm-pg-active[b-blvo2558bl] { background: #3680bf !important; border-color: #3680bf !important; color: #fff !important; font-weight: 600; }

@keyframes spin-b-blvo2558bl { to { transform: rotate(360deg); } }
.spin[b-blvo2558bl] { animation: spin-b-blvo2558bl 0.8s linear infinite; }
/* /Components/Pages/Cabinet/OcrTextSearch.razor.rz.scp.css */
.ots-page[b-faf62tdnmv] {
    width: 100%;
    min-height: 100vh;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background: #f4f6f9;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

/* Navbar */
.ots-navbar[b-faf62tdnmv] {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.ots-brand[b-faf62tdnmv] {
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

/* Body */
.ots-body[b-faf62tdnmv] {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
}

/* Header */
.ots-header[b-faf62tdnmv] { margin-bottom: 4px; }

.ots-title[b-faf62tdnmv] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0 0 4px 0;
}

.ots-subtitle[b-faf62tdnmv] {
    margin: 0;
    font-size: 13px;
    color: #777;
}

/* Search area */
.ots-search-area[b-faf62tdnmv] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ots-search-row[b-faf62tdnmv] {
    display: flex;
    gap: 0;
}

.ots-search-input[b-faf62tdnmv] {
    flex: 1;
    height: 38px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-right: none;
    border-radius: 4px 0 0 4px;
    padding: 0 12px;
    outline: none;
    transition: border-color 0.15s;
}

.ots-search-input:focus[b-faf62tdnmv] { border-color: #3680bf; }

.ots-search-btn[b-faf62tdnmv] {
    height: 38px;
    padding: 0 18px;
    background: #3680bf;
    color: #fff;
    border: 1px solid #3680bf;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: background 0.15s;
}

.ots-search-btn:hover:not(:disabled)[b-faf62tdnmv] { background: #2a6aa8; }
.ots-search-btn:disabled[b-faf62tdnmv] { opacity: 0.6; cursor: default; }

.ots-filters-row[b-faf62tdnmv] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.ots-filter-label[b-faf62tdnmv] {
    font-size: 13px;
    color: #555;
    white-space: nowrap;
}

.ots-select[b-faf62tdnmv] {
    height: 32px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0 8px;
    min-width: 140px;
    background: #fff;
}

.ots-error[b-faf62tdnmv] {
    font-size: 13px;
    color: #dc3545;
    margin-left: 8px;
}

/* Empty state */
.ots-empty-state[b-faf62tdnmv] {
    text-align: center;
    padding: 50px 20px;
    color: #999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.ots-empty-state p[b-faf62tdnmv] { margin: 0; font-size: 14px; }

.ots-hint[b-faf62tdnmv] { font-size: 12px !important; color: #bbb !important; }

/* Results info bar */
.ots-results-info[b-faf62tdnmv] {
    font-size: 13px;
    color: #555;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ots-fts-badge[b-faf62tdnmv] {
    font-size: 11px;
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffc107;
    border-radius: 10px;
    padding: 2px 8px;
    white-space: nowrap;
}

/* Table */
.ots-table-wrap[b-faf62tdnmv] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.ots-table-scroll[b-faf62tdnmv] { overflow-x: auto; }

.ots-loading[b-faf62tdnmv], .ots-empty[b-faf62tdnmv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px;
    color: #999;
    font-size: 13px;
}

.ots-table[b-faf62tdnmv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ots-table thead th[b-faf62tdnmv] {
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
    color: #495057;
    white-space: nowrap;
}

.ots-table tbody tr[b-faf62tdnmv] { border-bottom: 1px solid #eee; }
.ots-table tbody tr:hover[b-faf62tdnmv] { background: #f8f9fa; }

.ots-table tbody td[b-faf62tdnmv] { padding: 8px 12px; color: #333; vertical-align: top; }

.ots-docid[b-faf62tdnmv]  { font-family: monospace; font-size: 12px; white-space: nowrap; }
.ots-pages[b-faf62tdnmv]  { text-align: right; white-space: nowrap; color: #555; }
.ots-date[b-faf62tdnmv]   { white-space: nowrap; font-size: 12px; color: #555; }

.ots-snippet[b-faf62tdnmv] {
    font-size: 12px;
    color: #555;
    max-width: 480px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Pagination */
.ots-pagination[b-faf62tdnmv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    font-size: 13px;
    color: #555;
    flex-wrap: wrap;
    gap: 8px;
}

.ots-page-size-wrap[b-faf62tdnmv] { display: flex; align-items: center; }

.ots-page-size[b-faf62tdnmv] {
    height: 30px;
    font-size: 13px;
    padding: 0 24px 0 8px;
    min-width: 110px;
}

.ots-page-buttons[b-faf62tdnmv] { display: flex; gap: 4px; }

.ots-pg-btn[b-faf62tdnmv] {
    min-width: 32px;
    height: 32px;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
    padding: 0 6px;
}

.ots-pg-btn:hover[b-faf62tdnmv] { background: #e9ecef; }
.ots-pg-btn:disabled[b-faf62tdnmv] { opacity: 0.5; cursor: default; }
.ots-pg-btn.ots-pg-active[b-faf62tdnmv] { background: #3680bf; color: #fff; border-color: #3680bf; }

.ots-page-info[b-faf62tdnmv] { font-size: 13px; color: #555; }

@keyframes spin-b-faf62tdnmv {
    to { transform: rotate(360deg); }
}
.spin[b-faf62tdnmv] { animation: spin-b-faf62tdnmv 0.8s linear infinite; }
/* /Components/Pages/Cabinet/PipelineMonitor.razor.rz.scp.css */
/* Operations Center retirement landing — scoped to the stub PipelineMonitor.razor. */

.oc-retired[b-zg2ssqkkkp] {
    font-family: var(--ef-font, Inter, ui-sans-serif, system-ui, sans-serif);
    min-height: 100vh;
    padding: 48px 24px;
    background: var(--ef-surface-2, #f9fafb);
    display: flex;
    justify-content: center;
}

.oc-card[b-zg2ssqkkkp] {
    max-width: 760px;
    background: var(--ef-surface, #fff);
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: var(--ef-radius-14, 14px);
    padding: 28px 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.oc-title[b-zg2ssqkkkp] {
    margin: 0 0 12px 0;
    font-size: var(--ef-text-24, 22px);
    font-weight: 700;
    color: var(--ef-text, #111827);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.oc-title svg[b-zg2ssqkkkp] {
    color: #2563eb;
}

.oc-lead[b-zg2ssqkkkp] {
    margin: 0 0 20px 0;
    font-size: var(--ef-text-14, 14px);
    line-height: 1.55;
    color: var(--ef-text, #374151);
}

.oc-grid[b-zg2ssqkkkp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

@media (max-width: 720px) {
    .oc-grid[b-zg2ssqkkkp] { grid-template-columns: 1fr; }
}

.oc-tile[b-zg2ssqkkkp] {
    padding: 16px;
    border: 1px solid var(--ef-border, #e5e7eb);
    border-radius: var(--ef-radius-10, 10px);
    background: var(--ef-surface-2, #f9fafb);
}

.oc-tile-label[b-zg2ssqkkkp] {
    font-size: var(--ef-text-11, 11px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ef-text-muted, #6b7280);
    margin-bottom: 4px;
}

.oc-tile-title[b-zg2ssqkkkp] {
    font-size: var(--ef-text-16, 16px);
    font-weight: 600;
    color: var(--ef-text, #111827);
    margin-bottom: 6px;
}

.oc-tile-body[b-zg2ssqkkkp] {
    font-size: var(--ef-text-13, 13px);
    line-height: 1.5;
    color: var(--ef-text-muted, #4b5563);
}

.oc-tile-link[b-zg2ssqkkkp] {
    display: inline-block;
    margin-top: 10px;
    font-size: var(--ef-text-12, 12px);
    font-weight: 500;
    color: #2563eb;
    text-decoration: none;
}

.oc-tile-link:hover[b-zg2ssqkkkp] {
    text-decoration: underline;
}

.oc-fineprint[b-zg2ssqkkkp] {
    margin: 12px 0 0 0;
    font-size: var(--ef-text-11, 11px);
    color: var(--ef-text-muted, #6b7280);
    line-height: 1.5;
}

.oc-fineprint code[b-zg2ssqkkkp] {
    background: var(--ef-surface-2, #f3f4f6);
    padding: 1px 5px;
    border-radius: 4px;
    font-size: 11px;
    font-family: ui-monospace, "SFMono-Regular", monospace;
}
/* /Components/Pages/Cabinet/RecordDetail.razor.rz.scp.css */
.record-detail[b-2dwz7vkl7l] {
    display: flex;
    height: 100%;
    overflow: hidden;
}

.record-form[b-2dwz7vkl7l] {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    overflow: auto;
    padding: 16px 24px;
}

.record-form-header[b-2dwz7vkl7l] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    flex-shrink: 0;
}

.record-form-title[b-2dwz7vkl7l] {
    font-size: var(--ef-text-18);
    font-weight: 600;
    color: var(--ef-text);
}

.record-loading[b-2dwz7vkl7l] {
    display: flex;
    justify-content: center;
    padding: 48px;
}

.record-error[b-2dwz7vkl7l] {
    padding: 10px 14px;
    background: rgba(220, 38, 38, .08);
    color: var(--ef-red);
    border-radius: var(--ef-radius-6);
    font-size: var(--ef-text-13);
    margin-bottom: 16px;
    border: 1px solid rgba(220, 38, 38, .2);
}

.record-success[b-2dwz7vkl7l] {
    padding: 10px 14px;
    background: rgba(22, 163, 74, .08);
    color: var(--ef-green);
    border-radius: var(--ef-radius-6);
    font-size: var(--ef-text-13);
    margin-bottom: 16px;
    border: 1px solid rgba(22, 163, 74, .2);
}

.record-fields[b-2dwz7vkl7l] {
    max-width: 600px;
    flex: 1;
    overflow: auto;
}

.record-actions[b-2dwz7vkl7l] {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--ef-border);
    max-width: 600px;
    flex-shrink: 0;
}

/* ── Right Panel: Viewer / Upload ── */
.record-viewer[b-2dwz7vkl7l] {
    flex: 0 0 50%;
    border-left: 1px solid var(--ef-border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.viewer-header[b-2dwz7vkl7l] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    font-size: var(--ef-text-13);
    flex-shrink: 0;
}

.viewer-header .active[b-2dwz7vkl7l] {
    color: var(--ef-color-primary);
    font-weight: 600;
}

.viewer-type[b-2dwz7vkl7l] {
    font-weight: 600;
    color: var(--ef-color-primary);
}

.viewer-field[b-2dwz7vkl7l] {
    color: var(--ef-text-muted);
}

.viewer-placeholder[b-2dwz7vkl7l] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--ef-surface-2);
    color: var(--ef-text-muted);
    font-size: var(--ef-text-14);
    gap: 8px;
}

.viewer-hint[b-2dwz7vkl7l] {
    font-size: var(--ef-text-12);
    opacity: 0.6;
}

/* ── Upload Zone ── */
.upload-zone[b-2dwz7vkl7l] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px;
    border: 2px dashed var(--ef-border);
    margin: 16px;
    border-radius: var(--ef-radius-14);
    background: var(--ef-surface-2);
    transition: border-color 200ms, background 200ms;
    position: relative;
    min-height: 200px;
}

.upload-zone.drag-over[b-2dwz7vkl7l] {
    border-color: var(--ef-color-primary);
    background: var(--ef-primary-bg);
}

.upload-input[b-2dwz7vkl7l] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.upload-icon[b-2dwz7vkl7l] {
    opacity: .4;
}

/* ── Basket Browser ── */
.basket-browser[b-2dwz7vkl7l] {
    flex: 1;
    overflow: auto;
}

.basket-item[b-2dwz7vkl7l] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    margin-bottom: 6px;
    cursor: pointer;
    transition: background 120ms;
}

.basket-item:hover[b-2dwz7vkl7l] {
    background: var(--ef-surface-alt);
}

.basket-doc-item[b-2dwz7vkl7l] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    margin-bottom: 4px;
}

/* ── Uploaded Files List ── */
.uploaded-files[b-2dwz7vkl7l] {
    border-top: 1px solid var(--ef-border);
    flex-shrink: 0;
    max-height: 180px;
    overflow: auto;
}

.uploaded-file-row[b-2dwz7vkl7l] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    font-size: var(--ef-text-12);
    cursor: pointer;
    border-bottom: 1px solid var(--ef-border);
    transition: background 120ms;
}

.uploaded-file-row:hover[b-2dwz7vkl7l] {
    background: var(--ef-surface-alt);
}

.uploaded-file-row.active[b-2dwz7vkl7l] {
    background: var(--ef-primary-bg);
    border-left: 3px solid var(--ef-color-primary);
}
/* /Components/Pages/Cabinet/ScanningReport.razor.rz.scp.css */
.sr-page[b-isdbatpb22] {
    width: 100%;
    min-height: 100vh;
    background: #fff;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    font-size: 14px;
    display: flex;
    flex-direction: column;
}

/* Navbar */
.sr-navbar[b-isdbatpb22] {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.sr-brand[b-isdbatpb22] { font-size: 15px; font-weight: 600; color: #333; }

.sr-nav-right[b-isdbatpb22] { display: flex; align-items: center; gap: 8px; }

/* Body */
.sr-body[b-isdbatpb22] { padding: 16px 20px; display: flex; flex-direction: column; gap: 14px; }

/* Title */
.sr-title[b-isdbatpb22] { font-size: 18px; font-weight: 400; color: #333; margin: 0 0 4px 0; }
.sr-cabinet-label[b-isdbatpb22] { color: darkgray; }

/* Stats */
.sr-stats-table[b-isdbatpb22] { width: 100%; border-collapse: collapse; }
.sr-stat-label[b-isdbatpb22] { color: #555; padding: 4px 0; min-width: 160px; }
.sr-stat-value[b-isdbatpb22] { font-weight: 600; padding: 4px 8px; min-width: 120px; }
.sr-date-range-cell[b-isdbatpb22] { padding: 4px 0; }
.sr-date-range[b-isdbatpb22] { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.sr-label[b-isdbatpb22] { font-size: 13px; color: #555; margin: 0; }

/* Buttons */
.sr-btn[b-isdbatpb22] {
    padding: 3px 10px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
    white-space: nowrap;
    background: #f8f8f8;
    color: #333;
}
.sr-btn:disabled[b-isdbatpb22] { opacity: 0.6; cursor: default; }
.sr-btn-default[b-isdbatpb22]  { background: #f8f8f8; border-color: #ccc; }
.sr-btn-default:hover:not(:disabled)[b-isdbatpb22] { background: #e9e9e9; }
.sr-btn-primary[b-isdbatpb22]  { background: #337ab7; border-color: #2e6da4; color: #fff; }
.sr-btn-primary:hover:not(:disabled)[b-isdbatpb22] { background: #286090; }
.sr-btn-success[b-isdbatpb22]  { background: #5cb85c; border-color: #4cae4c; color: #fff; }
.sr-btn-success:hover:not(:disabled)[b-isdbatpb22] { background: #449d44; }
.sr-btn-match[b-isdbatpb22]    { margin-top: 16px; min-width: 60px; }
.sr-btn-xs[b-isdbatpb22]       { font-size: 12px; padding: 2px 6px; }

/* Inputs */
.sr-input[b-isdbatpb22] { height: 29px; font-size: 13px; border: 1px solid #ccc; border-radius: 3px; padding: 0 8px; max-width: 200px; }
.sr-input:disabled[b-isdbatpb22] { background: #f5f5f5; color: #aaa; }
.sr-input-date[b-isdbatpb22] { height: 29px; font-size: 13px; border: 1px solid #ccc; border-radius: 3px; padding: 0 6px; }
.sr-select[b-isdbatpb22] { height: 29px; font-size: 13px; border: 1px solid #ccc; border-radius: 3px; padding: 0 6px; width: 200px; }
.sr-select:disabled[b-isdbatpb22] { background: #f5f5f5; color: #aaa; }

/* Sections */
.sr-section[b-isdbatpb22] { display: flex; flex-direction: column; gap: 8px; }
.sr-upload-row[b-isdbatpb22] { display: flex; align-items: center; gap: 10px; }
.sr-filename[b-isdbatpb22] { font-style: italic; color: darkgray; font-size: 13px; max-width: 450px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sr-tablename-row[b-isdbatpb22] { display: flex; flex-direction: column; gap: 6px; }
.sr-tablename-controls[b-isdbatpb22] { display: flex; align-items: center; gap: 8px; }
.sr-italic-note[b-isdbatpb22] { font-style: italic; font-size: 13px; color: #555; }
.sr-upload-success[b-isdbatpb22] { padding: 3px 10px; background: #e5ffe5; color: green; border-radius: 4px; font-size: 13px; }
.sr-maplabel[b-isdbatpb22] { color: darkgray; font-size: 13px; }
.sr-small-label[b-isdbatpb22] { font-size: 13px; margin-bottom: 2px; }
.sr-map-table[b-isdbatpb22] { border-collapse: collapse; }
.sr-map-table td[b-isdbatpb22] { padding: 0 10px 0 0; vertical-align: top; }

/* Metrics table */
.sr-metrics-table[b-isdbatpb22] { width: 100%; border-collapse: collapse; border: 1px solid #ddd; font-size: 13px; }
.sr-metrics-table thead th[b-isdbatpb22] {
    background: #f5f5f5;
    padding: 8px 10px;
    border: 1px solid #ddd;
    font-weight: 400;
    text-align: center;
}
.sr-metrics-th-label[b-isdbatpb22] { background: whitesmoke; color: dimgray; width: 165px; vertical-align: middle; font-weight: 600 !important; text-align: left !important; }
.sr-metrics-table tbody td[b-isdbatpb22] { padding: 8px 10px; border: 1px solid #ddd; }
.sr-center[b-isdbatpb22] { text-align: center; }
.sr-bold[b-isdbatpb22] { font-weight: 600; }
.sr-missing-cell[b-isdbatpb22] { position: relative; }
.sr-show-btn[b-isdbatpb22] { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); }
.sr-missings-header[b-isdbatpb22] { background: whitesmoke; }
.sr-missings-row[b-isdbatpb22] { background: #fcfcfc; }
.sr-missings-scroll[b-isdbatpb22] { max-height: 500px; overflow: auto; font-size: 13px; }

/* Cartons */
.sr-cartons-row[b-isdbatpb22] { display: flex; align-items: center; gap: 10px; }
.sr-carton-total[b-isdbatpb22] { color: gray; font-size: 13px; }
.sr-carton-count[b-isdbatpb22] { color: gray; font-size: 13px; }
.sr-missing-cartons-box[b-isdbatpb22] { padding: 5px 10px; font-size: 13px; color: #555; }

/* Grid */
.sr-grid[b-isdbatpb22] { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 6px; }
.sr-grid thead th[b-isdbatpb22] {
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    padding: 8px 10px;
    text-align: left;
    font-weight: 600;
    color: #495057;
    white-space: nowrap;
}
.sr-grid thead th.sr-right[b-isdbatpb22] { text-align: right; }
.sr-grid tbody tr[b-isdbatpb22] { border-bottom: 1px solid #eee; }
.sr-grid-row[b-isdbatpb22] { cursor: pointer; }
.sr-grid-row:hover[b-isdbatpb22] { background: #f5f5f5; }
.sr-grid tbody td[b-isdbatpb22] { padding: 7px 10px; }
.sr-right[b-isdbatpb22] { text-align: right; }
.sr-detail-row[b-isdbatpb22] { background: #fafafa; }
.sr-detail-content[b-isdbatpb22] { padding: 6px 10px; font-size: 12px; color: #555; }
/* /Components/Pages/Cabinet/SearchIndexManager.razor.rz.scp.css */
.sim-page[b-jh4iaoq52f] {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    background: #f4f6f9;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    box-sizing: border-box;
}

/* Toolbar */
.sim-toolbar[b-jh4iaoq52f] {
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.sim-back-btn[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-size: 13px;
    background: transparent;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    color: #666;
}
.sim-back-btn:hover[b-jh4iaoq52f] { background: #f0f0f0; }

.sim-nav-right[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sim-sep[b-jh4iaoq52f] { color: #ddd; margin: 0 2px; }

.sim-refresh-btn[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    font-size: 13px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    color: #333;
}
.sim-refresh-btn:hover:not(:disabled)[b-jh4iaoq52f] { background: #e9ecef; }
.sim-refresh-btn:disabled[b-jh4iaoq52f] { opacity: 0.5; cursor: default; }

/* Buttons */
.sim-btn[b-jh4iaoq52f] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    font-size: 13px;
    border-radius: 4px;
    cursor: pointer;
    border: 1px solid transparent;
}
.sim-btn:disabled[b-jh4iaoq52f] { opacity: 0.55; cursor: default; }

.sim-btn-primary[b-jh4iaoq52f] {
    background: #3680bf;
    color: #fff;
    border-color: #2d6fa3;
}
.sim-btn-primary:hover:not(:disabled)[b-jh4iaoq52f] { background: #2d6fa3; }

.sim-btn-backfill[b-jh4iaoq52f] {
    background: #e8f1fb;
    color: #1a5fa8;
    border-color: #b8d0ee;
    padding: 4px 10px;
    font-size: 12px;
    white-space: nowrap;
}
.sim-btn-backfill:hover:not(:disabled)[b-jh4iaoq52f] { background: #d0e4f7; }

.sim-btn-retry[b-jh4iaoq52f] {
    background: #fff3cd;
    color: #856404;
    border-color: #ffc107;
    padding: 4px 10px;
    font-size: 12px;
    white-space: nowrap;
}
.sim-btn-retry:hover:not(:disabled)[b-jh4iaoq52f] { background: #ffe69c; }
.sim-btn-retry.sim-btn-sm[b-jh4iaoq52f] { font-size: 12px; padding: 3px 8px; }

.sim-btn-secondary[b-jh4iaoq52f] {
    background: #f0f0f0;
    color: #555;
    border-color: #ccc;
}
.sim-btn-secondary:hover:not(:disabled)[b-jh4iaoq52f] { background: #e0e0e0; }

.sim-btn-force[b-jh4iaoq52f] {
    background: #fde8d8;
    color: #8b3a0f;
    border-color: #f5b28a;
    font-size: 12px;
    white-space: nowrap;
}
.sim-btn-force:hover:not(:disabled)[b-jh4iaoq52f] { background: #fbd3bb; }

.sim-action-group[b-jh4iaoq52f] {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

.sim-stat-fail[b-jh4iaoq52f] { background: #f8d7da; color: #721c24; }

/* Body */
.sim-body[b-jh4iaoq52f] {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-sizing: border-box;
}

/* Health bar */
.sim-health[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 5px;
    font-size: 13px;
    border: 1px solid;
}
.sim-health-ok[b-jh4iaoq52f]   { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.sim-health-warn[b-jh4iaoq52f] { background: #fff3cd; color: #856404; border-color: #ffeeba; }

.sim-health-dot[b-jh4iaoq52f] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}
.sim-health-sep[b-jh4iaoq52f] { opacity: 0.5; }

/* Result banner */
.sim-banner[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 5px;
    font-size: 13px;
    border: 1px solid;
    gap: 10px;
}
.sim-banner-ok[b-jh4iaoq52f]    { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.sim-banner-error[b-jh4iaoq52f] { background: #f8d7da; color: #721c24; border-color: #f5c6cb; }

.sim-banner-dismiss[b-jh4iaoq52f] {
    background: none;
    border: none;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    padding: 0 2px;
    flex-shrink: 0;
}
.sim-banner-dismiss:hover[b-jh4iaoq52f] { opacity: 1; }

/* Header */
.sim-header[b-jh4iaoq52f] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.sim-title[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin: 0 0 4px;
}

.sim-subtitle[b-jh4iaoq52f] {
    font-size: 13px;
    color: #777;
    margin: 0;
}

.sim-header-stats[b-jh4iaoq52f] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.sim-stat[b-jh4iaoq52f] {
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    background: #e2e3e5;
    color: #383d41;
}
.sim-stat-ok[b-jh4iaoq52f]   { background: #d4edda; color: #155724; }
.sim-stat-none[b-jh4iaoq52f] { background: #e2e3e5; color: #555; }

/* Table */
.sim-table-wrap[b-jh4iaoq52f] {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: clip;
}

.sim-loading[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px;
    color: #999;
    font-size: 13px;
}

.sim-table[b-jh4iaoq52f] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.sim-table thead th[b-jh4iaoq52f] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    color: #495057;
    white-space: nowrap;
}

.sim-table tbody tr[b-jh4iaoq52f] { border-bottom: 1px solid #eee; }
.sim-table tbody tr:hover[b-jh4iaoq52f] { background: #fafbfc; }
.sim-table tbody tr:last-child[b-jh4iaoq52f] { border-bottom: none; }
.sim-row-warn[b-jh4iaoq52f] { background: #fffdf0 !important; }
.sim-row-warn:hover[b-jh4iaoq52f] { background: #fff8e0 !important; }

.sim-table tbody td[b-jh4iaoq52f] { padding: 10px 14px; color: #333; vertical-align: middle; }

.sim-num[b-jh4iaoq52f]         { text-align: right; font-variant-numeric: tabular-nums; }
.sim-coverage-col[b-jh4iaoq52f] { min-width: 180px; }
.sim-actions-col[b-jh4iaoq52f] { width: 110px; }
.sim-actions[b-jh4iaoq52f]     { text-align: right; }

.sim-label[b-jh4iaoq52f]  { display: block; font-weight: 500; color: #222; }
.sim-tbname[b-jh4iaoq52f] { display: block; font-size: 11px; color: #999; margin-top: 1px; }

.sim-fail-count[b-jh4iaoq52f] { color: #c0392b; font-weight: 600; }
.sim-fail-link[b-jh4iaoq52f]  { cursor: pointer; text-decoration: underline dotted; }
.sim-fail-link:hover[b-jh4iaoq52f] { color: #922b21; }

.sim-date[b-jh4iaoq52f] { font-size: 12px; color: #666; white-space: nowrap; }

.sim-empty[b-jh4iaoq52f] {
    text-align: center;
    padding: 48px !important;
    color: #999;
}

/* Coverage progress bar */
.sim-progress[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sim-progress-bar[b-jh4iaoq52f] {
    flex: 1;
    height: 7px;
    background: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
    max-width: 120px;
}

.sim-progress-fill[b-jh4iaoq52f] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.sim-fill-full[b-jh4iaoq52f] { background: #28a745; }
.sim-fill-high[b-jh4iaoq52f] { background: #5cb85c; }
.sim-fill-mid[b-jh4iaoq52f]  { background: #f0ad4e; }
.sim-fill-low[b-jh4iaoq52f]  { background: #d9534f; }

.sim-progress-pct[b-jh4iaoq52f] {
    font-size: 12px;
    color: #555;
    white-space: nowrap;
    min-width: 36px;
}

/* Badge */
.sim-badge[b-jh4iaoq52f] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}
.sim-badge-none[b-jh4iaoq52f] { background: #e2e3e5; color: #555; }

@keyframes spin-b-jh4iaoq52f {
    to { transform: rotate(360deg); }
}
.spin[b-jh4iaoq52f] { animation: spin-b-jh4iaoq52f 0.8s linear infinite; }

/* Error detail modal */
.sim-modal-backdrop[b-jh4iaoq52f] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.sim-modal[b-jh4iaoq52f] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2);
    width: 100%;
    max-width: 760px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sim-modal-header[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #e0e0e0;
    gap: 12px;
    flex-shrink: 0;
}

.sim-modal-title[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.sim-modal-header-actions[b-jh4iaoq52f] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sim-modal-close[b-jh4iaoq52f] {
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    padding: 0 4px;
}
.sim-modal-close:hover[b-jh4iaoq52f] { color: #333; }

.sim-modal-body[b-jh4iaoq52f] {
    overflow-y: auto;
    flex: 1;
}

.sim-error-msg[b-jh4iaoq52f] {
    font-size: 12px;
    color: #721c24;
    max-width: 340px;
    word-break: break-word;
}
/* /Components/Pages/Home/Dashboard.razor.rz.scp.css */
.dashboard[b-t5y4xsftbs] {
    padding: 24px;
    overflow-y: auto;
    height: 100%;
}

.dashboard-header[b-t5y4xsftbs] {
    margin-bottom: 24px;
}

.dashboard-title[b-t5y4xsftbs] {
    font-size: var(--ef-text-24);
    font-weight: 700;
    color: var(--ef-text);
    margin-bottom: 4px;
}

.dashboard-subtitle[b-t5y4xsftbs] {
    font-size: var(--ef-text-14);
    color: var(--ef-text-muted);
}

.dashboard-loading[b-t5y4xsftbs] {
    display: flex;
    justify-content: center;
    padding: 48px;
}

.dashboard-filter[b-t5y4xsftbs] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    margin-bottom: var(--ef-space-16);
}

.cabinet-grid[b-t5y4xsftbs] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

/* ── Cabinet Cards ── */
.cabinet-card[b-t5y4xsftbs] {
    display: flex;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-10);
    overflow: visible;
    cursor: pointer;
    transition: box-shadow var(--ef-transition-base), transform var(--ef-transition-base), border-color var(--ef-transition-base);
    box-shadow: var(--ef-shadow-1);
}

.cabinet-card:hover[b-t5y4xsftbs] {
    box-shadow: var(--ef-shadow-3);
    transform: translateY(-2px);
    border-color: var(--ef-color-primary);
}

.cabinet-card:hover .cabinet-card-accent[b-t5y4xsftbs] {
    background: var(--ef-color-primary);
}

.cabinet-card-inactive[b-t5y4xsftbs] {
    opacity: 0.7;
}

.cabinet-card-inactive:hover[b-t5y4xsftbs] {
    border-color: var(--ef-border-strong, var(--ef-border));
}

.cabinet-card-inactive .cabinet-card-accent[b-t5y4xsftbs] {
    background: var(--ef-text-muted);
}

.cabinet-card-accent[b-t5y4xsftbs] {
    width: 4px;
    flex-shrink: 0;
    background: var(--ef-color-primary-light, rgba(37, 99, 235, 0.25));
    transition: background var(--ef-transition-base);
    border-radius: var(--ef-radius-10) 0 0 var(--ef-radius-10);
}

.cabinet-card-content[b-t5y4xsftbs] {
    flex: 1;
    padding: var(--ef-space-16);
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-8);
}

.cabinet-card-top[b-t5y4xsftbs] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
}

.cabinet-card-icon[b-t5y4xsftbs] {
    color: var(--ef-color-primary);
    flex-shrink: 0;
}

.cabinet-card-label[b-t5y4xsftbs] {
    font-size: var(--ef-text-15, 15px);
    font-weight: 600;
    color: var(--ef-text);
    margin: 0;
    flex: 1;
}

.cabinet-card-badge[b-t5y4xsftbs] {
    flex-shrink: 0;
}

/* ── Info button ── */
.cab-info-btn[b-t5y4xsftbs] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 1.5px solid currentColor;
    background: none;
    color: var(--ef-text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    font-size: 10px;
    font-style: italic;
    font-weight: 700;
    font-family: Georgia, serif;
    line-height: 1;
    opacity: 0.35;
    transition: opacity .15s, color .15s, border-color .15s, background .15s;
}

.cab-info-btn:hover[b-t5y4xsftbs] {
    opacity: 1;
    color: var(--ef-color-primary);
    border-color: var(--ef-color-primary);
    background: rgba(37,99,235,.06);
}

/* ── Cabinet info modal table ── */
.cab-info-table[b-t5y4xsftbs] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.cab-info-table td[b-t5y4xsftbs] {
    border-bottom: 1px solid var(--ef-border);
    vertical-align: top;
}

.cab-info-table tr:last-child td[b-t5y4xsftbs] {
    border-bottom: none;
}

.cab-info-table td:first-child[b-t5y4xsftbs] {
    color: var(--ef-text-muted);
    width: 130px;
    font-weight: 500;
}

.cab-info-table td:last-child[b-t5y4xsftbs] {
    font-weight: 600;
    color: var(--ef-text);
}

.cab-info-table tr.cab-info-section td[b-t5y4xsftbs] {
    background: var(--ef-bg, #f7f7f7);
    color: var(--ef-text-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 6px 16px;
    border-bottom: 1px solid var(--ef-border);
}

.cab-info-table td[b-t5y4xsftbs] {
    padding: 7px 16px;
}

.cab-info-table code[b-t5y4xsftbs] {
    font-size: 12px;
    background: var(--ef-bg, #f5f5f5);
    padding: 1px 5px;
    border-radius: 3px;
    font-weight: 500;
    color: var(--ef-text);
}

.cabinet-card-desc[b-t5y4xsftbs] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    line-height: 1.4;
    margin: 0;
}

.cabinet-card-stats[b-t5y4xsftbs] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-16);
    margin-top: var(--ef-space-4);
}

.cabinet-stat[b-t5y4xsftbs] {
    display: inline-flex;
    align-items: center;
    gap: var(--ef-space-4);
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
}

.cabinet-stat strong[b-t5y4xsftbs] {
    color: var(--ef-text);
    font-weight: 600;
}

.cabinet-stat svg[b-t5y4xsftbs] {
    opacity: 0.5;
}

/* ── Activity Feed ── */
.activity-section[b-t5y4xsftbs] {
    margin-top: 32px;
}

.activity-title[b-t5y4xsftbs] {
    font-size: var(--ef-text-18);
    font-weight: 600;
    color: var(--ef-text);
    margin-bottom: 16px;
}

.activity-feed[b-t5y4xsftbs] {
    display: flex;
    flex-direction: column;
}

.activity-item[b-t5y4xsftbs] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ef-border);
}

.activity-item:last-child[b-t5y4xsftbs] {
    border-bottom: none;
}

.activity-dot[b-t5y4xsftbs] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 6px;
}

[b-t5y4xsftbs] .dot-green { background: var(--ef-green); }
[b-t5y4xsftbs] .dot-red { background: var(--ef-red); }
[b-t5y4xsftbs] .dot-blue { background: var(--ef-color-primary); }
[b-t5y4xsftbs] .dot-gray { background: var(--ef-text-muted); opacity: .5; }

.activity-content[b-t5y4xsftbs] {
    flex: 1;
    min-width: 0;
}

.activity-text[b-t5y4xsftbs] {
    font-size: var(--ef-text-13);
    color: var(--ef-text);
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    align-items: baseline;
}

.activity-link[b-t5y4xsftbs] {
    color: var(--ef-color-primary);
    text-decoration: none;
    cursor: pointer;
}

.activity-link:hover[b-t5y4xsftbs] {
    text-decoration: underline;
}

.activity-detail[b-t5y4xsftbs] {
    font-size: var(--ef-text-11);
    color: var(--ef-text-muted);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.activity-time[b-t5y4xsftbs] {
    font-size: var(--ef-text-11);
    color: var(--ef-text-muted);
    white-space: nowrap;
    flex-shrink: 0;
}
/* /Components/Pages/Mobile/MobileCabinetSearch.razor.rz.scp.css */
/* Sticky search bar at the top of the result list — sits flush under the
   48-px MobileLayout top-bar so the input stays available while scrolling. */

.m-search-wrap[b-69yzm566mq] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--ef-bg, #f9fafb);
    padding: 12px 12px 8px;
    border-bottom: 1px solid var(--ef-border, #e5e7eb);
}

.m-search-bar[b-69yzm566mq] {
    display: flex;
    gap: 8px;
}

.m-search-input[b-69yzm566mq] {
    flex: 1;
}

.m-search-btn[b-69yzm566mq] {
    flex-shrink: 0;
    width: 48px;
    padding: 0;
}
/* /Components/Pages/Mobile/MobileDocumentViewer.razor.rz.scp.css */
/* Full-bleed document viewer — fills everything below the layout's 48-px top
   bar. height: 100% so it follows .m-body's flex sizing instead of fighting
   it; the WebViewer iframe inside fills the container 1:1. */

.m-viewer-wrap[b-ncp0dx9fmb] {
    height: 100%;
    width: 100%;
    background: #525659; /* PDFTron's default page-background grey */
    display: flex;
}

.m-webviewer[b-ncp0dx9fmb] {
    flex: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
}

/* The WebViewer JS injects an <iframe> into #m-webviewer — make sure it
   stretches with us. */
.m-webviewer iframe[b-ncp0dx9fmb] {
    width: 100% !important;
    height: 100% !important;
    border: none;
    display: block;
}
/* /Components/Pages/ReleaseNotes/ReleaseNotes.razor.rz.scp.css */
.rn-page[b-yn1gw5tgjt] {
    height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    padding: var(--ef-space-32) max(var(--ef-space-24), calc(50% - 400px));
}

.rn-header[b-yn1gw5tgjt] {
    margin-bottom: var(--ef-space-32);
    border-bottom: 1px solid var(--ef-border);
    padding-bottom: var(--ef-space-16);
}

.rn-h1[b-yn1gw5tgjt] {
    font-size: var(--ef-text-24);
    font-weight: 700;
    color: var(--ef-text);
    margin: 0 0 var(--ef-space-4);
}

.rn-sub[b-yn1gw5tgjt] {
    font-size: var(--ef-text-14);
    color: var(--ef-text-muted);
    margin: 0;
}

.rn-release[b-yn1gw5tgjt] {
    margin-bottom: var(--ef-space-32);
}

.rn-version-row[b-yn1gw5tgjt] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-12);
    margin-bottom: var(--ef-space-4);
}

.rn-version[b-yn1gw5tgjt] {
    font-size: var(--ef-text-20);
    font-weight: 700;
    color: var(--ef-text);
    margin: 0;
}

.rn-date[b-yn1gw5tgjt] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
}

.rn-components[b-yn1gw5tgjt] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    margin-bottom: var(--ef-space-24);
}

.rn-components strong[b-yn1gw5tgjt] {
    color: var(--ef-text);
}

.rn-sep[b-yn1gw5tgjt] {
    margin: 0 6px;
    opacity: 0.5;
}

/* Markdown-rendered body (Markdig output). The old hand-styled markup
   used .rn-h3; markdown emits plain <h3>, so style by tag scoped to .rn-body. */
.rn-body h2[b-yn1gw5tgjt],
.rn-body h3[b-yn1gw5tgjt] {
    font-size: var(--ef-text-16, 16px);
    font-weight: 600;
    color: var(--ef-text);
    margin: var(--ef-space-24) 0 var(--ef-space-8);
}

.rn-release p[b-yn1gw5tgjt],
.rn-body p[b-yn1gw5tgjt] {
    font-size: var(--ef-text-14);
    color: var(--ef-text);
    line-height: 1.6;
    margin: 0 0 var(--ef-space-12);
}

.rn-release ul[b-yn1gw5tgjt],
.rn-body ul[b-yn1gw5tgjt],
.rn-body ol[b-yn1gw5tgjt] {
    margin: 0 0 var(--ef-space-16);
    padding-left: var(--ef-space-24);
    color: var(--ef-text);
    font-size: var(--ef-text-14);
    line-height: 1.7;
}

.rn-release li[b-yn1gw5tgjt],
.rn-body li[b-yn1gw5tgjt] {
    margin-bottom: 4px;
}

.rn-release code[b-yn1gw5tgjt],
.rn-body code[b-yn1gw5tgjt] {
    background: var(--ef-surface-2);
    border: 1px solid var(--ef-border);
    border-radius: 4px;
    padding: 1px 6px;
    font-family: var(--ef-font-mono, "Consolas", "Monaco", monospace);
    font-size: 0.92em;
    color: var(--ef-text);
}

.rn-body strong[b-yn1gw5tgjt] {
    color: var(--ef-text);
    font-weight: 600;
}

.rn-footer[b-yn1gw5tgjt] {
    margin-top: var(--ef-space-32);
    padding-top: var(--ef-space-16);
    border-top: 1px solid var(--ef-border);
}

.rn-footer-note[b-yn1gw5tgjt] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    text-align: center;
    margin: 0;
}

.rn-footer-note a[b-yn1gw5tgjt] {
    color: var(--ef-color-primary);
    text-decoration: none;
}

.rn-footer-note a:hover[b-yn1gw5tgjt] {
    text-decoration: underline;
}
/* /Components/Pages/Search/AiSearch.razor.rz.scp.css */
/* ── Page shell ───────────────────────────────────────────── */
.ais-page[b-0txjegdewy] {
    height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    padding: var(--ef-space-24) max(var(--ef-space-24), calc(50% - 520px));
}

/* ── Header ───────────────────────────────────────────────── */
.ais-header[b-0txjegdewy] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-12);
    margin-bottom: var(--ef-space-4);
}

.ais-header-icon[b-0txjegdewy] {
    color: var(--ef-color-primary);
    flex-shrink: 0;
}

.ais-title[b-0txjegdewy] {
    font-size: var(--ef-text-20);
    font-weight: 600;
    color: var(--ef-text);
    margin: 0;
}

.ais-subtitle[b-0txjegdewy] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    margin: 0 0 var(--ef-space-16);
}

/* ── Search row ───────────────────────────────────────────── */
.ais-search-row[b-0txjegdewy] {
    display: flex;
    gap: var(--ef-space-8);
    margin-bottom: var(--ef-space-16);
}

.ais-input-wrap[b-0txjegdewy] {
    flex: 1;
}

.ais-input[b-0txjegdewy] {
    width: 100%;
    height: var(--ef-btn-height-lg);
    font-size: var(--ef-text-14);
}

.ais-search-btn[b-0txjegdewy] {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ais-spinner-inline[b-0txjegdewy] {
    width: 14px;
    height: 14px;
    border-width: 2px;
    display: inline-block;
}

/* ── Cabinet scope control (summary button + picker popover) ─ */
.ais-scope-wrap[b-0txjegdewy] {
    position: relative;            /* anchor for the absolutely-positioned popover */
    margin-bottom: var(--ef-space-12);
}

.ais-scope-button[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;              /* ≥44px hit area via padding below */
    padding: 8px 14px;
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    background: var(--ef-surface);
    color: var(--ef-text);
    font-size: var(--ef-text-13);
    font-family: var(--ef-font);
    cursor: pointer;
    transition: border-color var(--ef-transition-fast), color var(--ef-transition-fast);
    white-space: nowrap;
}

.ais-scope-button:hover[b-0txjegdewy] {
    border-color: var(--ef-color-primary);
    color: var(--ef-color-primary);
}

.ais-scope-button:focus-visible[b-0txjegdewy] {
    outline: 2px solid var(--ef-color-focus, var(--ef-color-primary));
    outline-offset: 2px;
}

.ais-scope-chevron[b-0txjegdewy] {
    transition: transform var(--ef-transition-fast);
}

.ais-scope-chevron.open[b-0txjegdewy] {
    transform: rotate(180deg);
}

/* Popover. The page shell (.ais-page) is overflow-y:auto — an absolutely
   positioned child would normally be clipped by that scroll container
   (project CLAUDE.md gotcha). We pin the popover to the scope wrapper, give
   it a high z-index, and cap its own height with internal scroll so it never
   relies on the page being able to overflow it. */
.ais-cabinet-picker[b-0txjegdewy] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 50;
    width: min(420px, 92vw);
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-10);
    box-shadow: var(--ef-shadow-2);
    padding: var(--ef-space-8);
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-4);
}

.ais-cabinet-filter[b-0txjegdewy] {
    width: 100%;
    height: var(--ef-btn-height-md, 34px);
    font-size: var(--ef-text-13);
    margin-bottom: var(--ef-space-4);
}

.ais-cabinet-list[b-0txjegdewy] {
    /* ~320px target, but shrink on short viewports so the whole popover (filter +
       All row + list) stays inside the viewport — the .ais-page scroll container
       would otherwise clip the bottom of an absolutely-positioned popover
       (project CLAUDE.md overflow:auto gotcha). Internal scroll keeps every row
       reachable regardless. */
    max-height: min(320px, 50vh);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.ais-cabinet-row[b-0txjegdewy] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: 8px 10px;             /* ≥44px row hit area */
    border-radius: var(--ef-radius-6);
    cursor: pointer;
    font-size: var(--ef-text-13);
    color: var(--ef-text);
}

.ais-cabinet-row:hover[b-0txjegdewy] {
    background: var(--ef-surface-2);
}

.ais-cabinet-row input[type="checkbox"][b-0txjegdewy] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    accent-color: var(--ef-color-primary);
    cursor: pointer;
}

.ais-cabinet-row-all[b-0txjegdewy] {
    border-bottom: 1px solid var(--ef-border);
    border-radius: 0;
    margin-bottom: var(--ef-space-4);
    font-weight: 500;
}

.ais-cabinet-row-label[b-0txjegdewy] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ais-cabinet-row-count[b-0txjegdewy] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    background: var(--ef-surface-2);
    padding: 1px 8px;
    border-radius: 999px;
    flex-shrink: 0;
}

.ais-cabinet-empty[b-0txjegdewy] {
    padding: var(--ef-space-12);
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    text-align: center;
}

/* ── Summary bar ──────────────────────────────────────────── */
.ais-summary[b-0txjegdewy] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    margin-bottom: var(--ef-space-16);
}

.ais-summary strong[b-0txjegdewy] { color: var(--ef-text); }

.ais-timing[b-0txjegdewy] {
    margin-left: 6px;
    opacity: 0.6;
}

/* ── State: loading ───────────────────────────────────────── */
.ais-loading[b-0txjegdewy] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-12);
    padding: var(--ef-space-32) var(--ef-space-16);
    color: var(--ef-text-muted);
}

/* ── State: error ─────────────────────────────────────────── */
.ais-error[b-0txjegdewy] {
    padding: var(--ef-space-12) var(--ef-space-16);
    color: var(--ef-red);
    background: var(--ef-red-bg);
    border: 1px solid var(--ef-red-bg);
    border-radius: var(--ef-radius-6);
    font-size: var(--ef-text-13);
}

/* ── State: empty ─────────────────────────────────────────── */
.ais-empty[b-0txjegdewy] {
    text-align: center;
    padding: var(--ef-space-48) var(--ef-space-16);
    color: var(--ef-text-muted);
}

.ais-empty-icon[b-0txjegdewy] {
    opacity: 0.35;
    margin-bottom: var(--ef-space-12);
}

/* ── State: idle ──────────────────────────────────────────── */
.ais-idle[b-0txjegdewy] {
    text-align: center;
    padding: 64px var(--ef-space-16);
    color: var(--ef-text-muted);
}

.ais-idle-icon[b-0txjegdewy] {
    color: var(--ef-color-primary);
    opacity: 0.3;
    margin-bottom: var(--ef-space-16);
}

.ais-hint[b-0txjegdewy] {
    font-size: var(--ef-text-13);
    margin-top: var(--ef-space-8);
    opacity: 0.75;
}

/* ── Result cards ─────────────────────────────────────────── */
.ais-results[b-0txjegdewy] {
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-12);
    margin-bottom: var(--ef-space-24);
}

.ais-result-card[b-0txjegdewy] {
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    padding: var(--ef-space-16);
    background: var(--ef-surface);
    cursor: pointer;
    transition: border-color var(--ef-transition-fast), box-shadow var(--ef-transition-fast);
}

.ais-result-card:hover[b-0txjegdewy] {
    border-color: var(--ef-color-primary);
    box-shadow: 0 0 0 3px var(--ef-primary-bg, rgba(37, 99, 235, 0.08));
}

.ais-result-card:focus-visible[b-0txjegdewy] {
    outline: 2px solid var(--ef-color-primary);
    outline-offset: 2px;
}

/* ── Result header row ────────────────────────────────────── */
.ais-result-header[b-0txjegdewy] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    margin-bottom: var(--ef-space-8);
    flex-wrap: wrap;
}

.ais-result-docid[b-0txjegdewy] {
    font-size: var(--ef-text-13);
    font-weight: 600;
    color: var(--ef-color-primary);
    white-space: nowrap;
}

.ais-result-cabinet[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    white-space: nowrap;
}

.ais-result-score[b-0txjegdewy] {
    font-size: var(--ef-text-11);
    color: var(--ef-text-muted);
    background: var(--ef-surface-2);
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

.ais-open-btn[b-0txjegdewy] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: var(--ef-text-12);
    flex-shrink: 0;
}

/* ── Snippet (hit-highlighted) ────────────────────────────── */
.ais-snippet[b-0txjegdewy] {
    font-size: var(--ef-text-13);
    color: var(--ef-text);
    line-height: 1.55;
    margin-bottom: var(--ef-space-8);
}

/* CasoRest wraps matched terms in <em> */
.ais-snippet :deep(em)[b-0txjegdewy] {
    font-style: normal;
    background: rgba(250, 204, 21, 0.3);
    border-radius: 2px;
    padding: 0 2px;
    color: var(--ef-text);
}

/* ── Field preview chips ──────────────────────────────────── */
.ais-fields[b-0txjegdewy] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ef-space-8);
}

.ais-field[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: var(--ef-text-12);
    background: var(--ef-surface-2);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-4);
    padding: 3px 10px;
    white-space: nowrap;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ais-field-key[b-0txjegdewy] {
    color: var(--ef-text-muted);
    flex-shrink: 0;
}

.ais-field-val[b-0txjegdewy] {
    color: var(--ef-text);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Load more ────────────────────────────────────────────── */
.ais-loadmore-wrap[b-0txjegdewy] {
    text-align: center;
    padding-bottom: var(--ef-space-32);
}

.ais-loadmore-btn[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: var(--ef-space-8);
    font-size: var(--ef-text-13);
}

.ais-remaining[b-0txjegdewy] {
    color: var(--ef-text-muted);
    font-size: var(--ef-text-12);
}

/* ── Search mode badge ────────────────────────────────────── */
.ais-mode-badge[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    padding: .15rem .55rem;
    border-radius: 999px;
    font-size: var(--ef-text-11, .6875rem);
    font-weight: 600;
    letter-spacing: .02em;
    vertical-align: middle;
    margin-left: .6rem;
    cursor: default;
    user-select: none;
}

.ais-mode-semantic[b-0txjegdewy] { background: #ede9fe; color: #5b21b6; }
.ais-mode-hybrid[b-0txjegdewy]   { background: #dbeafe; color: #1d4ed8; }
.ais-mode-keyword[b-0txjegdewy]  { background: #f1f5f9; color: #64748b; }

/* ── Mode toggle (segmented control: Find documents / Ask a question) ── */
.ais-mode-toggle[b-0txjegdewy] {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    background: var(--ef-surface-2);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-10);
    margin-top: var(--ef-space-12);
    margin-bottom: var(--ef-space-8);
}

.ais-segment[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 8px 16px;
    font-size: var(--ef-text-14);
    font-weight: 500;
    color: var(--ef-text-muted);
    background: none;
    border: 1px solid transparent;
    border-radius: var(--ef-radius-8);
    cursor: pointer;
    transition: color var(--ef-transition-fast), background var(--ef-transition-fast);
    font-family: var(--ef-font);
    white-space: nowrap;
}

.ais-segment:hover[b-0txjegdewy] {
    color: var(--ef-text);
}

.ais-segment.selected[b-0txjegdewy] {
    background: var(--ef-primary-bg, rgba(37, 99, 235, 0.1));
    color: var(--ef-color-primary);
    border-color: var(--ef-color-primary);
}

.ais-segment:focus-visible[b-0txjegdewy] {
    outline: 2px solid var(--ef-color-focus, var(--ef-color-primary));
    outline-offset: 2px;
}

/* Disabled (Ask, no model configured). The "Not configured" sub-label carries the
   state — color is not the only cue (a11y §6). The segment stays clickable so the
   user can reach the configure affordance. */
.ais-segment-disabled[b-0txjegdewy] {
    opacity: 0.7;
}

.ais-segment-sublabel[b-0txjegdewy] {
    font-size: var(--ef-text-11);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--ef-text-muted);
    padding: 1px 6px;
    border-radius: 999px;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
}

.ais-segment-icon[b-0txjegdewy] {
    flex-shrink: 0;
}

/* ── Mode explainer line ──────────────────────────────────── */
.ais-explainer[b-0txjegdewy] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    margin: 0 0 var(--ef-space-16);
}

/* ── Ask-disabled info alert (blue) ───────────────────────── */
.ais-info-alert[b-0txjegdewy] {
    display: flex;
    align-items: flex-start;
    gap: var(--ef-space-12);
    padding: var(--ef-space-12) var(--ef-space-16);
    background: var(--ef-blue-bg, rgba(37, 99, 235, 0.08));
    border: 1px solid var(--ef-blue-border, rgba(37, 99, 235, 0.3));
    border-radius: var(--ef-radius-6);
    font-size: var(--ef-text-13);
    color: var(--ef-text);
    line-height: 1.55;
    margin-bottom: var(--ef-space-16);
}

.ais-info-icon[b-0txjegdewy] {
    color: var(--ef-color-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

.ais-info-body p[b-0txjegdewy] {
    margin: 0;
}

.ais-info-title[b-0txjegdewy] {
    font-weight: 600;
    margin-bottom: 2px !important;
}

.ais-info-link[b-0txjegdewy] {
    color: var(--ef-color-primary);
    font-weight: 500;
    text-decoration: underline;
}

.ais-info-link:focus-visible[b-0txjegdewy] {
    outline: 2px solid var(--ef-color-focus, var(--ef-color-primary));
    outline-offset: 2px;
}

/* ── Cabinet result groups (multi-cabinet, collapsible) ───── */
.ais-group[b-0txjegdewy] {
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    margin-bottom: var(--ef-space-16);
    overflow: hidden;
    background: var(--ef-surface);
}

.ais-group-header[b-0txjegdewy] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    width: 100%;
    min-height: 44px;
    padding: var(--ef-space-12) var(--ef-space-16);
    background: var(--ef-surface-2);
    border: none;
    border-bottom: 1px solid var(--ef-border);
    color: var(--ef-text);
    font-family: var(--ef-font);
    font-size: var(--ef-text-13);
    cursor: pointer;
    text-align: left;
}

.ais-group-header:hover[b-0txjegdewy] {
    color: var(--ef-color-primary);
}

.ais-group-header:focus-visible[b-0txjegdewy] {
    outline: 2px solid var(--ef-color-focus, var(--ef-color-primary));
    outline-offset: -2px;
}

.ais-group-chevron[b-0txjegdewy] {
    transition: transform var(--ef-transition-fast);
    flex-shrink: 0;
}

.ais-group-chevron.open[b-0txjegdewy] {
    transform: rotate(90deg);
}

.ais-group-label[b-0txjegdewy] {
    font-weight: 600;
}

.ais-count-badge[b-0txjegdewy] {
    font-size: var(--ef-text-12);
    background: var(--ef-primary-bg, rgba(37, 99, 235, 0.1));
    color: var(--ef-color-primary);
    padding: 2px 10px;
    border-radius: 999px;
    margin-left: auto;
    font-weight: 500;
    white-space: nowrap;
}

.ais-group-body[b-0txjegdewy] {
    padding: var(--ef-space-16);
}

.ais-group-body .ais-results[b-0txjegdewy] {
    margin-bottom: 0;
}

/* ── Ask form ─────────────────────────────────────────────── */
.ais-ask-form[b-0txjegdewy] {
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-8);
    margin-bottom: var(--ef-space-12);
}

.ais-ask-input[b-0txjegdewy] {
    width: 100%;
    font-size: var(--ef-text-14);
    padding: var(--ef-space-8) var(--ef-space-12);
    resize: vertical;
    min-height: 62px;
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    background: var(--ef-surface);
    color: var(--ef-text);
    font-family: var(--ef-font);
    line-height: 1.5;
    box-sizing: border-box;
    transition: border-color var(--ef-transition-fast);
}

.ais-ask-input:focus[b-0txjegdewy] {
    outline: none;
    border-color: var(--ef-color-primary);
    box-shadow: 0 0 0 3px var(--ef-primary-bg, rgba(37, 99, 235, 0.1));
}

.ais-ask-actions[b-0txjegdewy] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--ef-space-8);
}

.ais-char-count[b-0txjegdewy] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    margin-right: auto;
}

.ais-char-count-over[b-0txjegdewy] {
    color: var(--ef-red, #dc2626);
    font-weight: 600;
}

.ais-ask-input-over[b-0txjegdewy] {
    border-color: var(--ef-red, #dc2626) !important;
}

/* ── Answer panel ─────────────────────────────────────────── */
.ais-answer-panel[b-0txjegdewy] {
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    background: var(--ef-surface);
    overflow: hidden;
    margin-bottom: var(--ef-space-24);
}

.ais-answer-text[b-0txjegdewy] {
    padding: var(--ef-space-20);
    font-size: var(--ef-text-14);
    color: var(--ef-text);
    line-height: 1.65;
    border-bottom: 1px solid var(--ef-border);
    white-space: pre-wrap;
}

/* ── Citation cards ───────────────────────────────────────── */
.ais-citations-heading[b-0txjegdewy] {
    font-size: var(--ef-text-12);
    font-weight: 600;
    color: var(--ef-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: var(--ef-space-12) var(--ef-space-20) var(--ef-space-8);
}

.ais-citations[b-0txjegdewy] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ais-citation-card[b-0txjegdewy] {
    display: flex;
    flex-direction: column;
    gap: var(--ef-space-4);
    padding: var(--ef-space-12) var(--ef-space-20);
    border-top: 1px solid var(--ef-border);
    cursor: pointer;
    transition: background var(--ef-transition-fast);
}

.ais-citation-card:first-child[b-0txjegdewy] {
    border-top: none;
}

.ais-citation-card:hover[b-0txjegdewy] {
    background: var(--ef-surface-2, rgba(0,0,0,.025));
}

.ais-citation-card:focus-visible[b-0txjegdewy] {
    outline: 2px solid var(--ef-color-primary);
    outline-offset: -2px;
}

.ais-citation-snippet[b-0txjegdewy] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* ── Refusal / grounding failure ──────────────────────────── */
.ais-refusal[b-0txjegdewy] {
    display: flex;
    align-items: flex-start;
    gap: var(--ef-space-12);
    padding: var(--ef-space-12) var(--ef-space-16);
    background: var(--ef-yellow-bg, rgba(253, 224, 71, 0.15));
    border: 1px solid var(--ef-yellow-border, rgba(202, 138, 4, 0.3));
    border-radius: var(--ef-radius-8);
    font-size: var(--ef-text-14);
    color: var(--ef-text);
    line-height: 1.55;
    margin-bottom: var(--ef-space-16);
}

.ais-refusal-icon[b-0txjegdewy] {
    color: #ca8a04;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ── Streaming answer ─────────────────────────────────────── */
.ais-answer-streaming .ais-answer-text[b-0txjegdewy] {
    border-bottom: none;
}

.ais-cursor[b-0txjegdewy] {
    display: inline-block;
    width: 2px;
    height: 1em;
    background: var(--ef-color-primary);
    margin-left: 2px;
    vertical-align: text-bottom;
    animation: ais-blink-b-0txjegdewy 0.8s step-end infinite;
}

@keyframes ais-blink-b-0txjegdewy {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ── Ask meta bar ─────────────────────────────────────────── */
.ais-ask-meta[b-0txjegdewy] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ef-space-16);
    padding: var(--ef-space-12) var(--ef-space-20);
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    border-top: 1px solid var(--ef-border);
}

.ais-ask-meta span[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ── Feedback buttons ─────────────────────────────────────── */
.ais-feedback-wrap[b-0txjegdewy] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--ef-space-4);
}

.ais-feedback-btn[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-4);
    background: none;
    color: var(--ef-text-muted);
    cursor: pointer;
    transition: color var(--ef-transition-fast), border-color var(--ef-transition-fast),
                background var(--ef-transition-fast);
    font-family: var(--ef-font);
}

.ais-feedback-btn:hover:not(:disabled)[b-0txjegdewy] {
    color: var(--ef-color-primary);
    border-color: var(--ef-color-primary);
}

.ais-feedback-btn.active[b-0txjegdewy] {
    color: var(--ef-color-primary);
    border-color: var(--ef-color-primary);
    background: var(--ef-primary-bg, rgba(37, 99, 235, 0.1));
}

.ais-feedback-btn:disabled[b-0txjegdewy] {
    cursor: default;
    opacity: 0.6;
}

.ais-feedback-thanks[b-0txjegdewy] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    margin-left: var(--ef-space-4);
}

/* ── Example question chips ───────────────────────────────── */
.ais-examples[b-0txjegdewy] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--ef-space-8);
    margin-top: var(--ef-space-20);
    max-width: 680px;
    margin-inline: auto;
}

.ais-example-chip[b-0txjegdewy] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid var(--ef-border);
    border-radius: 999px;
    background: var(--ef-surface);
    color: var(--ef-text-muted);
    font-size: var(--ef-text-13);
    font-family: var(--ef-font);
    cursor: pointer;
    text-align: left;
    line-height: 1.4;
    transition: color var(--ef-transition-fast), border-color var(--ef-transition-fast),
                background var(--ef-transition-fast);
}

.ais-example-chip:hover[b-0txjegdewy] {
    border-color: var(--ef-color-primary);
    color: var(--ef-color-primary);
    background: var(--ef-primary-bg, rgba(37, 99, 235, 0.06));
}

/* ── Reduced motion (a11y §6) ─────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .ais-cursor[b-0txjegdewy] {
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .ais-scope-chevron[b-0txjegdewy],
    .ais-group-chevron[b-0txjegdewy],
    .ais-segment[b-0txjegdewy],
    .ais-scope-button[b-0txjegdewy],
    .ais-result-card[b-0txjegdewy],
    .ais-feedback-btn[b-0txjegdewy],
    .ais-example-chip[b-0txjegdewy] {
        transition-duration: 0.01ms;
    }
}
/* /Components/Pages/Search/GlobalSearch.razor.rz.scp.css */
/* ── Page shell ──────────────────────────────────────────── */
/* MainLayout's .app-body is overflow:hidden — make this page its own
   scroll container so long result lists scroll. The outer wrapper takes
   full height and scrolls; the inner wrapper (via padding) centers the
   content horizontally at 960px. */
.gs-page[b-vwr14651gf] {
    height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    padding: var(--ef-space-24) max(var(--ef-space-24), calc(50% - 480px));
}

.gs-title[b-vwr14651gf] {
    font-size: var(--ef-text-20);
    font-weight: 600;
    color: var(--ef-text);
    margin: 0 0 var(--ef-space-16);
}

/* ── Search row ──────────────────────────────────────────── */
.gs-search-row[b-vwr14651gf] {
    display: flex;
    gap: var(--ef-space-8);
    margin-bottom: var(--ef-space-16);
}

.gs-input-wrap[b-vwr14651gf] {
    flex: 1;
    position: relative;
}

.gs-input-icon[b-vwr14651gf] {
    position: absolute;
    left: var(--ef-space-12);
    top: 50%;
    transform: translateY(-50%);
    color: var(--ef-text-muted);
    pointer-events: none;
}

.gs-input[b-vwr14651gf] {
    width: 100%;
    padding-left: 36px !important;
    height: var(--ef-btn-height-lg);
    font-size: var(--ef-text-14);
}

.gs-spinner-inline[b-vwr14651gf] {
    width: 14px;
    height: 14px;
    border-width: 2px;
    margin-right: 6px;
    display: inline-block;
}

/* ── Cabinet pills ───────────────────────────────────────── */
.gs-cabinet-pills[b-vwr14651gf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ef-space-8);
    margin-bottom: var(--ef-space-20);
    align-items: center;
}

.gs-pill[b-vwr14651gf] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--ef-border);
    border-radius: 999px;
    background: var(--ef-surface);
    color: var(--ef-text);
    font-size: var(--ef-text-13);
    font-family: var(--ef-font);
    cursor: pointer;
    transition: all 100ms;
    white-space: nowrap;
    line-height: 1;
}

.gs-pill:hover[b-vwr14651gf] {
    border-color: var(--ef-color-primary);
    color: var(--ef-color-primary);
}

.gs-pill.selected[b-vwr14651gf] {
    background: var(--ef-primary-bg, rgba(37, 99, 235, 0.1));
    color: var(--ef-color-primary);
    border-color: var(--ef-color-primary);
    font-weight: 500;
}

.gs-pill-dot[b-vwr14651gf] {
    font-size: 8px;
    line-height: 1;
}

.gs-pill-badge[b-vwr14651gf] {
    background: var(--ef-color-primary);
    color: #fff;
    font-size: var(--ef-text-11);
    padding: 1px 7px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
    line-height: 1.4;
}

/* ── Summary ─────────────────────────────────────────────── */
.gs-summary[b-vwr14651gf] {
    font-size: var(--ef-text-13);
    color: var(--ef-text-muted);
    margin-bottom: var(--ef-space-16);
}

.gs-summary strong[b-vwr14651gf] {
    color: var(--ef-text);
}

.gs-timing[b-vwr14651gf] {
    margin-left: 6px;
    opacity: 0.6;
}

/* ── Loading / hint / empty / error states ───────────────── */
.gs-loading[b-vwr14651gf] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-12);
    padding: var(--ef-space-32) var(--ef-space-16);
    color: var(--ef-text-muted);
}

.gs-hint-state[b-vwr14651gf],
.gs-empty[b-vwr14651gf] {
    text-align: center;
    padding: var(--ef-space-48) var(--ef-space-16);
    color: var(--ef-text-muted);
}

.gs-hint-icon[b-vwr14651gf] {
    color: var(--ef-text-muted);
    opacity: 0.4;
    margin-bottom: var(--ef-space-12);
}

.gs-hint[b-vwr14651gf] {
    font-size: var(--ef-text-13);
    margin-top: var(--ef-space-8);
}

.gs-error[b-vwr14651gf] {
    padding: var(--ef-space-12) var(--ef-space-16);
    color: var(--ef-red);
    background: var(--ef-red-bg);
    border: 1px solid var(--ef-red-bg);
    border-radius: var(--ef-radius-6);
    font-size: var(--ef-text-13);
}

/* ── Cabinet result groups ───────────────────────────────── */
.gs-cabinet-group[b-vwr14651gf] {
    border: 1px solid var(--ef-border);
    border-radius: 8px;
    margin-bottom: var(--ef-space-16);
    overflow: hidden;
    background: var(--ef-surface);
}

.gs-cabinet-header[b-vwr14651gf] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    padding: var(--ef-space-12) var(--ef-space-16);
    background: var(--ef-surface-2);
    border-bottom: 1px solid var(--ef-border);
    color: var(--ef-text);
}

.gs-cabinet-label[b-vwr14651gf] {
    font-weight: 600;
    font-size: var(--ef-text-13);
}

.gs-count-badge[b-vwr14651gf] {
    font-size: var(--ef-text-12);
    background: var(--ef-primary-bg, rgba(37, 99, 235, 0.1));
    color: var(--ef-color-primary);
    padding: 2px 10px;
    border-radius: 999px;
    margin-left: auto;
    font-weight: 500;
}

/* ── Result table ────────────────────────────────────────── */
.gs-table[b-vwr14651gf] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--ef-text-13);
}

.gs-table tr[b-vwr14651gf] {
    border-top: 1px solid var(--ef-border);
    cursor: pointer;
    transition: background 100ms;
}

.gs-table tr:first-child[b-vwr14651gf] {
    border-top: none;
}

.gs-table tr:hover[b-vwr14651gf] {
    background: var(--ef-surface-hover);
}

.gs-table td[b-vwr14651gf] {
    padding: var(--ef-space-8) var(--ef-space-16);
    vertical-align: middle;
}

.gs-td-docid[b-vwr14651gf] {
    color: var(--ef-color-primary);
    font-weight: 500;
    white-space: nowrap;
    width: 80px;
}

.gs-td-modified[b-vwr14651gf] {
    color: var(--ef-text-muted);
    white-space: nowrap;
    width: 110px;
}

.gs-td-preview[b-vwr14651gf] {
    color: var(--ef-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

.gs-td-action[b-vwr14651gf] {
    text-align: right;
    width: 40px;
}

/* ── View all link ───────────────────────────────────────── */
.gs-view-all[b-vwr14651gf] {
    display: block;
    padding: var(--ef-space-8) var(--ef-space-16);
    color: var(--ef-color-primary);
    font-size: var(--ef-text-13);
    border-top: 1px solid var(--ef-border);
    cursor: pointer;
    text-decoration: none;
    background: var(--ef-surface);
}

.gs-view-all:hover[b-vwr14651gf] {
    background: var(--ef-surface-hover);
    text-decoration: underline;
}
/* /Components/Pages/Search/ShadowComparison.razor.rz.scp.css */
/* ── Layout ──────────────────────────────────────────────────────────────── */

.shc-page[b-2b4n8v0i8r] {
    padding: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* ── Page header ─────────────────────────────────────────────────────────── */

.shc-header[b-2b4n8v0i8r] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.shc-header-left[b-2b4n8v0i8r] {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.shc-header-right[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.shc-back-btn[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .75rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 6px;
    background: var(--surface, #fff);
    color: var(--text-secondary, #64748b);
    font-size: .8125rem;
    cursor: pointer;
    white-space: nowrap;
}

.shc-back-btn:hover[b-2b4n8v0i8r] { background: var(--hover-bg, #f8fafc); }

.shc-title[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary, #1e293b);
    margin: 0 0 .25rem;
}

.shc-subtitle[b-2b4n8v0i8r] {
    font-size: .8125rem;
    color: var(--text-secondary, #64748b);
    margin: 0;
}

.shc-select[b-2b4n8v0i8r],
.shc-filter-input[b-2b4n8v0i8r] {
    padding: .35rem .6rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 6px;
    background: var(--surface, #fff);
    color: var(--text-primary, #1e293b);
    font-size: .8125rem;
}

.shc-filter-input[b-2b4n8v0i8r] { width: 160px; }

.shc-refresh-btn[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    padding: .35rem .5rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 6px;
    background: var(--surface, #fff);
    color: var(--text-secondary, #64748b);
    cursor: pointer;
}

.shc-refresh-btn:hover[b-2b4n8v0i8r] { background: var(--hover-bg, #f8fafc); }

/* ── Error banner ────────────────────────────────────────────────────────── */

.shc-error-banner[b-2b4n8v0i8r] {
    padding: .65rem 1rem;
    border-radius: 8px;
    background: #fef2f2;
    color: #dc2626;
    font-size: .8125rem;
    margin-bottom: 1rem;
    border: 1px solid #fecaca;
}

/* ── KPI cards ───────────────────────────────────────────────────────────── */

.shc-kpi-grid[b-2b4n8v0i8r] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: .75rem;
    margin-bottom: 1.5rem;
}

.shc-kpi-card[b-2b4n8v0i8r] {
    padding: .875rem 1rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    background: var(--surface, #fff);
}

.shc-kpi-label[b-2b4n8v0i8r] {
    font-size: .75rem;
    font-weight: 500;
    color: var(--text-secondary, #64748b);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .4rem;
}

.shc-kpi-value[b-2b4n8v0i8r] {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary, #1e293b);
    line-height: 1;
}

.shc-kpi-hint[b-2b4n8v0i8r] {
    font-size: .7rem;
    color: var(--text-tertiary, #94a3b8);
    margin-top: .3rem;
}

/* KPI variants */
.shc-kpi-ok[b-2b4n8v0i8r]    { border-color: #86efac; background: #f0fdf4; }
.shc-kpi-warn[b-2b4n8v0i8r]  { border-color: #fde68a; background: #fffbeb; }
.shc-kpi-bad[b-2b4n8v0i8r]   { border-color: #fca5a5; background: #fef2f2; }
.shc-kpi-info[b-2b4n8v0i8r]  { border-color: #93c5fd; background: #eff6ff; }

/* ── Table ───────────────────────────────────────────────────────────────── */

.shc-section[b-2b4n8v0i8r] { margin-top: .5rem; }

.shc-table-wrap[b-2b4n8v0i8r] {
    overflow-x: auto;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
}

.shc-table[b-2b4n8v0i8r] {
    width: 100%;
    border-collapse: collapse;
    font-size: .8125rem;
}

.shc-table thead[b-2b4n8v0i8r] {
    background: var(--surface-raised, #f8fafc);
}

.shc-table th[b-2b4n8v0i8r] {
    padding: .6rem .75rem;
    text-align: left;
    font-size: .7rem;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    white-space: nowrap;
}

.shc-table td[b-2b4n8v0i8r] {
    padding: .55rem .75rem;
    border-bottom: 1px solid var(--border-subtle, #f1f5f9);
    vertical-align: middle;
}

.shc-row[b-2b4n8v0i8r] { cursor: pointer; }
.shc-row:hover[b-2b4n8v0i8r] { background: var(--hover-bg, #f8fafc); }
.shc-row-selected[b-2b4n8v0i8r] { background: var(--selected-bg, #eff6ff) !important; }

.shc-num[b-2b4n8v0i8r] { text-align: right; font-variant-numeric: tabular-nums; }
.shc-num-ok[b-2b4n8v0i8r]   { color: #16a34a; font-weight: 600; }
.shc-num-warn[b-2b4n8v0i8r] { color: #d97706; font-weight: 600; }
.shc-num-bad[b-2b4n8v0i8r]  { color: #dc2626; font-weight: 600; }
.shc-ai-only[b-2b4n8v0i8r]  { color: #6366f1; }

.shc-expand-col[b-2b4n8v0i8r] { width: 24px; text-align: center; color: var(--text-tertiary, #94a3b8); }

.shc-ts[b-2b4n8v0i8r]    { white-space: nowrap; color: var(--text-secondary, #64748b); font-size: .75rem; }
.shc-query[b-2b4n8v0i8r] { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Load more ───────────────────────────────────────────────────────────── */

.shc-load-more[b-2b4n8v0i8r] {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
}

.shc-load-more-btn[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 1.25rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 6px;
    background: var(--surface, #fff);
    color: var(--text-primary, #1e293b);
    font-size: .8125rem;
    cursor: pointer;
}

.shc-load-more-btn:hover:not(:disabled)[b-2b4n8v0i8r] { background: var(--hover-bg, #f8fafc); }
.shc-load-more-btn:disabled[b-2b4n8v0i8r] { opacity: .55; cursor: not-allowed; }

/* ── Loading / empty ─────────────────────────────────────────────────────── */

.shc-loading[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 3rem;
    justify-content: center;
    color: var(--text-secondary, #64748b);
}

.shc-empty[b-2b4n8v0i8r] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 3rem 1rem;
    text-align: center;
    color: var(--text-secondary, #64748b);
}

.shc-empty p[b-2b4n8v0i8r] { margin: 0; }
.shc-empty-hint[b-2b4n8v0i8r] { font-size: .8125rem; color: var(--text-tertiary, #94a3b8); }
.shc-empty code[b-2b4n8v0i8r] { font-family: monospace; background: var(--surface-raised, #f8fafc); padding: .1em .3em; border-radius: 3px; }

.shc-spinner[b-2b4n8v0i8r] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid var(--border-color, #e2e8f0);
    border-top-color: var(--accent, #6366f1);
    border-radius: 50%;
    animation: spin-b-2b4n8v0i8r .7s linear infinite;
}

/* ── Backdrop + Drawer ───────────────────────────────────────────────────── */

.shc-backdrop[b-2b4n8v0i8r] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .25);
    z-index: 100;
}

.shc-drawer[b-2b4n8v0i8r] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(680px, 95vw);
    background: var(--surface, #fff);
    border-left: 1px solid var(--border-color, #e2e8f0);
    box-shadow: -4px 0 24px rgba(0, 0, 0, .1);
    z-index: 101;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.shc-drawer-header[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    flex-shrink: 0;
}

.shc-drawer-header h3[b-2b4n8v0i8r] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.shc-drawer-close[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary, #64748b);
    cursor: pointer;
}

.shc-drawer-close:hover[b-2b4n8v0i8r] { background: var(--hover-bg, #f8fafc); }

.shc-drawer-body[b-2b4n8v0i8r] {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* ── Drawer: meta grid ───────────────────────────────────────────────────── */

.shc-meta-grid[b-2b4n8v0i8r] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .3rem .75rem;
    font-size: .8125rem;
    margin: 0;
}

.shc-meta-grid dt[b-2b4n8v0i8r] {
    font-weight: 600;
    color: var(--text-secondary, #64748b);
    white-space: nowrap;
}

.shc-meta-grid dd[b-2b4n8v0i8r] { margin: 0; word-break: break-all; }

.shc-mono[b-2b4n8v0i8r] { font-family: monospace; font-size: .75rem; }

/* ── Drawer: overlap badges ──────────────────────────────────────────────── */

.shc-overlap-badges[b-2b4n8v0i8r] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.shc-badge[b-2b4n8v0i8r] {
    display: inline-block;
    padding: .2rem .65rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
}

.shc-badge-overlap[b-2b4n8v0i8r] { background: #dbeafe; color: #1d4ed8; }
.shc-badge-sqlonly[b-2b4n8v0i8r]  { background: #fef3c7; color: #92400e; }
.shc-badge-aionly[b-2b4n8v0i8r]   { background: #ede9fe; color: #5b21b6; }

/* ── Drawer: side-by-side result columns ─────────────────────────────────── */

.shc-result-cols[b-2b4n8v0i8r] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 520px) {
    .shc-result-cols[b-2b4n8v0i8r] { grid-template-columns: 1fr; }
}

.shc-result-heading[b-2b4n8v0i8r] {
    font-size: .8125rem;
    font-weight: 600;
    margin: 0 0 .5rem;
    display: flex;
    align-items: baseline;
    gap: .5rem;
}

.shc-result-meta[b-2b4n8v0i8r] {
    font-size: .7rem;
    font-weight: 400;
    color: var(--text-secondary, #64748b);
}

.shc-json[b-2b4n8v0i8r] {
    background: var(--surface-raised, #f8fafc);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 6px;
    padding: .75rem;
    font-size: .7rem;
    font-family: monospace;
    white-space: pre-wrap;
    word-break: break-all;
    max-height: 300px;
    overflow-y: auto;
    margin: 0;
}

.shc-ai-error[b-2b4n8v0i8r] {
    padding: .5rem .75rem;
    border-radius: 6px;
    background: #fef2f2;
    color: #dc2626;
    font-size: .75rem;
    margin-bottom: .5rem;
    border: 1px solid #fecaca;
}

/* ── Tab bar ─────────────────────────────────────────────────────────────── */

.shc-tab-bar[b-2b4n8v0i8r] {
    display: flex;
    gap: .25rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    padding-bottom: 0;
}

.shc-tab-btn[b-2b4n8v0i8r] {
    padding: .45rem 1rem;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--text-secondary, #64748b);
    font-size: .8125rem;
    font-weight: 500;
    cursor: pointer;
    margin-bottom: -1px;
    border-radius: 4px 4px 0 0;
}

.shc-tab-btn:hover[b-2b4n8v0i8r] { color: var(--text-primary, #1e293b); background: var(--hover-bg, #f8fafc); }

.shc-tab-btn-active[b-2b4n8v0i8r] {
    color: var(--accent, #6366f1);
    border-bottom-color: var(--accent, #6366f1);
    font-weight: 600;
}

/* ── Triage layout ───────────────────────────────────────────────────────── */

.shc-triage-block[b-2b4n8v0i8r] {
    margin-bottom: 1.75rem;
}

.shc-triage-heading[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .9375rem;
    font-weight: 600;
    color: var(--text-primary, #1e293b);
    margin: 0 0 .3rem;
}

.shc-triage-cnt[b-2b4n8v0i8r] {
    font-size: .7rem;
    font-weight: 700;
    vertical-align: middle;
}

.shc-triage-hint[b-2b4n8v0i8r] {
    font-size: .8125rem;
    color: var(--text-secondary, #64748b);
    margin: 0 0 .75rem;
}

.shc-triage-none[b-2b4n8v0i8r] {
    font-size: .8125rem;
    color: var(--text-tertiary, #94a3b8);
    padding: .5rem 0;
    margin: 0;
}

/* ── Overlap distribution bars ───────────────────────────────────────────── */

.shc-dist-grid[b-2b4n8v0i8r] {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    max-width: 520px;
}

.shc-dist-row[b-2b4n8v0i8r] {
    display: grid;
    grid-template-columns: 62px 1fr 40px 42px;
    align-items: center;
    gap: .5rem;
    font-size: .8125rem;
}

.shc-dist-label[b-2b4n8v0i8r] {
    font-weight: 600;
    color: var(--text-secondary, #64748b);
    font-size: .75rem;
    white-space: nowrap;
}

.shc-dist-bar-wrap[b-2b4n8v0i8r] {
    height: 14px;
    background: var(--surface-raised, #f1f5f9);
    border-radius: 3px;
    overflow: hidden;
}

.shc-dist-bar[b-2b4n8v0i8r] {
    height: 100%;
    border-radius: 3px;
    min-width: 2px;
    transition: width .3s ease;
}

.shc-dist-bar-ok[b-2b4n8v0i8r]   { background: #4ade80; }
.shc-dist-bar-good[b-2b4n8v0i8r] { background: #86efac; }
.shc-dist-bar-med[b-2b4n8v0i8r]  { background: #fde047; }
.shc-dist-bar-warn[b-2b4n8v0i8r] { background: #fb923c; }
.shc-dist-bar-bad[b-2b4n8v0i8r]  { background: #f87171; }

.shc-dist-count[b-2b4n8v0i8r] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary, #1e293b);
    font-weight: 600;
}

.shc-dist-share[b-2b4n8v0i8r] {
    color: var(--text-tertiary, #94a3b8);
    font-size: .7rem;
}

/* ── Badge variants ──────────────────────────────────────────────────────── */

.shc-badge-bad[b-2b4n8v0i8r] { background: #fee2e2; color: #b91c1c; }

.shc-pilot-badge-ready[b-2b4n8v0i8r]   { background: #dcfce7; color: #15803d; }
.shc-pilot-badge-watch[b-2b4n8v0i8r]   { background: #fef9c3; color: #854d0e; }
.shc-pilot-badge-pending[b-2b4n8v0i8r] { background: #f1f5f9; color: #64748b; }
.shc-pilot-badge-runtime[b-2b4n8v0i8r] { background: #ede9fe; color: #5b21b6; margin-left: .4rem; font-size: .65rem; vertical-align: middle; }

/* ── Pilot enroll controls ───────────────────────────────────────────────── */

.shc-enroll-row[b-2b4n8v0i8r] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .75rem;
    flex-wrap: wrap;
}

.shc-enroll-btn[b-2b4n8v0i8r] {
    padding: .3rem .75rem;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 6px;
    background: var(--surface, #fff);
    color: var(--text-primary, #1e293b);
    font-size: .8125rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s;
}

.shc-enroll-btn:hover:not(:disabled)[b-2b4n8v0i8r] { background: var(--hover-bg, #f8fafc); }
.shc-enroll-btn:disabled[b-2b4n8v0i8r] { opacity: .45; cursor: not-allowed; }

.shc-unenroll-btn[b-2b4n8v0i8r] {
    color: #b91c1c;
    border-color: #fecaca;
}

.shc-unenroll-btn:hover:not(:disabled)[b-2b4n8v0i8r] { background: #fef2f2; }

.shc-enroll-config[b-2b4n8v0i8r] {
    display: inline-block;
    padding: .15rem .45rem;
    border-radius: 4px;
    background: #f1f5f9;
    color: #64748b;
    font-size: .75rem;
    font-style: italic;
}

.shc-enroll-msg[b-2b4n8v0i8r] {
    font-size: .8125rem;
    color: var(--text-secondary, #64748b);
}

/* ── Spin animation (shared) ─────────────────────────────────────────────── */

@keyframes spin-b-2b4n8v0i8r {
    to { transform: rotate(360deg); }
}

.spin[b-2b4n8v0i8r] { animation: spin-b-2b4n8v0i8r .7s linear infinite; }
/* /Components/Pages/Settings/UserProfile.razor.rz.scp.css */
.settings[b-juww7khgcg] {
    padding: 24px;
    max-width: 640px;
}

.settings-title[b-juww7khgcg] {
    font-size: var(--ef-text-24);
    font-weight: 700;
    color: var(--ef-text);
    margin-bottom: 24px;
}

.settings-notice[b-juww7khgcg] {
    color: var(--ef-text-muted);
}

.settings-section[b-juww7khgcg] {
    margin-bottom: 16px;
}

.profile-grid[b-juww7khgcg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.profile-grid .fg:last-child[b-juww7khgcg] {
    grid-column: 1 / -1;
}

.theme-options[b-juww7khgcg] {
    display: flex;
    gap: 16px;
}

.theme-option[b-juww7khgcg] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--ef-text-13);
    cursor: pointer;
}

.settings-select[b-juww7khgcg] {
    max-width: 200px;
}

.settings-actions[b-juww7khgcg] {
    margin-top: 16px;
}

.settings-message[b-juww7khgcg] {
    margin-top: 12px;
    font-size: var(--ef-text-13);
    color: var(--ef-green);
}
/* /Components/Pages/SharedDocument.razor.rz.scp.css */
.sd-container[b-xzvfahj8bd] {
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.sd-center[b-xzvfahj8bd] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.sd-error-box[b-xzvfahj8bd] {
    text-align: center;
    padding: 40px;
    color: #721c24;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 6px;
    max-width: 420px;
}

.sd-pwd-box[b-xzvfahj8bd] {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 32px;
    width: 360px;
    box-shadow: 0 4px 20px rgba(0,0,0,.12);
    font-family: "Segoe UI", sans-serif;
    font-size: 13px;
}

.sd-input[b-xzvfahj8bd] {
    width: 100%;
    height: 34px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0 10px;
    font-size: 13px;
    box-sizing: border-box;
}

.sd-input:focus[b-xzvfahj8bd] { outline: none; border-color: #86b7fe; box-shadow: 0 0 0 2px rgba(13,110,253,.15); }

.sd-pwd-error[b-xzvfahj8bd] {
    color: #721c24;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 3px;
    padding: 5px 8px;
    font-size: 12px;
    margin-top: 6px;
}
/* /Components/Pages/Site/SiteTab.razor.rz.scp.css */
.st-page[b-l530i0pk7l] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.st-iframe[b-l530i0pk7l] {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    border: none;
    background: var(--ef-bg);
}

.st-toolbar[b-l530i0pk7l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px var(--ef-space-16);
    background: var(--ef-surface-2);
    border-bottom: 1px solid var(--ef-border);
    flex-shrink: 0;
}

.st-toolbar-label[b-l530i0pk7l] {
    font-size: var(--ef-text-13);
    font-weight: 600;
    color: var(--ef-text);
}

.st-open-link[b-l530i0pk7l] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--ef-text-12);
    color: var(--ef-color-primary);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--ef-font);
}

.st-open-link:hover[b-l530i0pk7l] {
    text-decoration: underline;
}

.st-empty[b-l530i0pk7l] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--ef-text-muted);
    font-size: var(--ef-text-14);
}
/* /Components/Pages/Workspace/MyWorkspace.razor.rz.scp.css */
.workspace[b-g087sljc6n] {
    padding: 24px;
    overflow-y: auto;
    height: 100%;
}

.workspace-header[b-g087sljc6n] {
    margin-bottom: 24px;
}

.workspace-title[b-g087sljc6n] {
    font-size: var(--ef-text-24);
    font-weight: 700;
    color: var(--ef-text);
    margin-bottom: 4px;
}

.workspace-subtitle[b-g087sljc6n] {
    font-size: var(--ef-text-14);
    color: var(--ef-text-muted);
}

.workspace-loading[b-g087sljc6n] {
    display: flex;
    justify-content: center;
    padding: 48px;
}

.workspace-section[b-g087sljc6n] {
    margin-bottom: 20px;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    padding: 20px 24px;
}

.workspace-section-header[b-g087sljc6n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--ef-space-16);
    flex-wrap: wrap;
    gap: var(--ef-space-8);
}

.workspace-section-title[b-g087sljc6n] {
    font-size: var(--ef-text-16);
    font-weight: 600;
    color: var(--ef-text);
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
    margin: 0;
}

.workspace-count[b-g087sljc6n] {
    background: var(--ef-color-primary);
    color: #fff;
    font-size: var(--ef-text-11);
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
}

.workspace-filter[b-g087sljc6n] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-8);
}

.workspace-filter .fi[b-g087sljc6n] {
    min-width: 220px;
}

.workspace-empty[b-g087sljc6n] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 32px 24px;
    text-align: center;
    color: var(--ef-text-muted);
}

.workspace-empty p[b-g087sljc6n] {
    margin: 8px 0 0;
    font-size: var(--ef-text-14);
}

.workspace-empty-hint[b-g087sljc6n] {
    font-size: var(--ef-text-13) !important;
    max-width: 400px;
}

/* ── Search card grid ── */
.search-grid[b-g087sljc6n] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.search-card[b-g087sljc6n] {
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    overflow: hidden;
    display: flex;
    transition: box-shadow 150ms, border-color 150ms;
    cursor: default;
}

.search-card:hover[b-g087sljc6n] {
    border-color: var(--ef-color-primary);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.search-card-accent[b-g087sljc6n] {
    width: 4px;
    background: var(--ef-color-primary);
    flex-shrink: 0;
}

.search-card-content[b-g087sljc6n] {
    flex: 1;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.search-card-top[b-g087sljc6n] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.search-card-name[b-g087sljc6n] {
    font-size: var(--ef-text-14);
    font-weight: 600;
    color: var(--ef-text);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
}

.search-card-meta[b-g087sljc6n] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: var(--ef-text-12);
}

.search-card-cabinet[b-g087sljc6n] {
    background: var(--ef-bg-muted, #edf2f7);
    color: var(--ef-text-muted);
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 180px;
}

.search-card-date[b-g087sljc6n] {
    color: var(--ef-text-muted);
    white-space: nowrap;
}

.search-card-criteria[b-g087sljc6n] {
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: italic;
}

.search-card-actions[b-g087sljc6n] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.search-card-delete[b-g087sljc6n] {
    color: var(--ef-text-muted) !important;
    margin-left: auto;
}

.search-card-delete:hover[b-g087sljc6n] {
    color: var(--ef-red, #e53e3e) !important;
}

/* ── Quick Link cards ── */
.link-grid[b-g087sljc6n] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.link-card[b-g087sljc6n] {
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-8);
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: border-color 150ms, box-shadow 150ms;
    position: relative;
}

.link-card:hover[b-g087sljc6n] {
    border-color: var(--ef-color-primary);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.link-card-icon[b-g087sljc6n] {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ef-radius-6);
    background: var(--ef-bg-muted, #f0f4f8);
    color: var(--ef-color-primary);
}

.link-card-body[b-g087sljc6n] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.link-card-name[b-g087sljc6n] {
    font-size: var(--ef-text-13);
    font-weight: 600;
    color: var(--ef-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.link-card-url[b-g087sljc6n] {
    font-size: var(--ef-text-11);
    color: var(--ef-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.link-card-badge[b-g087sljc6n] {
    font-size: var(--ef-text-10);
    font-weight: 600;
    color: var(--ef-color-primary);
    background: rgba(var(--ef-color-primary-rgb, 59,130,246), 0.1);
    padding: 2px 6px;
    border-radius: 4px;
    white-space: nowrap;
    position: absolute;
    top: 6px;
    right: 6px;
}

.link-card-actions[b-g087sljc6n] {
    display: flex;
    gap: 2px;
    flex-shrink: 0;
}

.link-delete:hover[b-g087sljc6n] {
    color: var(--ef-red, #e53e3e) !important;
}

.btn-xs[b-g087sljc6n] {
    padding: 2px 4px;
    font-size: var(--ef-text-11);
}

/* ── Label style ── */
.lbl[b-g087sljc6n] {
    display: block;
    font-size: var(--ef-text-13);
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--ef-text);
}

/* ── Icon Picker ── */
.icon-picker[b-g087sljc6n] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.icon-pick[b-g087sljc6n] {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    background: var(--ef-surface);
    color: var(--ef-text-muted);
    cursor: pointer;
    transition: border-color 150ms, color 150ms, background 150ms;
}

.icon-pick:hover[b-g087sljc6n] {
    border-color: var(--ef-color-primary);
    color: var(--ef-color-primary);
}

.icon-pick-active[b-g087sljc6n] {
    border-color: var(--ef-color-primary);
    background: rgba(var(--ef-color-primary-rgb, 59,130,246), 0.1);
    color: var(--ef-color-primary);
}


/* ── Cabinet picker (Add Cabinet dialog) ── */
.cabinet-pick-list[b-g087sljc6n] {
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid var(--ef-border);
    border-radius: var(--ef-radius-6);
    background: var(--ef-input-bg);
}

.cabinet-pick-row[b-g087sljc6n] {
    display: flex;
    align-items: center;
    gap: var(--ef-space-12);
    padding: var(--ef-space-8) var(--ef-space-12);
    cursor: pointer;
    border-bottom: 1px solid var(--ef-border);
    font-size: var(--ef-text-13);
    color: var(--ef-text);
}

.cabinet-pick-row:last-child[b-g087sljc6n] {
    border-bottom: none;
}

.cabinet-pick-row:hover[b-g087sljc6n] {
    background: var(--ef-surface-alt);
}

.cabinet-pick-label[b-g087sljc6n] {
    flex: 1;
    font-weight: 500;
}

.cabinet-pick-name[b-g087sljc6n] {
    color: var(--ef-text-muted);
    font-size: var(--ef-text-12);
    font-family: var(--ef-font-mono, monospace);
}
/* /Components/Shared/AiAssistantPanel.razor.rz.scp.css */
/* P1.5 PR3 — scoped styles for the AI Assistant capabilities card +
   citation chips. Scoped per the EasyFile.Web CLAUDE.md guidance
   (<style> in .razor leaks globally; .razor.css stays bounded). */

/* 2026-06-03 — model-catalog load failure banner. Rendered above
   the chat list when LoadModelsIfNeeded couldn't reach the catalog
   endpoint. Per memory feedback-no-silent-failovers. */
.ai-model-load-error[b-we4jag9n1c] {
    margin: 8px 12px 0 12px;
    padding: 8px 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    color: #991b1b;
    font-size: 12px;
    line-height: 1.4;
}

.ai-capabilities-card[b-we4jag9n1c] {
    margin: 8px 12px 0 12px;
    padding: 10px 12px;
    background: var(--ef-surface-subtle, #f8f9fb);
    border: 1px solid var(--ef-border-subtle, #e3e6ec);
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--ef-text-secondary, #555);
}

.ai-capabilities-row[b-we4jag9n1c] {
    display: flex;
    gap: 14px;
}

.ai-capabilities-col[b-we4jag9n1c] {
    flex: 1 1 50%;
    min-width: 0;
}

.ai-capabilities-heading[b-we4jag9n1c] {
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ai-capabilities-can .ai-capabilities-heading[b-we4jag9n1c] {
    color: var(--ef-success-fg, #1f7a3f);
}

.ai-capabilities-cant .ai-capabilities-heading[b-we4jag9n1c] {
    color: var(--ef-warning-fg, #8a6900);
}

.ai-capabilities-col ul[b-we4jag9n1c] {
    margin: 0;
    padding-left: 16px;
}

.ai-capabilities-col li[b-we4jag9n1c] {
    margin: 1px 0;
}

/* Citation chips — small pill rendered inside assistant message bubbles.
   Visual now; the click handler wires to the WebViewer page-nav API and
   the RecordDetailsModal field-highlight when those become reachable
   from this scope (deferred — chips ship value as a verifiable trace
   of where each claim came from, with or without the click). */
.ai-citation-chip[b-we4jag9n1c] {
    display: inline-block;
    padding: 1px 7px;
    margin: 0 2px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 500;
    background: var(--ef-chip-bg, #e7eefb);
    color: var(--ef-chip-fg, #1a4a8a);
    border: 1px solid var(--ef-chip-border, #c8d6ee);
    cursor: default;
    white-space: nowrap;
    vertical-align: baseline;
}

.ai-citation-chip[data-citation-kind="field"][b-we4jag9n1c] {
    background: var(--ef-chip-bg-field, #fbf2e0);
    color: var(--ef-chip-fg-field, #7a5800);
    border-color: var(--ef-chip-border-field, #e6d49a);
}
/* /Components/Shared/DeletedDocumentsModal.razor.rz.scp.css */
.ddm-dialog[b-apvn5v12jl] {
    background: var(--ef-bg, #fff);
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    width: 900px;
    max-width: 96vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: visible;
    position: relative;
}

.ddm-actions[b-apvn5v12jl] {
    display: flex;
    gap: 6px;
    margin-left: auto;
    margin-right: 10px;
}

.ddm-table[b-apvn5v12jl] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.ddm-table th[b-apvn5v12jl],
.ddm-table td[b-apvn5v12jl] {
    padding: 5px 10px;
    border-bottom: 1px solid var(--ef-border, #e0e0e0);
    white-space: nowrap;
    vertical-align: middle;
}

.ddm-table th[b-apvn5v12jl] {
    background: var(--ef-surface, #f8f8f8);
    font-weight: 600;
    font-size: 11px;
    color: var(--ef-text-muted, #666);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    position: sticky;
    top: 0;
    z-index: 1;
}

.ddm-row:hover[b-apvn5v12jl] {
    background: var(--ef-surface-2, #f0f4ff);
}

.ddm-comment[b-apvn5v12jl] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ddm-view-link[b-apvn5v12jl] {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 4px;
    opacity: 0.7;
}

.ddm-view-link:hover[b-apvn5v12jl] {
    opacity: 1;
}

.ddm-info-btn[b-apvn5v12jl] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    opacity: 0.85;
}

.ddm-info-btn:hover[b-apvn5v12jl] {
    opacity: 1;
}

.ddm-popover[b-apvn5v12jl] {
    position: absolute;
    right: 8px;
    bottom: 44px;
    z-index: 200;
    background: var(--ef-bg, #fff);
    border: 1px solid var(--ef-border, #ddd);
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    padding: 10px 12px;
    min-width: 260px;
    font-size: 12px;
}

.ddm-popover-row[b-apvn5v12jl] {
    display: flex;
    gap: 6px;
    margin-bottom: 4px;
    line-height: 1.4;
}

.ddm-pop-label[b-apvn5v12jl] {
    font-weight: 600;
    color: var(--ef-text-muted, #555);
    white-space: nowrap;
    min-width: 120px;
}

.confirm-dialog[b-apvn5v12jl] {
    background: var(--ef-bg, #fff);
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
    padding: 20px 24px;
    min-width: 320px;
    max-width: 480px;
}
/* /Components/Shared/ExportMetadataModal.razor.rz.scp.css */
/* ── Dialog ── */
.em-dialog[b-wtpghuhv8a] {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0,0,0,.18);
    width: 1180px;
    max-width: 96vw;
    /* Fixed height so the modal never resizes when users click radios/tabs.
       Either panel scrolls internally if its content exceeds this. Caps at
       90vh so it still fits short viewports. */
    height: 760px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    font-size: 13px;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.em-header[b-wtpghuhv8a] {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid #ddd;
    background: #f8f8f8;
    flex-shrink: 0;
}

.em-title[b-wtpghuhv8a] { font-size: 14px; font-weight: 600; color: #333; flex: 1; }

.em-close-btn[b-wtpghuhv8a] {
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    padding: 0 4px;
}
.em-close-btn:hover[b-wtpghuhv8a] { color: #000; }

.em-body[b-wtpghuhv8a] {
    flex: 1;
    display: flex;
    flex-direction: row;
    overflow: hidden;
    min-height: 0;
}

.em-body-left[b-wtpghuhv8a] {
    flex: 1;
    padding: 16px 18px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.em-body-right[b-wtpghuhv8a] {
    width: 380px;
    flex-shrink: 0;
    border-left: 1px solid #ddd;
    background: #fafafa;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.em-footer[b-wtpghuhv8a] {
    padding: 8px 12px;
    border-top: 1px solid #ddd;
    background: #f8f8f8;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* ── Status panel ── */
.em-status-panel[b-wtpghuhv8a] {
    background: #eef6fc;
    border: 1px solid #c8dff0;
    border-radius: 4px;
    overflow: hidden;
    font-size: 13px;
}

.em-status-banner[b-wtpghuhv8a] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #eef6fc;
    padding: 8px 12px;
}

.em-status-banner-icon[b-wtpghuhv8a] {
    color: #31708f;
    font-size: 16px;
    flex-shrink: 0;
}

.em-status-banner-text[b-wtpghuhv8a] {
    color: #31708f;
    font-size: 13px;
}

.em-btn-icon[b-wtpghuhv8a] {
    padding: 2px 7px;
    font-size: 14px;
    line-height: 1.4;
}

.em-status-table[b-wtpghuhv8a] {
    width: auto;
    border-collapse: collapse;
    font-size: 13px;
}

.em-status-table thead th[b-wtpghuhv8a] {
    padding: 6px 12px;
    font-weight: 600;
    color: #333;
    text-align: left;
}

.em-status-table tbody td[b-wtpghuhv8a] {
    padding: 5px 12px;
}

.em-status-table tbody td:first-child[b-wtpghuhv8a] {
    min-width: 200px;
}

.em-status-table tbody tr:last-child td[b-wtpghuhv8a] {
    border-bottom: none;
}

.em-success[b-wtpghuhv8a] { color: #3c763d; font-weight: 600; }
.em-failed[b-wtpghuhv8a]  { color: #a94442; font-weight: 600; }

/* ── Fields ── */
.em-field-row[b-wtpghuhv8a] { display: flex; flex-direction: column; gap: 3px; }
.em-label[b-wtpghuhv8a] { font-size: 13px; color: #333; }
.em-input[b-wtpghuhv8a] {
    height: 28px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0 8px;
    width: 100%;
    box-sizing: border-box;
}
.em-input:focus[b-wtpghuhv8a] { outline: none; border-color: #86b7fe; box-shadow: 0 0 0 2px rgba(13,110,253,.15); }

/* ── Radio groups ── */
.em-group-label[b-wtpghuhv8a] { font-size: 13px; color: #333; margin-bottom: 2px; }
.em-radio-group[b-wtpghuhv8a] { display: flex; flex-direction: column; gap: 4px; padding-left: 20px; }
.em-radio-group label[b-wtpghuhv8a] { font-weight: normal; cursor: pointer; display: flex; align-items: center; gap: 5px; }

/* ── Path builder ── */
.em-path-section[b-wtpghuhv8a] { display: flex; flex-direction: column; gap: 6px; padding-left: 20px; }

.em-path-toolbar[b-wtpghuhv8a] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.em-sublabel[b-wtpghuhv8a] { font-size: 12px; color: #555; }

.em-path-builder[b-wtpghuhv8a] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1px;
    min-height: 32px;
    width: 100%;
    padding: 3px 6px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    box-sizing: border-box;
}

.em-path-select[b-wtpghuhv8a] {
    height: 26px;
    font-size: 12px;
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 0 4px;
    background: #fff;
    cursor: pointer;
}

.em-path-text[b-wtpghuhv8a] {
    flex: none;
    font-size: 12px;
    color: #333;
    outline: none;
    min-width: 2px;
    white-space: pre;
    cursor: text;
    line-height: 24px;
}
.em-path-text-empty[b-wtpghuhv8a]::before {
    content: attr(data-placeholder);
    color: #aaa;
    pointer-events: none;
}

.em-seg-remove[b-wtpghuhv8a] {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    font-size: 12px;
    padding: 0 2px;
    line-height: 1;
}
.em-seg-remove:hover[b-wtpghuhv8a] { color: #c00; }

.em-path-error[b-wtpghuhv8a] { font-size: 11px; color: #c00; }

/* ── Insert field dropdown ── */
.em-insert-wrap[b-wtpghuhv8a] { position: relative; }
.em-insert-dropdown[b-wtpghuhv8a] {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 200;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow: 0 3px 10px rgba(0,0,0,.15);
    min-width: 180px;
    max-height: 220px;
    overflow-y: auto;
}
.em-insert-item[b-wtpghuhv8a] {
    padding: 5px 10px;
    cursor: pointer;
    font-size: 12px;
    color: #333;
}
.em-insert-item:hover[b-wtpghuhv8a] { background: #f0f0f0; }

/* ── Options row ── */
.em-options-row[b-wtpghuhv8a] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.em-check[b-wtpghuhv8a] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: normal;
    cursor: pointer;
    white-space: nowrap;
}
.em-check input[type=checkbox][b-wtpghuhv8a] { cursor: pointer; }
.em-disabled[b-wtpghuhv8a] { opacity: 0.5; pointer-events: none; }
.em-note[b-wtpghuhv8a] { font-style: italic; color: #777; font-size: 12px; margin-left: 2px; }

.em-format-wrap[b-wtpghuhv8a] { display: flex; align-items: center; gap: 6px; }
.em-label-inline[b-wtpghuhv8a] { font-size: 13px; color: #333; white-space: nowrap; }
.em-select[b-wtpghuhv8a] {
    height: 28px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 0 6px;
}

/* ── Error ── */
.em-error[b-wtpghuhv8a] {
    color: #721c24;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 3px;
    padding: 6px 10px;
    font-size: 12px;
}

/* ── Buttons ── */
.em-btn[b-wtpghuhv8a] {
    padding: 4px 10px;
    font-size: 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #f8f8f8;
    color: #333;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.4;
}
.em-btn:hover:not(:disabled)[b-wtpghuhv8a] { background: #e8e8e8; }
.em-btn:disabled[b-wtpghuhv8a] { opacity: 0.55; cursor: default; }
.em-btn-primary[b-wtpghuhv8a]  { background: #337ab7; border-color: #2e6da4; color: #fff; }
.em-btn-primary:hover:not(:disabled)[b-wtpghuhv8a] { background: #286090; }
.em-btn-danger[b-wtpghuhv8a]   { background: #d9534f; border-color: #c9302c; color: #fff; }
.em-btn-danger:hover:not(:disabled)[b-wtpghuhv8a] { background: #c9302c; }
.em-btn-history[b-wtpghuhv8a]  { display: flex; align-items: center; gap: 5px; }
.em-btn-xs[b-wtpghuhv8a]       { font-size: 11px; padding: 1px 4px; }

/* ── Export Fields table ── */
.em-fields-table[b-wtpghuhv8a] { width: 100%; border-collapse: collapse; font-size: 13px; }
.em-fields-table thead th[b-wtpghuhv8a] {
    background: #f5f5f5;
    padding: 8px 10px;
    border-bottom: 2px solid #ddd;
    font-weight: 600;
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 1;
}
.em-fields-table tbody tr:hover[b-wtpghuhv8a] { background: #f8f8f8; }
.em-fields-table tbody td[b-wtpghuhv8a] { padding: 5px 10px; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.em-drag-handle[b-wtpghuhv8a] { color: #bbb; cursor: grab; font-size: 14px; user-select: none; text-align: center; width: 28px; }
.em-drag-handle:hover[b-wtpghuhv8a] { color: #555; }
.em-drag-over[b-wtpghuhv8a] { outline: 2px solid #337ab7; background: #f0f7ff !important; }

/* ── History table ── */
.em-history-table[b-wtpghuhv8a] { width: 100%; border-collapse: collapse; font-size: 12px; }
.em-history-table thead th[b-wtpghuhv8a] {
    background: #f5f5f5;
    padding: 7px 10px;
    border-bottom: 2px solid #ddd;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
    position: sticky;
    top: 0;
}
.em-history-table tbody tr:hover[b-wtpghuhv8a] { background: #f9f9f9; }
.em-history-table tbody td[b-wtpghuhv8a] {
    padding: 6px 10px;
    border-bottom: 1px solid #eee;
    white-space: nowrap;
}
.em-history-path[b-wtpghuhv8a] { max-width: 200px; overflow: hidden; text-overflow: ellipsis; }

/* ── Export Destination right panel ── */
.em-dest-panel-title[b-wtpghuhv8a] {
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    border-bottom: 1px solid #ddd;
    background: #f0f0f0;
    flex-shrink: 0;
}

.em-dest-body[b-wtpghuhv8a] {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.em-dest-divider[b-wtpghuhv8a] {
    font-size: 11px;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-top: 1px solid #e0e0e0;
    padding-top: 8px;
    margin-top: 2px;
}

.em-dest-err[b-wtpghuhv8a] { font-size: 12px; color: #a94442; }
/* /Components/Shared/ExtractPagesModal.razor.rz.scp.css */
.epm-progress[b-hitwx43a0y] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--ef-text-muted);
    padding: 8px 0;
}

.epm-guide[b-hitwx43a0y] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: var(--ef-text-muted);
    padding: 4px 0;
}

.epm-options[b-hitwx43a0y] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.epm-option[b-hitwx43a0y] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--ef-border);
    border-radius: 6px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}

.epm-option:hover[b-hitwx43a0y] {
    border-color: var(--ef-color-primary);
    background: rgba(37,99,235,.03);
}

.epm-option.selected[b-hitwx43a0y] {
    border-color: var(--ef-color-primary);
    background: rgba(37,99,235,.05);
}

.epm-option input[type="radio"][b-hitwx43a0y] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: var(--ef-color-primary);
}

.epm-option-body[b-hitwx43a0y] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.epm-option-title[b-hitwx43a0y] {
    font-size: 13px;
    font-weight: 600;
    color: var(--ef-text);
}

.epm-option-desc[b-hitwx43a0y] {
    font-size: 12px;
    color: var(--ef-text-muted);
    line-height: 1.4;
}
/* /Components/Shared/ExtractPagesSplitView.razor.rz.scp.css */
/* Full-screen overlay that replaces workspace during extract pages review */
.epsv-overlay[b-216d9zr0j3] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: var(--ef-bg, #fff);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Top bar */
.epsv-topbar[b-216d9zr0j3] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 14px;
    border-bottom: 1px solid var(--ef-border, #ddd);
    background: var(--ef-surface, #f8f8f8);
    flex-shrink: 0;
    min-height: 42px;
}

.epsv-title[b-216d9zr0j3] {
    font-weight: 600;
    font-size: 13px;
    color: var(--ef-text, #333);
    white-space: nowrap;
}

.epsv-progress-msg[b-216d9zr0j3] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--ef-text-muted, #888);
}

.epsv-error-msg[b-216d9zr0j3] {
    font-size: 12px;
    color: var(--ef-red, #d32f2f);
}

/* Body — three horizontal panes */
.epsv-body[b-216d9zr0j3] {
    display: flex;
    flex: 1;
    overflow: hidden;
    gap: 0;
}

.epsv-pane[b-216d9zr0j3] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-right: 1px solid var(--ef-border, #ddd);
}

.epsv-pane:last-child[b-216d9zr0j3] {
    border-right: none;
}

.epsv-pane-left[b-216d9zr0j3]   { flex: 41; }
.epsv-pane-middle[b-216d9zr0j3] { flex: 18; overflow-y: auto; }
.epsv-pane-right[b-216d9zr0j3]  { flex: 41; }

.epsv-pane-header[b-216d9zr0j3] {
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 600;
    color: var(--ef-text-muted, #888);
    background: var(--ef-surface, #f8f8f8);
    border-bottom: 1px solid var(--ef-border, #ddd);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.epsv-viewer-iframe[b-216d9zr0j3] {
    flex: 1;
    width: 100%;
    height: 100%;
    border: none;
}

/* Index form in middle pane */
.epsv-form[b-216d9zr0j3] {
    padding: 10px 10px 20px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.epsv-field-row[b-216d9zr0j3] {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px;
}

.epsv-field-label[b-216d9zr0j3] {
    font-size: 11px;
    font-weight: 500;
    color: var(--ef-text-muted, #666);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.epsv-required[b-216d9zr0j3]::after {
    content: " *";
    color: var(--ef-red, #d32f2f);
}

.epsv-field-input[b-216d9zr0j3] {
    width: 100%;
    font-size: 12px;
}
/* /Components/Shared/LineItemsReviewer.razor.rz.scp.css */
/* 2026-06-05 — LineItemsReviewer (phases 1-5). Inherits the docked-panel
   height from .line-items-panel; the wrapper owns the inner grid + (optional)
   Pages panel. Cost-basis look: light header, dense rows, sticky thead,
   inline-edit cells, blue active selection. */

.li-reviewer[b-gquzmk1mfh] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: relative;
}

/* ── Toolbar (filter + pages toggle + row count) ── */
.li-toolbar[b-gquzmk1mfh] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-bottom: 1px solid var(--ef-border);
    background: var(--ef-surface);
    flex-shrink: 0;
}
.li-filter-input[b-gquzmk1mfh] {
    height: 26px;
    padding: 0 8px;
    font-size: var(--ef-text-12);
    color: var(--ef-text);
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: 6px;
    outline: none;
    width: 220px;
}
.li-filter-input:focus[b-gquzmk1mfh] {
    border-color: var(--ef-color-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18);
}
.li-filter-clear[b-gquzmk1mfh] {
    width: 22px;
    height: 22px;
    border: none;
    background: transparent;
    color: var(--ef-text-muted);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    border-radius: 4px;
}
.li-filter-clear:hover[b-gquzmk1mfh] { background: var(--ef-surface-hover); color: var(--ef-text); }
.li-toolbar-btn[b-gquzmk1mfh] {
    height: 26px;
    padding: 0 10px;
    font-size: var(--ef-text-12);
    color: var(--ef-text-muted);
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: 6px;
    cursor: pointer;
}
.li-toolbar-btn:hover[b-gquzmk1mfh] { background: var(--ef-surface-hover); color: var(--ef-text); }
.li-toolbar-btn.active[b-gquzmk1mfh] {
    background: rgba(37, 99, 235, 0.08);
    color: var(--ef-color-primary, #1d4ed8);
    border-color: rgba(37, 99, 235, 0.3);
}
.li-row-count[b-gquzmk1mfh] {
    margin-left: auto;
    font-size: 11px;
    color: var(--ef-text-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}
.li-filter-tag[b-gquzmk1mfh] {
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.08);
    color: var(--ef-color-primary, #1d4ed8);
    font-weight: 600;
}

/* ── Body layout: grid + (optional) right-side Pages panel ── */
.li-body[b-gquzmk1mfh] {
    flex: 1;
    display: flex;
    min-height: 0;
}
.li-body-with-pages .li-grid-wrap[b-gquzmk1mfh] { flex: 1 1 auto; }
.li-grid-wrap[b-gquzmk1mfh] {
    flex: 1;
    overflow: auto;
    background: var(--ef-surface);
}

.li-empty[b-gquzmk1mfh] {
    padding: 24px;
    text-align: center;
    color: var(--ef-text-muted);
}

/* ── Grid table ── */
.li-table[b-gquzmk1mfh] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--ef-text-12);
    table-layout: auto;
}
.li-table thead th[b-gquzmk1mfh] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #e9ecef;
    color: var(--ef-text);
    font-weight: 600;
    font-size: var(--ef-text-11);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: left;
    padding: var(--ef-space-4) var(--ef-space-8);
    border-bottom: 1px solid var(--ef-border);
    white-space: nowrap;
    box-shadow: 0 1px 0 var(--ef-border);
    position: relative; /* anchor for resize handle */
}
.li-table tbody td[b-gquzmk1mfh] {
    padding: 0;
    border-bottom: 1px solid var(--ef-border);
    vertical-align: middle;
}
.li-table tbody tr:hover[b-gquzmk1mfh] { background: var(--ef-surface-hover); }
.li-actions-col[b-gquzmk1mfh] { width: 28px; text-align: center; }

.li-table tbody td input[type="text"][b-gquzmk1mfh] {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: var(--ef-space-4) var(--ef-space-8);
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    font: inherit;
    color: inherit;
    outline: none;
}
.li-table tbody td input[type="text"]:hover[b-gquzmk1mfh] { border-color: var(--ef-border); }
.li-table tbody td input[type="text"]:focus[b-gquzmk1mfh] {
    background: var(--ef-surface);
    border-color: var(--ef-color-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18);
}

/* Multi-select highlight (JS adds the class via mousedown handler). */
.li-table tbody td input.li-cell-selected[b-gquzmk1mfh] {
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.3);
}
.li-table tbody td input.li-cell-selected:focus[b-gquzmk1mfh] { background: var(--ef-surface); }

/* Page-cell link (jump-to-page). */
.li-page-link[b-gquzmk1mfh] {
    display: inline-block;
    padding: 4px 8px;
    color: var(--ef-color-primary, #1d4ed8);
    text-decoration: none;
    font-weight: 600;
}
.li-page-link:hover[b-gquzmk1mfh] { text-decoration: underline; }

.li-row-del[b-gquzmk1mfh] {
    width: 22px;
    height: 22px;
    padding: 0;
}

/* Row flash after Add Row / Clone — fades over 1.2s. */
@keyframes li-row-flash-b-gquzmk1mfh {
    0%, 35% { background: rgba(37, 99, 235, 0.12); }
    100%    { background: transparent; }
}
.li-table tbody tr.li-row-flash[b-gquzmk1mfh] {
    animation: li-row-flash-b-gquzmk1mfh 1.2s ease-out;
}

/* Col-resize handle injected by JS. Lives on the right edge of every <th>. */
.li-col-resize[b-gquzmk1mfh] {
    position: absolute;
    right: -1px;
    top: 0;
    width: 7px;
    height: 100%;
    cursor: col-resize;
    z-index: 3;
}
.li-col-resize[b-gquzmk1mfh]::after {
    content: "";
    position: absolute;
    right: 3px;
    top: 25%;
    height: 50%;
    width: 1px;
    background: var(--ef-border);
}
.li-col-resize:hover[b-gquzmk1mfh]::after {
    background: var(--ef-color-primary, #2563eb);
    width: 2px;
    right: 2px;
}

/* ── Right-side Pages panel ── */
.li-pages-panel[b-gquzmk1mfh] {
    flex: 0 0 180px;
    border-left: 1px solid var(--ef-border);
    background: var(--ef-surface);
    overflow: auto;
    padding: 6px 4px;
}
.li-pages-header[b-gquzmk1mfh] {
    padding: 4px 8px 8px 8px;
    font-size: 12px;
    border-bottom: 1px solid var(--ef-border);
    margin-bottom: 4px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.li-pages-empty[b-gquzmk1mfh] {
    padding: 8px;
    color: var(--ef-text-muted);
    font-size: 12px;
    font-style: italic;
}
.li-page-item[b-gquzmk1mfh] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    font-size: 12px;
    border-radius: 4px;
    cursor: pointer;
    border-left: 2px solid transparent;
}
.li-page-item:hover[b-gquzmk1mfh] { background: var(--ef-surface-hover); }
.li-page-item.active[b-gquzmk1mfh] {
    background: rgba(37, 99, 235, 0.08);
    border-left-color: var(--ef-color-primary, #2563eb);
}
.li-page-chip[b-gquzmk1mfh] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.li-page-chip-ok[b-gquzmk1mfh]   { background: #16a34a; }
.li-page-chip-gap[b-gquzmk1mfh]  { background: #dc2626; }
.li-page-chip-edge[b-gquzmk1mfh] { background: #9ca3af; }
.li-page-label[b-gquzmk1mfh] { flex: 1; }
.li-page-count[b-gquzmk1mfh] {
    font-size: 11px;
    color: var(--ef-text-muted);
    font-variant-numeric: tabular-nums;
}

/* ── Right-click context menu ── */
.li-ctx-scrim[b-gquzmk1mfh] {
    position: fixed;
    inset: 0;
    z-index: 4000;
    background: transparent;
}
.li-ctx[b-gquzmk1mfh] {
    position: fixed;
    z-index: 4001;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.06);
    padding: 4px 0;
    min-width: 170px;
}
.li-ctx-item[b-gquzmk1mfh] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    font-size: 13px;
    color: var(--ef-text);
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
}
.li-ctx-item:hover[b-gquzmk1mfh] { background: var(--ef-surface-hover); }
.li-ctx-glyph[b-gquzmk1mfh] {
    width: 16px;
    text-align: center;
    color: var(--ef-text-muted);
    font-size: 12px;
}
.li-ctx-danger[b-gquzmk1mfh] { color: #b91c1c; }
.li-ctx-danger .li-ctx-glyph[b-gquzmk1mfh] { color: #b91c1c; }
.li-ctx-sep[b-gquzmk1mfh] {
    height: 1px;
    background: var(--ef-border);
    margin: 4px 0;
}

/* ── Sort headers (Phase 6a) ──────────────────────────────────────────── */
.li-th-sortable[b-gquzmk1mfh] {
    cursor: pointer;
    user-select: none;
}
.li-th-sortable:hover[b-gquzmk1mfh] {
    background: var(--ef-surface-hover);
}
.li-th-sorted[b-gquzmk1mfh] {
    background: var(--ef-surface-hover);
}
.li-th-label[b-gquzmk1mfh] {
    margin-right: 4px;
}
.li-th-sort-glyph[b-gquzmk1mfh] {
    font-size: 10px;
    color: var(--ef-text-muted);
    margin-left: 2px;
}
.li-th-sort-idx[b-gquzmk1mfh] {
    display: inline-block;
    font-size: 9px;
    line-height: 14px;
    min-width: 12px;
    height: 14px;
    padding: 0 3px;
    margin-left: 2px;
    border-radius: 7px;
    background: var(--ef-text-muted);
    color: white;
    text-align: center;
    vertical-align: middle;
}
/* /Components/Shared/SendLinkModal.razor.rz.scp.css */
.sl-dialog[b-yjtscb8bry] {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0,0,0,.18);
    width: 500px;
    max-width: 92vw;
    font-size: 13px;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.sl-check-row[b-yjtscb8bry] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.sl-check-row label[b-yjtscb8bry] { cursor: pointer; margin: 0; }
.sl-check-row input[type=checkbox][b-yjtscb8bry] { cursor: pointer; }

.sl-input[b-yjtscb8bry] {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 4px;
}

.sl-input:disabled[b-yjtscb8bry] { background: #f5f5f5; color: #aaa; }

.sl-error[b-yjtscb8bry] {
    margin-top: 10px;
    color: #721c24;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 3px;
    padding: 6px 10px;
    font-size: 12px;
}

.sl-link-box[b-yjtscb8bry] {
    margin-top: 14px;
    padding: 10px;
    background: #f5f5f5;
    border: 1px solid #86b7fe;
    border-radius: 5px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 12px;
    color: #333;
}

.sl-link-text[b-yjtscb8bry] { line-height: 1.5; }

.sl-link-actions[b-yjtscb8bry] {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.sl-exp-note[b-yjtscb8bry] {
    font-size: 11px;
    color: #555;
    margin-top: 6px;
    font-style: italic;
}
