/* _content/Estart/Components/Layout/AdminLayout.razor.rz.scp.css */
/* Layout riêng của AdminLayout — CSS Isolation, tách khỏi <style> inline cũ
   để đồng bộ pattern với AdminNavMenu/AdminTopbar/AdminUserDropdown (2026-08-21). */

    .adm-body[b-vp0mkkajnr] { display: flex; flex: 1; overflow: hidden; }

    .adm-sidebar-wrap[b-vp0mkkajnr] {
        flex-shrink: 0;
        display: flex;
        background: var(--sidebar);
    }

    .adm-main[b-vp0mkkajnr] {
        flex: 1; overflow-y: auto;
        padding: 1.5rem;
        background: var(--background);
    }
/* _content/Estart/Components/Layout/AdminNavMenu.razor.rz.scp.css */
/* ============================================================
   Sidebar Admin — theme tối hiện đại (CSS Isolation)
   ============================================================ */
.adm-sidebar[b-av21fchl7y] {
    --sb-bg: var(--sidebar, #0F172A);
    --sb-hover: rgba(30, 166, 158, .15);
    --sb-active: var(--primary, #1EA69E);
    --sb-active-border: var(--primary-hover, #188A83);
    --sb-border: rgba(148, 163, 184, .16);
    --sb-text: #F8FAFC;
    --sb-muted: #94A3B8;
    --sb-scroll: #475569;
    --sb-scroll-hover: #64748B;

    display: flex;
    flex-direction: column;
    width: 260px;
    height: 100%;
    background: var(--sb-bg);
    border-right: 1px solid var(--sb-border);
    box-shadow: 1px 0 2px rgba(0, 0, 0, .25);
    transition: width var(--transition), transform var(--transition);
}

.adm-sidebar.collapsed[b-av21fchl7y] {
    width: 72px;
}

/* ===================== Nút thu gọn (nằm ở hàng "Tổng quan") ===================== */
.adm-sidebar__toggle[b-av21fchl7y] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid var(--sb-border);
    background: transparent;
    color: var(--sb-muted);
    cursor: pointer;
    transition: background-color var(--transition), color var(--transition);
}

.adm-sidebar__toggle:hover[b-av21fchl7y] {
    background: var(--sb-hover);
    color: var(--sb-text);
}

.adm-sidebar__toggle[b-av21fchl7y]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

/* Hàng "Tổng quan" chứa nút thu gọn */
.sidebar-label--head[b-av21fchl7y] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 4px;
}

.sidebar-label--head .sidebar-label__text[b-av21fchl7y] {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===================== Vùng cuộn + scrollbar ===================== */
.adm-sidebar__scroll[b-av21fchl7y] {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px;
    scrollbar-width: thin;
    scrollbar-color: var(--sb-scroll) transparent;
}

.adm-sidebar__scroll[b-av21fchl7y]::-webkit-scrollbar {
    width: 6px;
}

.adm-sidebar__scroll[b-av21fchl7y]::-webkit-scrollbar-track {
    background: transparent;
}

.adm-sidebar__scroll[b-av21fchl7y]::-webkit-scrollbar-thumb {
    background: var(--sb-scroll);
    border-radius: 999px;
}

.adm-sidebar__scroll[b-av21fchl7y]::-webkit-scrollbar-thumb:hover {
    background: var(--sb-scroll-hover);
}

/* ===================== Group ===================== */
.sidebar-section[b-av21fchl7y] {
    padding: 6px 0;
}

.sidebar-section + .sidebar-section[b-av21fchl7y] {
    border-top: 1px solid var(--sb-hover);
}

.sidebar-label[b-av21fchl7y] {
    padding: 10px 12px 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--sb-muted);
    white-space: nowrap;
    overflow: hidden;
}

/* ===================== Menu item (NavLink -> ::deep) ===================== */
.adm-sidebar[b-av21fchl7y]  .sidebar-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    height: 48px;
    padding: 12px 16px;
    margin: 2px 0;
    border-radius: 10px;
    border-left: 4px solid transparent;
    color: var(--sb-text);
    text-decoration: none;
    font-size: .9rem;
    white-space: nowrap;
    transition: background-color var(--transition), transform var(--transition), color var(--transition);
}

.adm-sidebar[b-av21fchl7y]  .sidebar-link:hover {
    background: var(--sb-hover);
    color: var(--sb-text);
    transform: translateX(2px);
}

.adm-sidebar[b-av21fchl7y]  .sidebar-link.active {
    background: var(--sb-active);
    color: #ffffff;
    border-left-color: var(--sb-active-border);
}

.adm-sidebar[b-av21fchl7y]  .sidebar-link.active .sidebar-link__text {
    font-weight: 600;
}

/* Icon */
.sidebar-link__icon[b-av21fchl7y] {
    flex: 0 0 auto;
    width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
}

.sidebar-link__icon[b-av21fchl7y]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

/* Text */
.sidebar-link__text[b-av21fchl7y] {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Badge */
.sidebar-badge[b-av21fchl7y] {
    flex: 0 0 auto;
    margin-left: auto;
    background: var(--danger);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    border-radius: 999px;
    padding: 2px 7px;
    line-height: 1.5;
}

/* ===================== Trạng thái Collapsed ===================== */
.adm-sidebar.collapsed .sidebar-label:not(.sidebar-label--head)[b-av21fchl7y] {
    height: 1px;
    padding: 0;
    margin: 8px 12px;
    overflow: hidden;
    background: var(--sb-border);
    color: transparent;
}

/* Khi thu gọn: ẩn chữ "Tổng quan", chỉ giữ nút thu gọn (căn giữa) */
.adm-sidebar.collapsed .sidebar-label--head[b-av21fchl7y] {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

.adm-sidebar.collapsed .sidebar-label--head .sidebar-label__text[b-av21fchl7y] {
    display: none;
}

.adm-sidebar.collapsed .sidebar-link__text[b-av21fchl7y],
.adm-sidebar.collapsed .sidebar-badge[b-av21fchl7y] {
    display: none;
}

.adm-sidebar.collapsed[b-av21fchl7y]  .sidebar-link {
    justify-content: center;
    gap: 0;
    padding: 12px 0;
}

.adm-sidebar.collapsed[b-av21fchl7y]  .sidebar-link:hover {
    transform: none;
}

/* ===================== Mobile drawer ===================== */
.sidebar-hamburger[b-av21fchl7y],
.sidebar-backdrop[b-av21fchl7y] {
    display: none;
}

@media (max-width: 768px) {
    .sidebar-hamburger[b-av21fchl7y] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 8px;
        left: 10px;
        z-index: 140;
        width: 40px;
        height: 40px;
        border-radius: var(--radius);
        background: var(--sidebar);
        color: #F8FAFC;
        border: 1px solid rgba(148, 163, 184, .16);
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
    }

    .sidebar-hamburger[b-av21fchl7y]  .rz-icon {
        font-size: 22px;
        color: inherit;
    }

    .adm-sidebar[b-av21fchl7y] {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 130;
        width: 260px;
        transform: translateX(-100%);
    }

    /* Bỏ qua chế độ thu gọn trên mobile — luôn là drawer đầy đủ */
    .adm-sidebar.collapsed[b-av21fchl7y] {
        width: 260px;
    }

    .adm-sidebar.collapsed .sidebar-link__text[b-av21fchl7y],
    .adm-sidebar.collapsed .sidebar-badge[b-av21fchl7y] {
        display: inline;
    }

    .adm-sidebar.collapsed[b-av21fchl7y]  .sidebar-link {
        justify-content: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }

    .adm-sidebar.mobile-open[b-av21fchl7y] {
        transform: translateX(0);
        box-shadow: 0 0 40px rgba(0, 0, 0, .5);
    }

    .sidebar-backdrop[b-av21fchl7y] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 120;
        background: rgba(0, 0, 0, .5);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }

    .sidebar-backdrop.show[b-av21fchl7y] {
        opacity: 1;
        pointer-events: auto;
    }
}
/* _content/Estart/Components/Layout/AdminNotificationBell.razor.rz.scp.css */
.notifbell[b-pjopudb0gw] {
    position: relative;
}

/* Trigger — chuyển từ .topbar__iconbtn (AdminTopbar.razor.css cũ) sang đây vì chuông giờ là
   component riêng, không còn là <a> tĩnh trong AdminTopbar nữa. */
.notifbell__trigger[b-pjopudb0gw] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: var(--radius);
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background-color var(--transition), color var(--transition);
}

.notifbell__trigger:hover[b-pjopudb0gw] {
    background: var(--background);
    color: var(--primary);
}

.notifbell__trigger[b-pjopudb0gw]  .rz-icon {
    font-size: 22px;
    color: inherit;
}

.notifbell__badge[b-pjopudb0gw] {
    position: absolute;
    top: 3px;
    right: 3px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--danger);
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ===== Panel ===== */
.notifbell__overlay[b-pjopudb0gw] {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.notifbell__panel[b-pjopudb0gw] {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 380px;
    max-width: calc(100vw - 32px);
    max-height: 480px;
    display: flex;
    flex-direction: column;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-menu, 0 12px 32px rgba(15, 23, 42, .18));
    z-index: 1000;
    overflow: hidden;
    animation: notifbellIn-b-pjopudb0gw .16s ease;
}

@keyframes notifbellIn-b-pjopudb0gw {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.notifbell__head[b-pjopudb0gw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--divider);
    flex: 0 0 auto;
}

.notifbell__head-title[b-pjopudb0gw] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .95rem;
    font-weight: 700;
    color: var(--text);
}

.notifbell__unread-badge[b-pjopudb0gw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
    font-size: .72rem;
    font-weight: 700;
}

.notifbell__markread[b-pjopudb0gw] {
    border: none;
    background: transparent;
    color: var(--primary);
    font-size: .8rem;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 6px;
    transition: background-color var(--transition);
}

.notifbell__markread:hover[b-pjopudb0gw] {
    background: var(--primary-light);
}

.notifbell__list[b-pjopudb0gw] {
    flex: 1 1 auto;
    overflow-y: auto;
}

.notifbell__loading[b-pjopudb0gw] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 0;
}

.notifbell__empty[b-pjopudb0gw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 40px 20px;
    color: var(--text-secondary);
    font-size: .875rem;
}

.notifbell__empty[b-pjopudb0gw]  .rz-icon {
    font-size: 32px;
    color: var(--disabled, #9CA3AF);
}

.notifbell__item[b-pjopudb0gw] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid var(--divider);
    transition: background-color var(--transition);
}

.notifbell__item:last-child[b-pjopudb0gw] {
    border-bottom: none;
}

.notifbell__item:hover[b-pjopudb0gw] {
    background: var(--background);
}

.notifbell__item--unread[b-pjopudb0gw] {
    background: color-mix(in srgb, var(--primary) 5%, transparent);
}

.notifbell__item--unread:hover[b-pjopudb0gw] {
    background: color-mix(in srgb, var(--primary) 9%, transparent);
}

.notifbell__item-icon[b-pjopudb0gw] {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--primary-light);
    color: var(--primary);
}

.notifbell__item-icon[b-pjopudb0gw]  .rz-icon {
    font-size: 18px;
}

.notifbell__item-body[b-pjopudb0gw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.notifbell__item-title[b-pjopudb0gw] {
    font-size: .8125rem;
    font-weight: 600;
    color: var(--text);
}

.notifbell__item--unread .notifbell__item-title[b-pjopudb0gw] {
    font-weight: 700;
}

.notifbell__item-sub[b-pjopudb0gw] {
    font-size: .75rem;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.notifbell__item-time[b-pjopudb0gw] {
    font-size: .7rem;
    color: var(--text-secondary);
    opacity: .8;
}

.notifbell__dot[b-pjopudb0gw] {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-top: 6px;
    border-radius: 50%;
    background: var(--primary);
}

@media (max-width: 480px) {
    .notifbell__panel[b-pjopudb0gw] {
        position: fixed;
        left: 16px;
        right: 16px;
        top: 64px;
        width: auto;
    }
}
/* _content/Estart/Components/Layout/AdminThemeToggle.razor.rz.scp.css */
.theme-toggle[b-f9zs51pdoo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background-color var(--transition), color var(--transition);
}

.theme-toggle:hover[b-f9zs51pdoo] {
    background: var(--background);
    color: var(--primary);
}

.theme-toggle[b-f9zs51pdoo]  .rz-icon {
    font-size: 22px;
    color: inherit;
}

/* Mobile: giữ nút theme (cùng hàng với notification / avatar) */
@media (max-width: 768px) {
    .theme-toggle[b-f9zs51pdoo] {
        width: 36px;
        height: 36px;
    }
}
/* _content/Estart/Components/Layout/AdminTopbar.razor.rz.scp.css */
.topbar[b-dfpb7d8duv] {
    height: 60px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 24px;
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-header);
    color: var(--text-body);
}

/* ===================== Bên trái: brand ===================== */
.topbar__brand[b-dfpb7d8duv] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.topbar__logo[b-dfpb7d8duv] {
    width: 100px;
    height: 50px;
    flex: 0 0 auto;
    border-radius: 12px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.topbar__logo img[b-dfpb7d8duv] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topbar__logo[b-dfpb7d8duv]  .rz-icon {
    font-size: 28px;
    color: var(--primary);
}

.topbar__brandtext[b-dfpb7d8duv] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
}

.topbar__title[b-dfpb7d8duv] {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .3px;
    color: var(--text);
    white-space: nowrap;
}

.topbar__subtitle[b-dfpb7d8duv] {
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* ===================== Bên phải: actions ===================== */
.topbar__actions[b-dfpb7d8duv] {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Search — khung chính là "ô input", icon nằm bên trong */
.topbar__search[b-dfpb7d8duv] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 260px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--radius);
    background: var(--surface);
    border: 1px solid var(--border);
    transition: border-color var(--transition), box-shadow var(--transition);
}

.topbar__search:focus-within[b-dfpb7d8duv] {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-soft);
}

.topbar__search[b-dfpb7d8duv]  .rz-icon {
    flex: 0 0 auto;
    font-size: 20px;
    color: var(--text-secondary);
    pointer-events: none;
}

.topbar__search[b-dfpb7d8duv]  .rz-textbox {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    color: var(--text-body);
}

.topbar__search[b-dfpb7d8duv]  .rz-textbox::placeholder {
    color: var(--text-secondary);
}

/* Chuông thông báo giờ là component riêng — xem AdminNotificationBell.razor.css */

/* Xem Website (primary button) */
.topbar__btn[b-dfpb7d8duv] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 16px;
    border-radius: var(--radius);
    border: 1px solid var(--primary);
    background: var(--primary);
    color: #fff;
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color var(--transition), border-color var(--transition);
}

.topbar__btn:hover[b-dfpb7d8duv] {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #fff;
}

.topbar__btn:active[b-dfpb7d8duv] {
    background: var(--primary-active);
    border-color: var(--primary-active);
}

.topbar__btn[b-dfpb7d8duv]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

/* ===================== Responsive ===================== */
/* Tablet: ẩn ô tìm kiếm */
@media (max-width: 1200px) {
    .topbar__search[b-dfpb7d8duv] {
        display: none;
    }
}

/* Mobile: chỉ còn Logo, Notification, Avatar */
@media (max-width: 768px) {
    .topbar[b-dfpb7d8duv] {
        padding: 0 16px 0 60px; /* chừa chỗ cho nút hamburger của sidebar */
        gap: 8px;
    }

    .topbar__subtitle[b-dfpb7d8duv] {
        display: none;
    }

    .topbar__title[b-dfpb7d8duv] {
        font-size: 16px;
    }

    .topbar__btn[b-dfpb7d8duv] {
        display: none;
    }
}
/* _content/Estart/Components/Layout/AdminUserDropdown.razor.rz.scp.css */
.usermenu[b-xceiy0j1d8] {
    position: relative;
}

.usermenu__trigger[b-xceiy0j1d8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 8px 4px 4px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 12px;
    cursor: pointer;
    color: var(--text-body);
    transition: background-color var(--transition), border-color var(--transition);
}

.usermenu__trigger:hover[b-xceiy0j1d8] {
    background: var(--background);
    border-color: var(--border);
}

.usermenu[b-xceiy0j1d8]  .rz-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
}

.usermenu__meta[b-xceiy0j1d8] {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    text-align: left;
    min-width: 0;
}

.usermenu__name[b-xceiy0j1d8] {
    font-size: .875rem;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
}

.usermenu__role[b-xceiy0j1d8] {
    font-size: .75rem;
    color: var(--text-secondary);
    white-space: nowrap;
}

.usermenu[b-xceiy0j1d8]  .usermenu__caret {
    font-size: 20px;
    color: var(--text-secondary);
}

/* ===== Dropdown ===== */
.usermenu__overlay[b-xceiy0j1d8] {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.usermenu__dropdown[b-xceiy0j1d8] {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 220px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-menu, 0 12px 32px rgba(15, 23, 42, .18));
    z-index: 1000;
    padding: 6px;
    overflow: hidden;
}

.usermenu__header[b-xceiy0j1d8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--divider);
}

.usermenu__header-label[b-xceiy0j1d8] {
    font-size: .75rem;
    color: var(--text-secondary);
}

.usermenu__header strong[b-xceiy0j1d8] {
    font-size: .9rem;
    color: var(--text);
}

.usermenu__item[b-xceiy0j1d8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: var(--radius-sm);
    color: var(--text-body);
    text-decoration: none;
    font-size: .875rem;
    transition: background-color var(--transition), color var(--transition);
}

.usermenu__item:hover[b-xceiy0j1d8] {
    background: var(--primary-light);
    color: var(--primary-active);
}

.usermenu__item[b-xceiy0j1d8]  .rz-icon {
    font-size: 19px;
    color: var(--text-secondary);
    transition: color var(--transition);
}

.usermenu__item:hover[b-xceiy0j1d8]  .rz-icon {
    color: var(--primary);
}

.usermenu__item--danger[b-xceiy0j1d8] {
    color: var(--danger);
}

.usermenu__item--danger:hover[b-xceiy0j1d8] {
    background: color-mix(in srgb, var(--danger) 14%, transparent);
    color: var(--danger);
}

.usermenu__item--danger[b-xceiy0j1d8]  .rz-icon,
.usermenu__item--danger:hover[b-xceiy0j1d8]  .rz-icon {
    color: var(--danger);
}

.usermenu__divider[b-xceiy0j1d8] {
    height: 1px;
    background: var(--divider);
    margin: 4px 0;
}

/* Mobile: chỉ hiện avatar */
@media (max-width: 768px) {
    .usermenu__meta[b-xceiy0j1d8],
    .usermenu__caret[b-xceiy0j1d8] {
        display: none;
    }

    .usermenu__trigger[b-xceiy0j1d8] {
        padding: 2px;
    }
}
/* _content/Estart/Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-j3nv91mgdi] {
    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-j3nv91mgdi] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/Estart/Components/Pages/Admin/Core/AnnouncementsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-o90qb9kob9] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-o90qb9kob9]  .filter-control--status,
    .filter-bar[b-o90qb9kob9]  .filter-control--search,
    .filter-bar[b-o90qb9kob9]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-o90qb9kob9] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-o90qb9kob9] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-o90qb9kob9] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-o90qb9kob9] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.announcements-grid[b-o90qb9kob9]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.announce-msg[b-o90qb9kob9] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 500;
    color: var(--text);
    line-height: 1.4;
}

.type-badge[b-o90qb9kob9] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 999px;
    white-space: nowrap;
}

.type-badge--info[b-o90qb9kob9] { background: #EFF6FF; color: #1D4ED8; }

.type-badge--warning[b-o90qb9kob9] { background: #FFFBEB; color: #B45309; }

.type-badge--urgent[b-o90qb9kob9] { background: #FEF2F2; color: #B91C1C; }

.cell-date[b-o90qb9kob9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-o90qb9kob9] { font-weight: 500; color: var(--text); }

.cell-date__time[b-o90qb9kob9] { font-size: 12px; color: var(--text-secondary); }
/* _content/Estart/Components/Pages/Admin/Core/BannersAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-ndw2aan6c9] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-ndw2aan6c9]  .filter-control--status,
    .filter-bar[b-ndw2aan6c9]  .filter-control--search,
    .filter-bar[b-ndw2aan6c9]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-ndw2aan6c9] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-ndw2aan6c9] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-ndw2aan6c9] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-ndw2aan6c9] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.banners-grid[b-ndw2aan6c9]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.thumb[b-ndw2aan6c9] {
    width: 110px;
    height: 55px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--background) center/cover no-repeat;
}

.thumb--empty[b-ndw2aan6c9] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: var(--text-secondary);
    background: var(--background);
}

.banner-title[b-ndw2aan6c9] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
}

.banner-title:hover[b-ndw2aan6c9] { color: var(--primary); }

.banner-sub[b-ndw2aan6c9] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date[b-ndw2aan6c9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-ndw2aan6c9] { font-weight: 500; color: var(--text); }

.cell-date__time[b-ndw2aan6c9] { font-size: 12px; color: var(--text-secondary); }
/* _content/Estart/Components/Pages/Admin/Core/KeywordsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-nwb9mj114i] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-nwb9mj114i]  .filter-control--status,
    .filter-bar[b-nwb9mj114i]  .filter-control--search,
    .filter-bar[b-nwb9mj114i]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-nwb9mj114i] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-nwb9mj114i] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-nwb9mj114i] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-nwb9mj114i] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.keywords-grid[b-nwb9mj114i]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.kw-dot[b-nwb9mj114i] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
}

.kw-name[b-nwb9mj114i] {
    font-weight: 600;
    color: var(--text);
    vertical-align: middle;
}

.cell-code[b-nwb9mj114i] {
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: var(--text-body);
    background: var(--background);
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid var(--border);
}

.row-menu__item[disabled][b-nwb9mj114i] {
    opacity: .45;
    pointer-events: none;
}
/* _content/Estart/Components/Pages/Admin/Core/MenusAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-8r7z9h3ly4] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-8r7z9h3ly4]  .filter-control--status,
    .filter-bar[b-8r7z9h3ly4]  .filter-control--search,
    .filter-bar[b-8r7z9h3ly4]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-8r7z9h3ly4] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-8r7z9h3ly4] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-8r7z9h3ly4] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-8r7z9h3ly4] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Modal xác nhận / nhập liệu ===================== */
.modal-overlay[b-8r7z9h3ly4] {
    position: fixed;
    inset: 0;
    z-index: 9100;
    background: var(--adm-overlay, rgba(15, 23, 42, .45));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: overlayIn .18s ease;
}

.modal[b-8r7z9h3ly4] {
    background: var(--surface);
    color: var(--text-body);
    border: 1px solid var(--border);
    border-radius: 16px;
    width: 440px;
    max-width: 96vw;
    box-shadow: var(--shadow-modal, 0 20px 60px rgba(0, 0, 0, .25));
    overflow: hidden;
    animation: modalIn .2s ease;
}

/* ===================== Cây danh mục — mirror 1:1 pattern ArticleTopicsAdmin (Danh mục Tin tức) =====================
   File này KHÔNG global nên phải khai lại y hệt .cat-* của ArticleTopicsAdmin.razor.css (CSS isolation,
   mỗi trang scope riêng) — không đổi tên/giá trị để giữ đúng baseline tham chiếu.
   KHÁC ArticleTopicsAdmin ở 1 điểm có chủ đích: KHÔNG có .cat-card (khung viền+shadow riêng) — vì ở đây
   cây đã nằm trong .tab-panel/.tabs-card (khung "1 card duy nhất" của RadzenTabs), thêm .cat-card sẽ
   thành card-trong-card (viền + shadow chồng lên nhau). ArticleTopicsAdmin không có tab nên .cat-card
   là khung ngoài cùng duy nhất của nó — ở đây .tabs-card đã đóng đúng vai trò đó rồi. */
.cat-loading[b-8r7z9h3ly4] {
    display: flex;
    justify-content: center;
    padding: 2.5rem;
}

.cat-list[b-8r7z9h3ly4] {
    display: flex;
    flex-direction: column;
}

.cat-node[b-8r7z9h3ly4] {
    display: flex;
    flex-direction: column;
}

.cat-row[b-8r7z9h3ly4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--adm-grid-row-border, var(--border));
    transition: background-color .2s ease;
}

.cat-row:hover[b-8r7z9h3ly4] {
    background: var(--adm-hover-bg, var(--background));
}

.cat-list > .cat-node:last-child > .cat-row[b-8r7z9h3ly4] {
    border-bottom: none;
}

.cat-row__lead[b-8r7z9h3ly4] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

.cat-toggle[b-8r7z9h3ly4] {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    border-radius: 6px;
    color: var(--adm-grid-icon, var(--text-secondary));
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

.cat-toggle:hover[b-8r7z9h3ly4] {
    background: var(--primary-soft);
    color: var(--primary);
}

.cat-toggle[b-8r7z9h3ly4]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

.cat-toggle--placeholder[b-8r7z9h3ly4] {
    cursor: default;
    pointer-events: none;
}

.cat-folder[b-8r7z9h3ly4] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    color: var(--adm-grid-icon, var(--text-secondary));
    transition: color .2s ease;
}

.cat-folder[b-8r7z9h3ly4]  .rz-icon {
    font-size: 22px;
    color: inherit;
}

.cat-row:hover .cat-folder[b-8r7z9h3ly4],
.cat-row:hover .cat-toggle[b-8r7z9h3ly4] {
    color: var(--primary);
}

.cat-info[b-8r7z9h3ly4] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

.cat-name[b-8r7z9h3ly4] {
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cat-slug[b-8r7z9h3ly4] {
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cat-row__trail[b-8r7z9h3ly4] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

/* Cây con: thụt lề 24px + đường nối nhẹ — y hệt ArticleTopicsAdmin */
.cat-node__children[b-8r7z9h3ly4] {
    position: relative;
    padding-left: 24px;
}

.cat-node__children[b-8r7z9h3ly4]::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 0;
    bottom: 0;
    width: 1.5px;
    background: var(--border);
}

/* ===================== Empty state ===================== */
.cat-empty[b-8r7z9h3ly4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    padding: 56px 24px;
}

.cat-empty__icon[b-8r7z9h3ly4] {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-light);
    color: var(--primary);
    margin-bottom: 8px;
}

.cat-empty__icon[b-8r7z9h3ly4]  .rz-icon {
    font-size: 32px;
    color: inherit;
}

.cat-empty__title[b-8r7z9h3ly4] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-body);
}

.cat-empty__hint[b-8r7z9h3ly4] {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--text-secondary);
    max-width: 360px;
}

@media (max-width: 1024px) {
    .cat-row[b-8r7z9h3ly4] {
        padding: 12px 14px;
    }

    .cat-node__children[b-8r7z9h3ly4] {
        padding-left: 20px;
    }

    .cat-node__children[b-8r7z9h3ly4]::before {
        left: 25px;
    }
}

@media (max-width: 767px) {
    .cat-row[b-8r7z9h3ly4] {
        min-height: 60px;
        padding: 10px 14px;
    }

    .cat-slug[b-8r7z9h3ly4] {
        max-width: 46vw;
    }
}
/* _content/Estart/Components/Pages/Admin/Core/PagesAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-jm2nhq3dib] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-jm2nhq3dib]  .filter-control--status,
    .filter-bar[b-jm2nhq3dib]  .filter-control--search,
    .filter-bar[b-jm2nhq3dib]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-jm2nhq3dib] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-jm2nhq3dib] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-jm2nhq3dib] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-jm2nhq3dib] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.pages-grid[b-jm2nhq3dib]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.page-title[b-jm2nhq3dib] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
}

.page-title:hover[b-jm2nhq3dib] { color: var(--primary); }

.page-slug[b-jm2nhq3dib],
.cell-muted[b-jm2nhq3dib] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-code[b-jm2nhq3dib] {
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: var(--text-body);
    background: var(--background);
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid var(--border);
}

.system-badge[b-jm2nhq3dib] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 999px;
    background: #EFF6FF;
    color: #1D4ED8;
}
/* _content/Estart/Components/Pages/Admin/Core/PartnersAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-hav9xonvvx] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-hav9xonvvx]  .filter-control--status,
    .filter-bar[b-hav9xonvvx]  .filter-control--search,
    .filter-bar[b-hav9xonvvx]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-hav9xonvvx] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-hav9xonvvx] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-hav9xonvvx] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-hav9xonvvx] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.partners-grid[b-hav9xonvvx]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.partner-cell[b-hav9xonvvx] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.partner-logo[b-hav9xonvvx] {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: var(--surface);
    flex: 0 0 auto;
}

.partner-logo--empty[b-hav9xonvvx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--disabled);
    background: var(--background);
}

.partner-name[b-hav9xonvvx] {
    font-weight: 600;
    color: var(--text);
    line-height: 1.35;
}

.partner-url[b-hav9xonvvx] {
    margin-top: 2px;
    font-size: 12px;
    color: var(--text-secondary);
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* _content/Estart/Components/Pages/Admin/Ebook/DocumentsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-runei3otiz] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-runei3otiz]  .filter-control--status,
    .filter-bar[b-runei3otiz]  .filter-control--search,
    .filter-bar[b-runei3otiz]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-runei3otiz] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-runei3otiz] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-runei3otiz] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-runei3otiz] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.documents-grid[b-runei3otiz]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}
/* _content/Estart/Components/Pages/Admin/Ebook/EbookReportAdmin.razor.rz.scp.css */
.ebook-report[b-xhgu5bvf6j] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1320px;
}

.ebook-report__loading[b-xhgu5bvf6j] {
    padding: 2rem;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    color: var(--text-secondary);
}

.ebook-report__period[b-xhgu5bvf6j] {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-body);
    font-size: .875rem;
}

.ebook-report__period[b-xhgu5bvf6j]  .rz-icon {
    color: var(--text-secondary);
    font-size: 18px;
}

.ebook-report__section[b-xhgu5bvf6j] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}

.kpi-grid[b-xhgu5bvf6j] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 860px) {
    .kpi-grid[b-xhgu5bvf6j] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
    .kpi-grid[b-xhgu5bvf6j] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ebook-report__section--split[b-xhgu5bvf6j] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .ebook-report__section--split[b-xhgu5bvf6j] {
        grid-template-columns: repeat(2, minmax(320px, 1fr));
    }
}

.chart-card[b-xhgu5bvf6j] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .875rem 1rem 1rem;
}

.chart-card__head[b-xhgu5bvf6j] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
}

.chart-card__head h3[b-xhgu5bvf6j] {
    margin: 0;
    color: var(--text);
    font-size: .94rem;
    font-weight: 700;
}

.chart-card__head[b-xhgu5bvf6j]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

.chart[b-xhgu5bvf6j] {
    min-height: 260px;
}

.chart-empty[b-xhgu5bvf6j] {
    margin: .5rem 0 0;
    color: var(--text-secondary);
    font-size: .875rem;
}

.chart-legend-list[b-xhgu5bvf6j] {
    margin-top: .75rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    max-height: 220px;
    overflow: auto;
    padding-right: .25rem;
}

.chart-legend-list__item[b-xhgu5bvf6j] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    padding: .4rem .5rem;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);
}

.chart-legend-list__key[b-xhgu5bvf6j] {
    font-size: .75rem;
    font-weight: 700;
    color: var(--primary);
}

.chart-legend-list__title[b-xhgu5bvf6j] {
    font-size: .82rem;
    color: var(--text);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chart-legend-list__meta[b-xhgu5bvf6j] {
    font-size: .75rem;
    color: var(--text-secondary);
    white-space: nowrap;
}
/* _content/Estart/Components/Pages/Admin/Econnect/ArticleEditAdmin.razor.rz.scp.css */
.edit-empty a[b-daf14yf04j] {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.edit-empty a:hover[b-daf14yf04j] {
    text-decoration: underline;
}

/* FormField + nút: ép khoảng cách rõ (tránh các ô/nút dính sát nhau) */
.edit-panel[b-daf14yf04j]  .rz-stack {
    gap: 1.25rem !important;
    align-items: stretch !important;
    width: 100%;
}

.edit-panel[b-daf14yf04j]  .rz-form-field {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin-block: 0 !important;
}

.edit-panel[b-daf14yf04j]  .rz-textbox,
.edit-panel[b-daf14yf04j]  .rz-textarea,
.edit-panel[b-daf14yf04j]  .rz-form-field-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Nền chỉ ở FormField — textbox/textarea trong suốt */
.edit-panel[b-daf14yf04j]  .rz-form-field-content .rz-textbox,
.edit-panel[b-daf14yf04j]  .rz-form-field-content .rz-textarea,
.edit-card[b-daf14yf04j]  .rz-form-field-content .rz-textbox,
.edit-card[b-daf14yf04j]  .rz-form-field-content .rz-textarea,
.edit-card[b-daf14yf04j]  .rz-form-field-content .rz-dropdown,
.edit-card[b-daf14yf04j]  .rz-form-field-content .rz-datepicker {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--text) !important;
    box-shadow: none !important;
}

.schedule-row[b-daf14yf04j] {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.schedule-row[b-daf14yf04j]  .rz-datepicker {
    flex: 1 1 auto;
    min-width: 0;
}

.status-badge--scheduled[b-daf14yf04j] { background: color-mix(in srgb, var(--warning) 18%, transparent); color: var(--warning); }

/* Topic tree */
.topic-tree[b-daf14yf04j] {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px;
    margin-top: 6px;
    max-height: 240px;
    overflow-y: auto;
    background: var(--surface);
}

.topic-tree__item[b-daf14yf04j] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 4px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-body);
    border-radius: 6px;
}

.topic-tree__item:hover[b-daf14yf04j] {
    background: var(--background);
}

.topic-tree__root[b-daf14yf04j] {
    font-weight: 600;
    color: var(--text);
}

/* Comments */
.comment-list[b-daf14yf04j] {
    display: flex;
    flex-direction: column;
}

.comment-row[b-daf14yf04j] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--adm-grid-row-border, var(--border));
}

.comment-row:last-child[b-daf14yf04j] {
    border-bottom: none;
    padding-bottom: 0;
}

.comment-row--reply[b-daf14yf04j] {
    margin-left: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--border);
}

.comment-row--hidden[b-daf14yf04j] {
    opacity: .55;
}

.comment-row__main[b-daf14yf04j] {
    min-width: 0;
    flex: 1;
}

.comment-row__meta[b-daf14yf04j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.comment-row__meta strong[b-daf14yf04j] {
    color: var(--text);
}

.comment-row__meta[b-daf14yf04j]  .rz-icon {
    font-size: 16px;
    color: var(--text-secondary);
}

.comment-row__body[b-daf14yf04j] {
    font-size: 14px;
    color: var(--text);
    line-height: 1.45;
    word-break: break-word;
}

.comment-mention[b-daf14yf04j] {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.comment-mention:hover[b-daf14yf04j] {
    text-decoration: underline;
}
/* _content/Estart/Components/Pages/Admin/Econnect/ArticlesAdmin.razor.rz.scp.css */
/* =====================================================================
   ArticlesAdmin — phần CSS riêng của trang (còn lại sau khi gom phần dùng
   chung vào wwwroot/css/admin/grid.css, 2026-08-21).
   ===================================================================== */
.article-title[b-5rkm5qlxjo] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.article-title:hover[b-5rkm5qlxjo] {
    color: var(--primary);
}
/* _content/Estart/Components/Pages/Admin/Econnect/ArticleTopicsAdmin.razor.rz.scp.css */
/* =====================================================================
   Danh mục Tin tức — giao diện Enterprise (tối giản, brand #1EA69E)
   CSS Isolation cho ArticleTopicsAdmin.razor.
   Kế thừa design token từ .adm-root (AdminLayout); token slate khai cục bộ.
   ===================================================================== */
.cat-page[b-81pf0fqp1s] {
    --slug: var(--text-secondary);
    --icon: var(--adm-grid-icon, var(--text-secondary));
    --row-border: var(--adm-grid-row-border, var(--border));
    --row-hover: var(--adm-hover-bg, var(--background));
    --tree-line: var(--border);

    display: flex;
    flex-direction: column;
    gap: 1.125rem;
    max-width: 1100px;
}

/* ===================== Header ===================== */
.page-head[b-81pf0fqp1s] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.page-head__title[b-81pf0fqp1s] {
    display: flex;
    align-items: center;
    gap: .875rem;
    min-width: 0;
}

.page-head__text h1[b-81pf0fqp1s] {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
}

.page-head__text p[b-81pf0fqp1s] {
    margin: 2px 0 0;
    font-size: .8125rem;
    color: var(--text-secondary);
}

/* Nút Primary dùng chung (header + empty state) */
.cat-page[b-81pf0fqp1s]  .btn-add {
    height: 42px;
    border-radius: 10px;
    font-weight: 600;
    box-shadow: none;
}

/* ===================== Card chứa danh sách ===================== */
.cat-card[b-81pf0fqp1s] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 6px 0;
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.cat-loading[b-81pf0fqp1s] {
    display: flex;
    justify-content: center;
    padding: 2.5rem;
}

/* ===================== Danh sách cây ===================== */
.cat-list[b-81pf0fqp1s] {
    display: flex;
    flex-direction: column;
}

.cat-node[b-81pf0fqp1s] {
    display: flex;
    flex-direction: column;
}

.cat-row[b-81pf0fqp1s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--row-border);
    transition: background-color .2s ease;
}

.cat-row:hover[b-81pf0fqp1s] {
    background: var(--row-hover);
}

/* Bỏ viền dưới của dòng gốc cuối cùng cho gọn */
.cat-list > .cat-node:last-child > .cat-row[b-81pf0fqp1s] {
    border-bottom: none;
}

/* ----- Bên trái: chevron + folder + tên/slug ----- */
.cat-row__lead[b-81pf0fqp1s] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

.cat-toggle[b-81pf0fqp1s] {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    border-radius: 6px;
    color: var(--icon);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

.cat-toggle:hover[b-81pf0fqp1s] {
    background: var(--primary-soft);
    color: var(--primary);
}

.cat-toggle[b-81pf0fqp1s]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

.cat-toggle--placeholder[b-81pf0fqp1s] {
    cursor: default;
    pointer-events: none;
}

.cat-folder[b-81pf0fqp1s] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    color: var(--icon);
    transition: color .2s ease;
}

.cat-folder[b-81pf0fqp1s]  .rz-icon {
    font-size: 22px;
    color: inherit;
}

/* Hover dòng → icon chuyển màu thương hiệu */
.cat-row:hover .cat-folder[b-81pf0fqp1s],
.cat-row:hover .cat-toggle[b-81pf0fqp1s] {
    color: var(--primary);
}

.cat-info[b-81pf0fqp1s] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

.cat-name[b-81pf0fqp1s] {
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cat-slug[b-81pf0fqp1s] {
    font-size: 13px;
    color: var(--slug);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ----- Bên phải: badge + more ----- */
.cat-row__trail[b-81pf0fqp1s] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

/* ----- Cây con: thụt lề 24px + đường nối nhẹ ----- */
.cat-node__children[b-81pf0fqp1s] {
    position: relative;
    padding-left: 24px;
}

.cat-node__children[b-81pf0fqp1s]::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 0;
    bottom: 0;
    width: 1.5px;
    background: var(--tree-line);
}

.status-badge--on[b-81pf0fqp1s] {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.status-badge--off[b-81pf0fqp1s] {
    background: var(--background);
    color: var(--text-secondary);
}

/* ===================== Nút More (ba chấm) ===================== */
.more-btn[b-81pf0fqp1s] {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 999px;
    color: var(--icon);
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

/* ===================== Empty state ===================== */
.cat-empty[b-81pf0fqp1s] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    padding: 56px 24px;
}

.cat-empty__icon[b-81pf0fqp1s] {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-light);
    color: var(--primary);
    margin-bottom: 8px;
}

.cat-empty__icon[b-81pf0fqp1s]  .rz-icon {
    font-size: 32px;
    color: inherit;
}

.cat-empty__title[b-81pf0fqp1s] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-body);
}

.cat-empty__hint[b-81pf0fqp1s] {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--text-secondary);
    max-width: 360px;
}

.row-menu[b-81pf0fqp1s] {
    --menu-icon: var(--adm-menu-icon, var(--text-secondary));
    --menu-danger: var(--adm-menu-danger, var(--danger));
    --menu-danger-hover: var(--adm-menu-danger-hover, var(--danger));

    position: fixed;
    /* Kẹp vị trí để menu KHÔNG bao giờ tràn ra ngoài màn hình:
       - ngang: không vượt mép phải
       - dọc: nếu gần đáy thì tự đẩy LÊN (mở ngược lên trên) thay vì bị che */
    left: min(var(--menu-x), calc(100vw - 256px));
    top: min(calc(var(--menu-y) + 6px), calc(100vh - 240px));
    z-index: 9001;

    min-width: 240px;
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    padding: 8px;

    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-menu, 0 10px 30px rgba(0, 0, 0, .08));

    transform-origin: top right;
    animation: rowMenuIn .18s ease;
}

.row-menu__item:hover[b-81pf0fqp1s] {
    background: var(--adm-hover-bg, var(--background));
    color: var(--primary);
}

.row-menu__item--danger:hover[b-81pf0fqp1s] {
    background: color-mix(in srgb, var(--danger) 14%, transparent);
    color: var(--menu-danger-hover);
}

/* ===================== Modal (thêm/sửa + xác nhận xóa) ===================== */
.modal-overlay[b-81pf0fqp1s] {
    position: fixed;
    inset: 0;
    /* Trên admin chrome; dưới Radzen popup (AdminLayout ép z-index:9700) */
    z-index: 9100;
    background: var(--adm-overlay, rgba(15, 23, 42, .45));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: overlayIn .18s ease;
}

.modal[b-81pf0fqp1s] {
    width: 520px;
    max-width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    background: var(--surface);
    border-radius: 16px;
    box-shadow: var(--shadow-modal);
    animation: modalIn-b-81pf0fqp1s .18s ease;
}

.modal__head[b-81pf0fqp1s] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--divider);
}

.modal__title[b-81pf0fqp1s] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
}

.modal__body[b-81pf0fqp1s] {
    padding: 20px;
}

/* Radzen input trong modal chiếm đủ chiều rộng */
.modal__body[b-81pf0fqp1s]  .rz-form-field,
.modal__body[b-81pf0fqp1s]  .rz-textbox,
.modal__body[b-81pf0fqp1s]  .rz-dropdown {
    width: 100%;
}

.modal__hint[b-81pf0fqp1s] {
    font-size: .85rem;
    color: var(--text-body);
    padding: 8px 12px;
    background: var(--background);
    border: 1px solid var(--divider);
    border-radius: 8px;
}

.modal__error[b-81pf0fqp1s] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: var(--danger);
    padding: 8px 12px;
    border-radius: 8px;
    font-size: .85rem;
}

.modal__error[b-81pf0fqp1s]  .rz-icon {
    font-size: 18px;
}

.modal__foot[b-81pf0fqp1s] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 14px 20px;
    border-top: 1px solid var(--divider);
}

.modal__foot--center[b-81pf0fqp1s] {
    justify-content: center;
    border-top: none;
    padding: 4px 24px 24px;
}

/* Confirm xóa */
.modal__confirm[b-81pf0fqp1s] {
    padding: 24px 24px 8px;
    text-align: center;
}

.modal__confirm-icon[b-81pf0fqp1s] {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FEF2F2;
    color: var(--danger);
    margin-bottom: 12px;
}

.modal__confirm-text[b-81pf0fqp1s] {
    margin: 0;
    color: var(--text-secondary);
    font-size: .9rem;
    line-height: 1.55;
}

.modal__confirm-warn[b-81pf0fqp1s] {
    color: var(--danger);
}

@keyframes modalIn-b-81pf0fqp1s {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to   { opacity: 1; transform: none; }
}

/* ===================== Responsive ===================== */
/* Tablet — thu gọn khoảng cách */
@media (max-width: 1024px) {
    .cat-row[b-81pf0fqp1s] {
        padding: 12px 14px;
    }

    .cat-node__children[b-81pf0fqp1s] {
        padding-left: 20px;
    }

    .cat-node__children[b-81pf0fqp1s]::before {
        left: 25px;
    }
}

/* Mobile — header xếp dọc, menu thành bottom sheet, tree vẫn hoạt động */
@media (max-width: 767px) {
    .page-head[b-81pf0fqp1s] {
        align-items: flex-start;
    }

    .cat-page[b-81pf0fqp1s]  .btn-add {
        width: 100%;
    }

    .cat-row[b-81pf0fqp1s] {
        min-height: 60px;
        padding: 10px 14px;
    }

    .cat-slug[b-81pf0fqp1s] {
        max-width: 46vw;
    }

    .row-menu-backdrop[b-81pf0fqp1s] {
        background: var(--adm-overlay-light);
    }

    .row-menu[b-81pf0fqp1s] {
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        width: 100%;
        min-width: 0;
        max-height: 72vh;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px));
        border-radius: 16px 16px 0 0;
        transform-origin: bottom center;
        animation: rowSheetIn .2s ease;
    }

    .row-menu__item[b-81pf0fqp1s] {
        min-height: 48px;
    }
}
/* _content/Estart/Components/Pages/Admin/Econnect/EconnectReportAdmin.razor.rz.scp.css */
.econnect-report[b-f4mhyen97g] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1320px;
}

.econnect-report__loading[b-f4mhyen97g] {
    padding: 2rem;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    color: var(--text-secondary);
}

.econnect-report__period[b-f4mhyen97g] {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-body);
    font-size: .875rem;
}

.econnect-report__period[b-f4mhyen97g]  .rz-icon {
    color: var(--text-secondary);
    font-size: 18px;
}

.econnect-report__section[b-f4mhyen97g] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}

.kpi-grid[b-f4mhyen97g] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 860px) {
    .kpi-grid[b-f4mhyen97g] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
    .kpi-grid[b-f4mhyen97g] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.econnect-report__section--split[b-f4mhyen97g] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .econnect-report__section--split[b-f4mhyen97g] {
        grid-template-columns: repeat(2, minmax(320px, 1fr));
    }
}

.chart-card[b-f4mhyen97g] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .875rem 1rem 1rem;
}

.chart-card__head[b-f4mhyen97g] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
}

.chart-card__head h3[b-f4mhyen97g] {
    margin: 0;
    color: var(--text);
    font-size: .94rem;
    font-weight: 700;
}

.chart-card__head[b-f4mhyen97g]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

.chart[b-f4mhyen97g] {
    min-height: 260px;
}

.chart-empty[b-f4mhyen97g] {
    margin: .5rem 0 0;
    color: var(--text-secondary);
    font-size: .875rem;
}

.chart-legend-list[b-f4mhyen97g] {
    margin-top: .75rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    max-height: 220px;
    overflow: auto;
    padding-right: .25rem;
}

.chart-legend-list__item[b-f4mhyen97g] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    padding: .4rem .5rem;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);
}

.chart-legend-list__key[b-f4mhyen97g] {
    font-size: .75rem;
    font-weight: 700;
    color: var(--primary);
}

.chart-legend-list__title[b-f4mhyen97g] {
    font-size: .82rem;
    color: var(--text);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chart-legend-list__meta[b-f4mhyen97g] {
    font-size: .75rem;
    color: var(--text-secondary);
    white-space: nowrap;
}
/* _content/Estart/Components/Pages/Admin/Econnect/EventEditAdmin.razor.rz.scp.css */
.locale-hint[b-gqaasqq3rv] {
    margin: 0;
    padding: 8px 12px;
    font-size: .82em;
    color: var(--text-secondary);
    background: var(--primary-light);
    border: 1px solid var(--primary-border);
    border-radius: 6px;
    line-height: 1.5;
}

.locale-hint code[b-gqaasqq3rv] {
    font-size: .75rem;
    padding: 1px 4px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--text-body);
}

.field-error-box[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--danger) 12%, var(--surface));
    border: 1px solid color-mix(in srgb, var(--danger) 35%, transparent);
    color: var(--danger);
    padding: 8px 12px;
    border-radius: 6px;
    font-size: .85em;
    margin-bottom: 8px;
}

.muted-hint[b-gqaasqq3rv] {
    font-size: .78em;
    color: var(--text-secondary);
    margin-top: 8px;
}

.muted-hint--flush[b-gqaasqq3rv] {
    margin-top: 0;
}

.edit-empty[b-gqaasqq3rv] {
    margin: 0;
    color: var(--text-secondary);
    font-size: .88em;
}

.kw-list[b-gqaasqq3rv] {
    max-height: 180px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kw-item[b-gqaasqq3rv] {
    font-size: .88em;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: var(--text-body);
}

.banner-preview[b-gqaasqq3rv] {
    width: 100%;
    border-radius: 6px;
    margin-bottom: 8px;
    max-height: 180px;
    object-fit: cover;
    border: 1px solid var(--border);
}

.thumb-empty[b-gqaasqq3rv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 120px;
    margin-bottom: 10px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--background);
    color: var(--text-secondary);
    font-size: 12px;
}

.thumb-empty[b-gqaasqq3rv]  .rz-icon {
    font-size: 28px;
    color: var(--disabled);
}

.publish-status[b-gqaasqq3rv] {
    font-size: .8em;
    margin-bottom: 10px;
    color: var(--text-secondary);
}

.status-badge[b-gqaasqq3rv] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 12px;
    font-weight: 600;
    font-size: inherit;
    line-height: 1.35;
    white-space: nowrap;
}

.status-badge--approved[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.status-badge--rejected[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--danger) 14%, transparent);
    color: var(--danger);
}

.status-badge--cancelled[b-gqaasqq3rv] {
    background: var(--background);
    color: var(--text-secondary);
}

.status-badge--registered[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.status-badge--waitlisted[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--warning) 16%, transparent);
    color: var(--warning);
}

.status-badge--attended[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--info) 16%, transparent);
    color: var(--info);
}

.speaker-form[b-gqaasqq3rv] {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
    background: var(--background);
}

.speaker-avatar[b-gqaasqq3rv] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.speaker-avatar--empty[b-gqaasqq3rv] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--background);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
}

.speaker-avatar--empty[b-gqaasqq3rv]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

.checkin-ok[b-gqaasqq3rv] {
    color: var(--success);
    font-size: .83em;
}

/* Nested DataGrid (Diễn giả / Người đăng ký) — chuẩn UI Design System Mục 12 */
.edit-card__head[b-gqaasqq3rv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    color: var(--text);
}

.nested-grid[b-gqaasqq3rv] {
    --grid-row-border: var(--adm-grid-row-border);
    --grid-icon: var(--adm-grid-icon);
}

.nested-grid[b-gqaasqq3rv]  .rz-grid-table thead th,
.nested-grid[b-gqaasqq3rv]  .rz-datatable-thead > tr > th {
    height: 48px;
    padding: 0 16px;
    background: var(--background);
    border: none;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-body);
    white-space: nowrap;
}

.nested-grid[b-gqaasqq3rv]  .rz-grid-table tbody td,
.nested-grid[b-gqaasqq3rv]  .rz-datatable-data > tr > td {
    height: 56px;
    padding: 10px 16px;
    border: none;
    border-bottom: 1px solid var(--grid-row-border);
    font-size: 14px;
    color: var(--text);
    vertical-align: middle;
}

.nested-grid[b-gqaasqq3rv]  .rz-datatable-data > tr:hover > td,
.nested-grid[b-gqaasqq3rv]  .rz-grid-table tbody tr:hover td {
    background: var(--background);
}

.nested-grid[b-gqaasqq3rv]  .rz-paginator {
    background: var(--surface);
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.grid-empty[b-gqaasqq3rv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 40px 24px;
    text-align: center;
}

.grid-empty[b-gqaasqq3rv]  .rz-icon {
    font-size: 48px;
    color: var(--disabled);
}

.grid-empty__title[b-gqaasqq3rv] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

.grid-empty__hint[b-gqaasqq3rv] {
    font-size: 13px;
    color: var(--text-secondary);
}

.cell-link[b-gqaasqq3rv] {
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cell-link:hover[b-gqaasqq3rv] {
    color: var(--primary);
}

.cell-link-static[b-gqaasqq3rv] {
    font-weight: 600;
    color: var(--text);
}

.cell-date[b-gqaasqq3rv] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-gqaasqq3rv] {
    font-weight: 600;
    color: var(--text);
    font-size: 13px;
}

.cell-date__time[b-gqaasqq3rv] {
    font-size: 12px;
    color: var(--text-secondary);
}

.more-btn[b-gqaasqq3rv] {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 999px;
    color: var(--adm-grid-icon, #64748B);
    cursor: pointer;
}

.more-btn:hover[b-gqaasqq3rv],
.more-btn--active[b-gqaasqq3rv] {
    background: var(--adm-hover-bg, var(--background));
}

.more-btn[b-gqaasqq3rv]  .rz-icon {
    font-size: 20px;
}

.row-menu[b-gqaasqq3rv] {
    --menu-danger: var(--adm-menu-danger);
    --menu-danger-hover: var(--adm-menu-danger-hover);
    position: fixed;
    z-index: 9001;
    left: var(--menu-x);
    top: var(--menu-y);
    min-width: 240px;
    padding: 8px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-menu);
}

.row-menu__group[b-gqaasqq3rv] { display: flex; flex-direction: column; gap: 2px; }

.row-menu__label[b-gqaasqq3rv] {
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
}

.row-menu__divider[b-gqaasqq3rv] {
    height: 1px;
    background: var(--divider, #E2E8F0);
    margin: 6px 0;
}

.row-menu__item[b-gqaasqq3rv] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    width: 100%;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 14px;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}

.row-menu__item[b-gqaasqq3rv]  .rz-icon {
    font-size: 18px;
    color: var(--adm-menu-icon, #64748B);
}

.row-menu__item--danger:hover[b-gqaasqq3rv] {
    background: color-mix(in srgb, var(--danger) 12%, transparent);
    color: var(--menu-danger-hover);
}

.modal-overlay[b-gqaasqq3rv] {
    position: fixed;
    inset: 0;
    z-index: 9100;
    background: var(--adm-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.modal[b-gqaasqq3rv] {
    background: var(--surface);
    border-radius: 16px;
    width: 420px;
    max-width: 96vw;
    box-shadow: var(--shadow-modal);
    overflow: hidden;
}

.modal__confirm-icon[b-gqaasqq3rv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--danger) 14%, var(--surface));
    color: var(--danger);
}

.modal__confirm-warn[b-gqaasqq3rv] { color: var(--danger); }

.modal__foot[b-gqaasqq3rv] {
    padding: 0 24px 20px;
    display: flex;
    gap: 8px;
    justify-content: center;
}

@media (max-width: 960px) {
    .edit-layout[b-gqaasqq3rv] {
        grid-template-columns: 1fr;
    }

    .edit-side[b-gqaasqq3rv] {
        position: static;
    }

    .nested-grid[b-gqaasqq3rv] {
        overflow-x: auto;
    }

    .nested-grid[b-gqaasqq3rv]  .rz-data-grid,
    .nested-grid[b-gqaasqq3rv]  .rz-datatable {
        min-width: 640px;
    }
}
/* _content/Estart/Components/Pages/Admin/Econnect/EventsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-ngg80qxcvc] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-ngg80qxcvc]  .filter-control--status,
    .filter-bar[b-ngg80qxcvc]  .filter-control--search,
    .filter-bar[b-ngg80qxcvc]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.event-title[b-ngg80qxcvc] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.event-title:hover[b-ngg80qxcvc] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-ngg80qxcvc] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-ngg80qxcvc] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.events-grid[b-ngg80qxcvc]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Banner thumbnail ===================== */
.event-banner[b-ngg80qxcvc] {
    width: 90px;
    height: 50px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background-color: var(--background);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.event-banner--empty[b-ngg80qxcvc] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--disabled, #9CA3AF);
}

.event-banner--empty[b-ngg80qxcvc]  .rz-icon,
.event-banner--empty .rz-icon[b-ngg80qxcvc] {
    font-size: 20px;
    color: inherit;
}

/* ===================== Meta dưới tiêu đề ===================== */
.event-meta[b-ngg80qxcvc] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.cell-organizer[b-ngg80qxcvc] {
    font-size: 13px;
    color: var(--text-body);
}

.cell-date[b-ngg80qxcvc] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__time[b-ngg80qxcvc] {
    font-size: 12px;
    color: var(--text-secondary);
}
/* _content/Estart/Components/Pages/Admin/Econnect/EventSpeakerEditAdmin.razor.rz.scp.css */
.speaker-edit-head[b-54mb7fph6j] {
    margin-bottom: 1rem;
}

.speaker-edit-card[b-54mb7fph6j] {
    max-width: 820px;
    padding: 20px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
}
/* _content/Estart/Components/Pages/Admin/Econnect/ForumCategoriesAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-qx52xih8k5] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-qx52xih8k5]  .filter-control--status,
    .filter-bar[b-qx52xih8k5]  .filter-control--search,
    .filter-bar[b-qx52xih8k5]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.cat-title[b-qx52xih8k5] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.cat-title:hover[b-qx52xih8k5] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-qx52xih8k5] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-qx52xih8k5] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.forum-cats-grid[b-qx52xih8k5]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Category extras ===================== */
.cat-en[b-qx52xih8k5] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}

.category-chip[b-qx52xih8k5] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--chip-text);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 8px;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.category-chip[b-qx52xih8k5]  .rz-icon {
    font-size: 14px;
    color: var(--primary);
}

.category-chip--local[b-qx52xih8k5] {
    background: var(--primary-light, #E8F8F7);
    border-color: var(--primary-border, #BFE9E6);
    color: var(--primary);
}
/* _content/Estart/Components/Pages/Admin/Econnect/ForumModerationAdmin.razor.rz.scp.css */
/* ===================== Cột tiêu đề ===================== */
.report-link[b-g5vx9o94xb] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.report-link:hover[b-g5vx9o94xb] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-g5vx9o94xb] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-g5vx9o94xb] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.reports-grid[b-g5vx9o94xb]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.pending-pill[b-g5vx9o94xb] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: #FFFBEB;
    color: #B45309;
}

.report-link[b-g5vx9o94xb] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: var(--text);
    transition: color .2s ease;
}

.report-link:hover[b-g5vx9o94xb] {
    color: var(--primary);
}

.report-id[b-g5vx9o94xb] {
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
}

.author-cell[b-g5vx9o94xb] {
    font-size: 13px;
    color: var(--text-body);
}

.cell-date[b-g5vx9o94xb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-g5vx9o94xb] {
    font-weight: 500;
    color: var(--text);
}

.cell-date__time[b-g5vx9o94xb] {
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date--empty[b-g5vx9o94xb] {
    color: var(--text-secondary);
    font-size: 13px;
}

.modal--detail[b-g5vx9o94xb] {
    width: 560px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modal--detail .modal__body[b-g5vx9o94xb] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 20px;
}

.detail-list[b-g5vx9o94xb] {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.detail-row[b-g5vx9o94xb] {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 8px;
    align-items: start;
}

.detail-row dt[b-g5vx9o94xb] {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
}

.detail-row dd[b-g5vx9o94xb] {
    margin: 0;
    font-size: 14px;
    color: var(--text);
    word-break: break-word;
}

.content-preview[b-g5vx9o94xb] {
    margin-top: 14px;
    padding: 12px 14px;
    border-left: 3px solid var(--primary);
    background: var(--background);
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    color: var(--text-body);
    line-height: 1.5;
}

.public-link[b-g5vx9o94xb] {
    margin: 12px 0 0;
}

.public-link a[b-g5vx9o94xb] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
}

.public-link a:hover[b-g5vx9o94xb] {
    text-decoration: underline;
}

.public-link[b-g5vx9o94xb]  .rz-icon {
    font-size: 16px;
}

.modal__foot--wrap[b-g5vx9o94xb] {
    flex-wrap: wrap;
    padding: 14px 20px;
    border-top: 1px solid var(--divider, #E2E8F0);
    justify-content: flex-start;
}
/* _content/Estart/Components/Pages/Admin/Econnect/ForumPostsAdmin.razor.rz.scp.css */
/* ===================== Cột tiêu đề ===================== */
.post-title[b-lt5p5fq4xl] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.post-title:hover[b-lt5p5fq4xl] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-lt5p5fq4xl] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-lt5p5fq4xl] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.forum-posts-grid[b-lt5p5fq4xl]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Post extras ===================== */
.post-title[b-lt5p5fq4xl] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.post-title:hover[b-lt5p5fq4xl] {
    color: var(--primary);
}

.post-title[b-lt5p5fq4xl]  .pin-icon,
.post-title[b-lt5p5fq4xl]  .rz-icon {
    font-size: 16px;
    color: var(--primary);
    vertical-align: -3px;
    margin-right: 4px;
}

.author-cell[b-lt5p5fq4xl] {
    font-size: 13px;
    color: var(--text-body);
}

.cell-date[b-lt5p5fq4xl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-lt5p5fq4xl] {
    font-weight: 500;
    color: var(--text);
}

.cell-date__time[b-lt5p5fq4xl] {
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date--empty[b-lt5p5fq4xl] {
    color: var(--text-secondary);
    font-size: 13px;
}

.row-busy[b-lt5p5fq4xl] {
    color: var(--text-secondary);
    font-size: 13px;
    padding-right: 8px;
}

.status-badge--locked[b-lt5p5fq4xl] {
    background: #FEF9C3;
    color: #854D0E;
}
/* _content/Estart/Components/Pages/Admin/Econnect/MentorEditAdmin.razor.rz.scp.css */
.cell-link[b-3gcbxmrsyt] {
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease;
}

.cell-link:hover[b-3gcbxmrsyt] {
    color: var(--primary-hover);
    text-decoration: underline;
}
/* _content/Estart/Components/Pages/Admin/Econnect/MentorsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-lhzzs8tyoh] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-lhzzs8tyoh]  .filter-control--status,
    .filter-bar[b-lhzzs8tyoh]  .filter-control--search,
    .filter-bar[b-lhzzs8tyoh]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-lhzzs8tyoh] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-lhzzs8tyoh] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-lhzzs8tyoh] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-lhzzs8tyoh] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.mentors-grid[b-lhzzs8tyoh]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Member / rating ===================== */
.member-name[b-lhzzs8tyoh] {
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    transition: color .2s ease;
}

.member-name:hover[b-lhzzs8tyoh] {
    color: var(--primary);
}

.rating-cell[b-lhzzs8tyoh] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    color: var(--text);
}

.rating-cell[b-lhzzs8tyoh]  .rz-icon {
    font-size: 16px;
    color: #F59E0B;
}

.rating-cell__count[b-lhzzs8tyoh] {
    font-weight: 500;
    font-size: 13px;
    color: var(--text-secondary);
}

.cell-date__day[b-lhzzs8tyoh] {
    font-weight: 500;
    color: var(--text);
}
/* _content/Estart/Components/Pages/Admin/Econnect/StudyGroupDetailAdmin.razor.rz.scp.css */
/* =====================================================================
   Study Group Detail Admin — bố cục "detail page" giống hệt MemberDetailAdmin
   (hero + stats-strip + tabs trong .detail-tabs + sidebar quản trị). Dùng
   div .detail-tabs tự vẽ khung (KHÔNG dùng RadzenCard — RadzenCard có padding
   riêng khiến viền dưới thanh tab bị thụt vào, không kéo dài hết chiều ngang
   card như MemberDetailAdmin, gây lệch giao diện giữa 2 trang).
   ===================================================================== */

/* ---------- Empty state ---------- */
.detail-empty[b-csnv2ya4sv] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 64px 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    text-align: center;
}

.detail-empty__title[b-csnv2ya4sv] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ---------- Hero ---------- */
.profile-hero[b-csnv2ya4sv] {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
    flex-wrap: wrap;
}

.profile-hero__avatar[b-csnv2ya4sv] {
    width: 72px;
    height: 72px;
    flex: 0 0 auto;
    border-radius: 16px;
    overflow: hidden;
    background: var(--background);
    border: 2px solid var(--divider, #E2E8F0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-hero__avatar img[b-csnv2ya4sv] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-avatar--fallback[b-csnv2ya4sv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 28px;
    color: var(--primary);
    background: var(--primary-light, #E8F8F7);
}

.profile-hero__main[b-csnv2ya4sv] {
    flex: 1 1 380px;
    min-width: 0;
}

.profile-hero__title-row[b-csnv2ya4sv] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-hero__name[b-csnv2ya4sv] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.profile-hero__bio[b-csnv2ya4sv] {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-body);
    max-width: 720px;
}

.profile-hero__sub[b-csnv2ya4sv] {
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-secondary);
}

.profile-hero__sub code[b-csnv2ya4sv] {
    font-size: 11px;
    padding: 1px 4px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.profile-hero__actions[b-csnv2ya4sv] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 0 0 auto;
}

.profile-hero__actions .rz-button[b-csnv2ya4sv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}

/* ---------- Stats strip ---------- */
.stats-strip[b-csnv2ya4sv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.stat-card[b-csnv2ya4sv] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: none;
}

.stat-card__icon[b-csnv2ya4sv] {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.stat-card__icon--blue[b-csnv2ya4sv] { background: #EFF6FF; color: #1D4ED8; }
.stat-card__icon--green[b-csnv2ya4sv] { background: #ECFDF5; color: #047857; }
.stat-card__icon--purple[b-csnv2ya4sv] { background: #F5F3FF; color: #6D28D9; }
.stat-card__icon--amber[b-csnv2ya4sv] { background: #FFFBEB; color: #B45309; }

.stat-card__text[b-csnv2ya4sv] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.stat-card__text strong[b-csnv2ya4sv] {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.stat-card__text small[b-csnv2ya4sv] {
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- Layout: main + side ---------- */
.detail-layout[b-csnv2ya4sv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: start;
}

.detail-main[b-csnv2ya4sv] {
    min-width: 0;
}

.detail-side[b-csnv2ya4sv] {
    position: sticky;
    top: 16px;
    min-width: 0;
}

/* 1 CARD DUY NHẤT bọc cả dải tab lẫn nội dung — y hệt pattern đã dùng ở MemberDetailAdmin.razor.css.
   KHÔNG dùng RadzenCard làm khung (padding riêng của RadzenCard làm viền dưới thanh tab bị thụt vào,
   không kéo dài hết chiều ngang card như MemberDetailAdmin — đây chính là chỗ lệch đã bị phát hiện).
   Đặt padding:0 ở đây, để chính .rz-tabview-nav/.tab-panel tự set padding riêng — khớp Member 100%. */
.detail-tabs[b-csnv2ya4sv] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
    overflow: hidden;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview {
    background: transparent;
    border: none;
    box-shadow: none;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 10px 16px 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--divider, #E2E8F0);
}

/* [SỬA 2026-08-24] ".rz-tabview-nav-link"/".rz-link" không tồn tại thật trong Radzen.Blazor 10.4.7 —
   markup thật: <li> chứa thẳng <a>/<button>, không có class riêng — reset nền/viền trên <li>,
   padding/font trên <li> a / <li> button (xem giải thích đầy đủ ở shared.css). */
.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li {
    margin: 0 0 -1px;
    float: none;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--text-secondary) !important;
    transition: color .15s ease, border-color .15s ease;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li a,
.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li button {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 14px;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none !important;
    transition: color .15s ease, border-color .15s ease;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li:hover {
    color: var(--text-body) !important;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li.rz-tabview-selected {
    color: var(--primary) !important;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li.rz-tabview-selected a,
.detail-tabs[b-csnv2ya4sv]  .rz-tabview-nav li.rz-tabview-selected button {
    border-bottom-color: var(--primary) !important;
}

.detail-tabs[b-csnv2ya4sv]  .rz-tabview-panels,
.detail-tabs[b-csnv2ya4sv]  .rz-tabview-panel {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* ---------- Tab content ---------- */
.tab-panel[b-csnv2ya4sv] {
    padding: 16px;
}

.tab-empty[b-csnv2ya4sv] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 28px 16px;
    color: var(--text-secondary);
    font-size: 13px;
    background: var(--background);
    border: 1px dashed var(--border);
    border-radius: 12px;
}

.tab-empty[b-csnv2ya4sv]  .rz-icon {
    font-size: 22px;
    color: var(--disabled);
}

.cell-link[b-csnv2ya4sv] {
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease;
}

.cell-link:hover[b-csnv2ya4sv] {
    color: var(--primary-hover);
    text-decoration: underline;
}

.group-slug[b-csnv2ya4sv] {
    margin-top: 2px;
    font-size: 12px;
    color: var(--text-secondary);
}

.doc-title[b-csnv2ya4sv] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.4;
}

/* ---------- Info grid (Tổng quan) ---------- */
.info-grid[b-csnv2ya4sv] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0;
}

.info-item[b-csnv2ya4sv] {
    padding: 12px 16px;
    border-bottom: 1px solid #F1F5F9;
    border-right: 1px solid #F1F5F9;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.info-item:nth-child(even)[b-csnv2ya4sv] { border-right: none; }
.info-item:last-child[b-csnv2ya4sv] { border-bottom: none; }

.info-item__label[b-csnv2ya4sv] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
}

.info-item__value[b-csnv2ya4sv] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
    word-break: break-word;
}

/* ---------- Admin card (side) ---------- */
.admin-card[b-csnv2ya4sv] {
    padding: 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
}

.admin-card__head[b-csnv2ya4sv] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    font-size: 14px;
    color: var(--text);
}

.admin-card__head[b-csnv2ya4sv]  .rz-icon {
    font-size: 20px;
    color: var(--primary);
}

.admin-card__hint[b-csnv2ya4sv] {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.5;
}

.field-label[b-csnv2ya4sv] {
    font-size: .875rem;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--text);
}

@media (max-width: 1024px) {
    .detail-layout[b-csnv2ya4sv] {
        grid-template-columns: 1fr;
    }

    .detail-side[b-csnv2ya4sv] {
        position: static;
    }
}
/* _content/Estart/Components/Pages/Admin/Econnect/StudyGroupsAdmin.razor.rz.scp.css */
/* ===================== Cột tiêu đề ===================== */
.group-title[b-umukv00ukm] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.group-title:hover[b-umukv00ukm] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-umukv00ukm] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-umukv00ukm] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.study-groups-grid[b-umukv00ukm]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.group-title[b-umukv00ukm] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.group-title:hover[b-umukv00ukm] {
    color: var(--primary);
}

.group-slug[b-umukv00ukm] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.cell-date[b-umukv00ukm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-umukv00ukm] {
    font-weight: 500;
    color: var(--text);
}

.cell-date__time[b-umukv00ukm] {
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date--empty[b-umukv00ukm] {
    color: var(--text-secondary);
    font-size: 13px;
}

/* Anchor items in row menu look like buttons */
a.row-menu__item[b-umukv00ukm] {
    text-decoration: none;
    box-sizing: border-box;
}
/* _content/Estart/Components/Pages/Admin/Ehub/BookingCalendarAdmin.razor.rz.scp.css */
/* =====================================================================
   BookingCalendarAdmin — timeline lịch đặt phòng
   Dùng design token từ .adm-root (AdminLayout) → tự theo light/dark.
   ===================================================================== */

.cal[b-zn2idgru8a] {
    color: var(--text-body);
}

.cal-week-label[b-zn2idgru8a] {
    min-width: 170px;
    text-align: center;
    color: var(--text);
}

/* ----- Day tabs ----- */
.cal-day-tabs[b-zn2idgru8a] {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.cal-day-tab[b-zn2idgru8a] {
    padding: 6px 14px;
    border-radius: 6px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-body);
    cursor: pointer;
    font-size: 0.85em;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.cal-day-tab:hover[b-zn2idgru8a] {
    background: var(--adm-hover-bg);
    border-color: var(--adm-ctl-border-hover);
}

.cal-day-tab--today[b-zn2idgru8a] {
    background: var(--primary-light);
    border-color: var(--primary-border);
    color: var(--text);
}

.cal-day-tab--today .cal-day-tab__label[b-zn2idgru8a] {
    font-weight: 700;
}

.cal-day-tab--selected[b-zn2idgru8a] {
    background: var(--info);
    border-color: var(--info);
    color: #fff;
}

.cal-day-tab--selected:hover[b-zn2idgru8a] {
    background: var(--info);
    border-color: var(--info);
    color: #fff;
}

.cal-day-tab__dot[b-zn2idgru8a] {
    font-size: 0.7em;
    text-align: center;
    color: var(--warning);
}

.cal-day-tab--selected .cal-day-tab__dot[b-zn2idgru8a] {
    color: rgba(255, 255, 255, 0.85);
}

/* ----- Legend ----- */
.cal-legend[b-zn2idgru8a] {
    display: flex;
    gap: 16px;
    font-size: 0.82em;
    align-items: center;
    flex-wrap: wrap;
    color: var(--text-body);
}

.cal-legend__swatch[b-zn2idgru8a] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    margin-right: 4px;
    vertical-align: middle;
}

.cal-legend__swatch--pending[b-zn2idgru8a] { background: #f59e0b; }

.cal-legend__swatch--approved[b-zn2idgru8a] { background: #2563eb; }

.cal-legend__swatch--rejected[b-zn2idgru8a] { background: #94a3b8; }

.cal-legend__hint[b-zn2idgru8a] {
    color: var(--text-secondary);
}

/* ----- Timeline ----- */
.cal-timeline[b-zn2idgru8a] {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface);
}

.cal-hours[b-zn2idgru8a] {
    display: flex;
    border-bottom: 2px solid var(--border);
}

.cal-hour[b-zn2idgru8a] {
    padding: 3px 4px;
    font-size: 0.75em;
    color: var(--text-secondary);
    background: var(--background);
    text-align: center;
    border-left: 1px solid var(--border);
    box-sizing: border-box;
}

.cal-space-row[b-zn2idgru8a] {
    display: flex;
    border-bottom: 1px solid var(--border);
    min-height: 56px;
    align-items: stretch;
}

.cal-space-row:last-child[b-zn2idgru8a] {
    border-bottom: none;
}

.cal-space-label[b-zn2idgru8a] {
    padding: 8px 12px;
    border-right: 3px solid var(--info);
    background: var(--background);
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

.cal-space-label__name[b-zn2idgru8a] {
    font-weight: 600;
    font-size: 0.9em;
    color: var(--text);
}

.cal-space-label__meta[b-zn2idgru8a] {
    font-size: 0.75em;
    color: var(--text-secondary);
}

.cal-space-track[b-zn2idgru8a] {
    position: relative;
    min-height: 56px;
}

.cal-hour-slot[b-zn2idgru8a] {
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 1px solid var(--border);
    box-sizing: border-box;
}

.cal-hour-slot--now[b-zn2idgru8a] {
    border-left-color: var(--info);
    background: color-mix(in srgb, var(--info) 8%, transparent);
}

.cal-block[b-zn2idgru8a] {
    position: absolute;
    top: 6px;
    height: 44px;
    border-radius: 5px;
    padding: 3px 6px;
    cursor: pointer;
    overflow: hidden;
    font-size: 0.78em;
    line-height: 1.3;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: opacity 0.15s;
    box-sizing: border-box;
}

.cal-block:hover[b-zn2idgru8a] {
    opacity: 0.92;
}

.cal-block--selected[b-zn2idgru8a] {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

.cal-block__time[b-zn2idgru8a] {
    font-weight: 700;
}

.cal-block__purpose[b-zn2idgru8a] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.9;
}

.cal-track-empty[b-zn2idgru8a] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    padding: 0 12px;
    pointer-events: none;
}

.cal-track-empty span[b-zn2idgru8a] {
    color: var(--disabled);
    font-size: 0.8em;
}

.cal-empty[b-zn2idgru8a] {
    padding: 32px;
    text-align: center;
    color: var(--text-secondary);
}

.modal--form[b-zn2idgru8a] {
    width: 560px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modal__title[b-zn2idgru8a] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
}

.modal__foot[b-zn2idgru8a] {
    flex: 0 0 auto;
    padding: 14px 20px;
    border-top: 1px solid var(--divider, #E2E8F0);
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.cal-detail-modal[b-zn2idgru8a] {
    color: var(--text-body);
}

.cal-detail__grid[b-zn2idgru8a] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 24px;
    margin-bottom: 12px;
    font-size: 0.9em;
}

.cal-detail__row[b-zn2idgru8a] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-body);
}

.cal-detail__row[b-zn2idgru8a]  .rzi,
.cal-detail__row[b-zn2idgru8a]  .rz-icon {
    color: var(--text-secondary);
}

.cal-detail__reject[b-zn2idgru8a] {
    background: color-mix(in srgb, var(--danger) 12%, var(--surface));
    color: var(--text-body);
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 0.88em;
    margin-bottom: 12px;
    border: 1px solid color-mix(in srgb, var(--danger) 28%, transparent);
}

@media (max-width: 720px) {
    .cal-detail__grid[b-zn2idgru8a] {
        grid-template-columns: 1fr;
    }
}
/* _content/Estart/Components/Pages/Admin/Ehub/BookingsAdmin.razor.rz.scp.css */
/* ===================== Cột tiêu đề ===================== */
.report-link[b-ujoqco2btj] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.report-link:hover[b-ujoqco2btj] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-ujoqco2btj] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-ujoqco2btj] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.bookings-grid[b-ujoqco2btj]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.pending-pill[b-ujoqco2btj] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: #FFFBEB;
    color: #B45309;
}

.booking-room[b-ujoqco2btj] {
    font-weight: 600;
    color: var(--text);
}

.cell-date[b-ujoqco2btj] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-ujoqco2btj] {
    font-weight: 500;
    color: var(--text);
}

.cell-date__time[b-ujoqco2btj] {
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date--empty[b-ujoqco2btj] {
    color: var(--text-secondary);
    font-size: 13px;
}

.note-muted[b-ujoqco2btj] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}

.note-danger[b-ujoqco2btj] {
    font-size: 12px;
    color: #B91C1C;
    line-height: 1.4;
}

.rating-cell[b-ujoqco2btj] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    color: var(--text);
}

.rating-cell[b-ujoqco2btj]  .rz-icon {
    font-size: 16px;
    color: #F59E0B;
}

.rating-review[b-ujoqco2btj] {
    display: block;
    margin-top: 2px;
}
/* _content/Estart/Components/Pages/Admin/Ehub/EhubReportAdmin.razor.rz.scp.css */
.ehub-report[b-qe3w0ryab8] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1320px;
}

.ehub-report__loading[b-qe3w0ryab8] {
    padding: 2rem;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    color: var(--text-secondary);
}

.ehub-report__period[b-qe3w0ryab8] {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-body);
    font-size: .875rem;
}

.ehub-report__period[b-qe3w0ryab8]  .rz-icon {
    color: var(--text-secondary);
    font-size: 18px;
}

.ehub-report__section[b-qe3w0ryab8] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}

.kpi-grid[b-qe3w0ryab8] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 860px) {
    .kpi-grid[b-qe3w0ryab8] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
    .kpi-grid[b-qe3w0ryab8] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.ehub-report__section--split[b-qe3w0ryab8] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .ehub-report__section--split[b-qe3w0ryab8] {
        grid-template-columns: repeat(2, minmax(320px, 1fr));
    }
}

.chart-card[b-qe3w0ryab8] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .875rem 1rem 1rem;
}

.chart-card__head[b-qe3w0ryab8] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
}

.chart-card__head h3[b-qe3w0ryab8] {
    margin: 0;
    color: var(--text);
    font-size: .94rem;
    font-weight: 700;
}

.chart-card__head[b-qe3w0ryab8]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

.chart[b-qe3w0ryab8] {
    min-height: 260px;
}

.chart-empty[b-qe3w0ryab8] {
    margin: .5rem 0 0;
    color: var(--text-secondary);
    font-size: .875rem;
}
/* _content/Estart/Components/Pages/Admin/Ehub/HubEventsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-gusp51h6lq] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-gusp51h6lq]  .filter-control--status,
    .filter-bar[b-gusp51h6lq]  .filter-control--search,
    .filter-bar[b-gusp51h6lq]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.event-title[b-gusp51h6lq] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.event-title:hover[b-gusp51h6lq] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-gusp51h6lq] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-gusp51h6lq] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.hub-events-grid[b-gusp51h6lq]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Hub event extras ===================== */
.event-meta[b-gusp51h6lq] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.cell-date[b-gusp51h6lq] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-gusp51h6lq] {
    font-weight: 500;
    color: var(--text);
}

.cell-date__time[b-gusp51h6lq] {
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date--empty[b-gusp51h6lq] {
    color: var(--text-secondary);
    font-size: 13px;
}

.reg-count[b-gusp51h6lq] {
    display: block;
    font-weight: 600;
    color: #047857;
}

.reg-count--full[b-gusp51h6lq] {
    color: #B91C1C;
}

.reg-left[b-gusp51h6lq] {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
}

.econnect-link[b-gusp51h6lq] {
    font-weight: 600;
    font-size: 13px;
    color: var(--primary);
    text-decoration: none;
}

.econnect-link:hover[b-gusp51h6lq] {
    text-decoration: underline;
}
/* _content/Estart/Components/Pages/Admin/Ehub/HubsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-ah5320vvag] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-ah5320vvag]  .filter-control--status,
    .filter-bar[b-ah5320vvag]  .filter-control--search,
    .filter-bar[b-ah5320vvag]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.hub-title[b-ah5320vvag] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.hub-title:hover[b-ah5320vvag] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-ah5320vvag] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-ah5320vvag] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.hubs-grid[b-ah5320vvag]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Hub extras ===================== */
.hub-meta[b-ah5320vvag] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.cell-muted[b-ah5320vvag] {
    font-size: 13px;
    color: var(--text-body);
}

.modal__hint-inline[b-ah5320vvag] {
    display: inline-block;
    margin-top: 6px;
    font-size: .8125rem;
    color: var(--text-secondary);
}
/* _content/Estart/Components/Pages/Admin/Ehub/HubSpacesAdmin.razor.rz.scp.css */
/* ===================== List helpers ===================== */
.space-empty[b-0bg6ax23h9] {
    color: var(--text-secondary);
}

.space-en-name[b-0bg6ax23h9] {
    color: var(--text-secondary);
    font-size: 0.85em;
    margin-left: 6px;
}

.space-yes[b-0bg6ax23h9] {
    color: var(--success);
}

.space-na[b-0bg6ax23h9] {
    color: var(--text-secondary);
}

.field-label[b-0bg6ax23h9] {
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--text-body);
}

.space-preview[b-0bg6ax23h9] {
    width: 100%;
    border-radius: 6px;
    margin-bottom: 8px;
    max-height: 180px;
    object-fit: cover;
}

.modal--form[b-0bg6ax23h9] {
    width: 600px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.modal__head[b-0bg6ax23h9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--divider);
    flex: 0 0 auto;
}

.modal__title[b-0bg6ax23h9] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
}

.modal__confirm-icon[b-0bg6ax23h9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--danger) 12%, transparent);
    color: var(--danger);
}

.modal__confirm-warn[b-0bg6ax23h9] {
    color: var(--danger);
}

.modal--form .modal__foot[b-0bg6ax23h9] {
    flex: 0 0 auto;
    padding: 14px 20px;
    border-top: 1px solid var(--divider);
}
/* _content/Estart/Components/Pages/Admin/Elearning/CourseEditAdmin.razor.rz.scp.css */
/* Layout 2 cột */
.edit-layout[b-f9jj2hw2ji] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: start;
}

.edit-empty a[b-f9jj2hw2ji] {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.edit-empty a:hover[b-f9jj2hw2ji] {
    text-decoration: underline;
}

.field-label[b-f9jj2hw2ji] {
    font-size: .875rem;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--text-body);
}

.edit-panel[b-f9jj2hw2ji]  .rz-stack.edit-fields,
.edit-panel[b-f9jj2hw2ji]  .edit-fields {
    width: 100%;
    align-items: stretch !important;
}

.edit-panel[b-f9jj2hw2ji]  .rz-form-field,
.edit-panel[b-f9jj2hw2ji]  .rz-textbox,
.edit-panel[b-f9jj2hw2ji]  .rz-textarea,
.edit-panel[b-f9jj2hw2ji]  .rz-form-field-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.editor-host[b-f9jj2hw2ji] {
    width: 100%;
}

.status-badge--pending[b-f9jj2hw2ji]   { background: #FFF7ED; color: #C2410C; }

.status-badge--scheduled[b-f9jj2hw2ji] { background: #FEF9C3; color: #854D0E; }

.status-badge--suspended[b-f9jj2hw2ji] { background: #FEF2F2; color: #B91C1C; }

.schedule-row[b-f9jj2hw2ji] {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* Topic tree */
.topic-tree[b-f9jj2hw2ji] {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px;
    margin-top: 6px;
    max-height: 240px;
    overflow-y: auto;
    background: var(--surface);
}

.topic-tree__item[b-f9jj2hw2ji] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 4px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-body);
    border-radius: 6px;
}

.topic-tree__item:hover[b-f9jj2hw2ji] {
    background: var(--background);
}

.topic-tree__root[b-f9jj2hw2ji] {
    font-weight: 600;
    color: var(--text);
}

/* Comments */
.comment-list[b-f9jj2hw2ji] {
    display: flex;
    flex-direction: column;
}

.comment-row[b-f9jj2hw2ji] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--adm-grid-row-border, var(--border));
}

.comment-row:last-child[b-f9jj2hw2ji] {
    border-bottom: none;
    padding-bottom: 0;
}

.comment-row--reply[b-f9jj2hw2ji] {
    margin-left: 20px;
    padding-left: 12px;
    border-left: 2px solid var(--border);
}

.comment-row--hidden[b-f9jj2hw2ji] {
    opacity: .55;
}

.comment-row__main[b-f9jj2hw2ji] {
    min-width: 0;
    flex: 1;
}

.comment-row__meta[b-f9jj2hw2ji] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.comment-row__meta strong[b-f9jj2hw2ji] {
    color: var(--text);
}

.comment-row__meta[b-f9jj2hw2ji]  .rz-icon {
    font-size: 16px;
    color: var(--text-secondary);
}

.comment-row__body[b-f9jj2hw2ji] {
    font-size: 14px;
    color: var(--text);
    line-height: 1.45;
    word-break: break-word;
}

.comment-mention[b-f9jj2hw2ji] {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
}

.comment-mention:hover[b-f9jj2hw2ji] {
    text-decoration: underline;
}

/* ===================== Course extras ===================== */
.info-banner[b-f9jj2hw2ji] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 10px 12px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: 13px;
}

.info-banner__label[b-f9jj2hw2ji] {
    color: var(--text-secondary);
}

.info-banner__value[b-f9jj2hw2ji] {
    font-weight: 600;
    color: var(--text);
}

.thumb-inline[b-f9jj2hw2ji] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.thumb-inline__img[b-f9jj2hw2ji] {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.audience-grid[b-f9jj2hw2ji] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.audience-grid__item[b-f9jj2hw2ji] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--text-body);
}

.promo-meta[b-f9jj2hw2ji] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.promo-meta__row[b-f9jj2hw2ji] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.promo-meta__row[b-f9jj2hw2ji]  .rz-icon {
    font-size: 18px;
    color: var(--primary);
}

.promo-banner[b-f9jj2hw2ji] {
    width: 96px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.promo-meta__ok[b-f9jj2hw2ji] {
    color: #047857;
    font-weight: 600;
}

.chapters-grid[b-f9jj2hw2ji] {
    --grid-row-border: var(--adm-grid-row-border);
}

.chapters-grid[b-f9jj2hw2ji]  .rz-data-grid,
.chapters-grid[b-f9jj2hw2ji]  .rz-datatable {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: none;
}

.chapters-grid[b-f9jj2hw2ji]  .rz-grid-table thead th,
.chapters-grid[b-f9jj2hw2ji]  .rz-datatable-thead > tr > th {
    height: 44px;
    padding: 0 12px;
    background: var(--background);
    border: none;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-body);
}

.chapters-grid[b-f9jj2hw2ji]  .rz-grid-table tbody td,
.chapters-grid[b-f9jj2hw2ji]  .rz-datatable-data > tr > td {
    height: 48px;
    padding: 8px 12px;
    border: none;
    border-bottom: 1px solid var(--grid-row-border);
    font-size: 14px;
    vertical-align: middle;
}

.chapters-grid[b-f9jj2hw2ji]  .rz-datatable-data > tr:last-child > td,
.chapters-grid[b-f9jj2hw2ji]  .rz-grid-table tbody tr:last-child td {
    border-bottom: none;
}

.chapters-grid[b-f9jj2hw2ji]  .rz-datatable-data > tr:hover > td,
.chapters-grid[b-f9jj2hw2ji]  .rz-grid-table tbody tr:hover td {
    background: var(--background);
}

.chapter-title[b-f9jj2hw2ji] {
    font-weight: 600;
    color: var(--text);
}

.more-btn[b-f9jj2hw2ji] {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 999px;
    color: #64748B;
    cursor: pointer;
}

.more-btn:hover[b-f9jj2hw2ji],
.more-btn--active[b-f9jj2hw2ji] {
    background: var(--adm-hover-bg, var(--background));
}

.more-btn[b-f9jj2hw2ji]  .rz-icon {
    font-size: 20px;
}

.row-menu[b-f9jj2hw2ji] {
    --menu-danger: var(--adm-menu-danger);
    --menu-danger-hover: var(--adm-menu-danger-hover);
    position: fixed;
    z-index: 9001;
    left: var(--menu-x);
    top: var(--menu-y);
    min-width: 220px;
    padding: 8px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-menu);
}

.row-menu__group[b-f9jj2hw2ji] { display: flex; flex-direction: column; gap: 2px; }

.row-menu__label[b-f9jj2hw2ji] {
    padding: 4px 12px 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94A3B8;
}

.row-menu__divider[b-f9jj2hw2ji] {
    height: 1px;
    background: var(--divider, #E2E8F0);
    margin: 6px 0;
}

.row-menu__item[b-f9jj2hw2ji] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 40px;
    width: 100%;
    padding: 6px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 14px;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}

.row-menu__item[b-f9jj2hw2ji]  .rz-icon { font-size: 18px; color: #64748B; }

.review-stars[b-f9jj2hw2ji] {
    letter-spacing: 1px;
    color: #D97706;
    font-size: 14px;
    margin: 0 0 4px;
}

.review-comment[b-f9jj2hw2ji] {
    margin: 0;
    font-size: 13px;
    color: var(--text-body);
    line-height: 1.45;
}

.review-hidden-tag[b-f9jj2hw2ji] {
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 999px;
    background: #FEF2F2;
    color: #B91C1C;
    font-size: 11px;
    font-weight: 600;
}

.modal-overlay[b-f9jj2hw2ji] {
    position: fixed;
    inset: 0;
    z-index: 9100;
    background: var(--adm-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.modal[b-f9jj2hw2ji] {
    background: var(--surface);
    border-radius: 16px;
    width: 440px;
    max-width: 96vw;
    box-shadow: var(--shadow-modal);
    overflow: hidden;
}

.modal__foot[b-f9jj2hw2ji] {
    padding: 0 24px 20px;
    display: flex;
    gap: 8px;
    justify-content: center;
}
/* _content/Estart/Components/Pages/Admin/Elearning/CourseEnrollmentPaymentsAdmin.razor.rz.scp.css */
.pending-pill[b-yx3tz4yscb] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: #FFFBEB;
    color: #B45309;
}

.note-muted[b-yx3tz4yscb] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}

.cell-date__day[b-yx3tz4yscb] {
    font-weight: 500;
    color: var(--text);
}

.detail-grid[b-yx3tz4yscb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}

.detail-grid > div[b-yx3tz4yscb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
}

.detail-grid__label[b-yx3tz4yscb] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--text-secondary);
}

.detail-section-title[b-yx3tz4yscb] {
    margin: 20px 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
}

.detail-actions[b-yx3tz4yscb] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.detail-action-form[b-yx3tz4yscb] {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--divider, #E2E8F0);
    border-radius: 10px;
    background: var(--background);
}

.detail-audit-list[b-yx3tz4yscb] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.detail-audit-list li[b-yx3tz4yscb] {
    padding: 8px 10px;
    border: 1px solid var(--divider, #E2E8F0);
    border-radius: 8px;
    font-size: 13px;
}

@media (max-width: 767px) {
    .filter-bar[b-yx3tz4yscb] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-yx3tz4yscb]  .filter-control--status,
    .filter-bar[b-yx3tz4yscb]  .filter-control--search {
        width: 100%;
        max-width: none;
    }
}
/* _content/Estart/Components/Pages/Admin/Elearning/CourseLessonsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-zwyt85i9om] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-zwyt85i9om]  .filter-control--status,
    .filter-bar[b-zwyt85i9om]  .filter-control--search,
    .filter-bar[b-zwyt85i9om]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.lesson-title[b-zwyt85i9om] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    text-align: left;
    line-height: 1.4;
    cursor: pointer;
    transition: color .2s ease;
    word-break: break-word;
}

.lesson-title:hover[b-zwyt85i9om] {
    color: var(--primary);
}

.cell-muted[b-zwyt85i9om] {
    font-size: 14px;
    color: var(--text-secondary);
}

/* ===================== Paginator ===================== */

/* ===================== Form thêm/sửa (pattern CourseEditAdmin) ===================== */
.edit-layout[b-zwyt85i9om] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 16px;
    align-items: start;
}

.edit-card__head[b-zwyt85i9om] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.field-label[b-zwyt85i9om] {
    font-size: .875rem;
    font-weight: 500;
    margin-bottom: 8px;
    color: var(--text-body);
}

.option-grid[b-zwyt85i9om] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.option-grid__item[b-zwyt85i9om] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--background);
    cursor: pointer;
}

.option-grid__item strong[b-zwyt85i9om] {
    display: block;
    font-size: 13px;
    color: var(--text);
}

.option-grid__item small[b-zwyt85i9om] {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}

.edit-panel[b-zwyt85i9om]  .rz-stack.edit-fields,
.edit-panel[b-zwyt85i9om]  .edit-fields {
    width: 100%;
    align-items: stretch !important;
}

.edit-panel[b-zwyt85i9om]  .rz-form-field,
.edit-panel[b-zwyt85i9om]  .rz-textbox,
.edit-panel[b-zwyt85i9om]  .rz-form-field-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.attach-list[b-zwyt85i9om] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.attach-row[b-zwyt85i9om] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--background);
}

.attach-row__name[b-zwyt85i9om] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 13px;
    color: var(--text-body);
}

.attach-row__size[b-zwyt85i9om] {
    color: var(--text-secondary);
    font-size: 12px;
}

.attach-hint[b-zwyt85i9om],
.attach-limit[b-zwyt85i9om] {
    margin: 0 0 8px;
    font-size: 12px;
    color: var(--text-secondary);
}

.attach-limit[b-zwyt85i9om] {
    color: #B45309;
}

.attach-input[b-zwyt85i9om] {
    font-size: 13px;
}

.summary-list[b-zwyt85i9om] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.summary-row[b-zwyt85i9om] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.summary-row strong[b-zwyt85i9om] {
    color: var(--text);
    font-weight: 600;
}

@media (max-width: 1024px) {
    .edit-layout[b-zwyt85i9om] {
        grid-template-columns: 1fr;
    }

    .edit-side[b-zwyt85i9om] {
        position: static;
    }

    .option-grid[b-zwyt85i9om] {
        grid-template-columns: 1fr;
    }
}
/* _content/Estart/Components/Pages/Admin/Elearning/CoursesAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-cehqzi2uyo] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-cehqzi2uyo]  .filter-control--status,
    .filter-bar[b-cehqzi2uyo]  .filter-control--search,
    .filter-bar[b-cehqzi2uyo]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.course-title[b-cehqzi2uyo] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.course-title:hover[b-cehqzi2uyo] {
    color: var(--primary);
}

/* ===================== Cột giá ===================== */
.cell-price[b-cehqzi2uyo] {
    font-weight: 600;
    color: var(--text);
}

.cell-price--free[b-cehqzi2uyo] {
    font-weight: 600;
    color: #047857;
}

.status-badge--suspended[b-cehqzi2uyo] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.courses-grid[b-cehqzi2uyo]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}
/* _content/Estart/Components/Pages/Admin/Elearning/DiscountCodesAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-2mqq5bec47] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-2mqq5bec47]  .filter-control--status,
    .filter-bar[b-2mqq5bec47]  .filter-control--search,
    .filter-bar[b-2mqq5bec47]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-2mqq5bec47] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-2mqq5bec47] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-2mqq5bec47] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-2mqq5bec47] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.discounts-grid[b-2mqq5bec47]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* ===================== Cột mã (link sửa) ===================== */
.code-link[b-2mqq5bec47] {
    display: inline;
    padding: 0;
    border: none;
    background: none;
    font: inherit;
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .02em;
    color: var(--text);
    cursor: pointer;
    transition: color .2s ease;
}

.code-link:hover[b-2mqq5bec47] {
    color: var(--primary);
    text-decoration: underline;
}

/* ===================== Giá trị giảm ===================== */
.cell-price[b-2mqq5bec47] {
    font-weight: 600;
    color: var(--text);
}

.cell-date[b-2mqq5bec47] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__time[b-2mqq5bec47] {
    font-size: 12px;
    color: var(--text-secondary);
}

.cell-date--empty[b-2mqq5bec47] {
    color: var(--text-secondary);
    font-size: 13px;
}
/* _content/Estart/Components/Pages/Admin/Elearning/ElearningReportAdmin.razor.rz.scp.css */
.elearning-report[b-0r9lftchj8] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1320px;
}

.elearning-report__loading[b-0r9lftchj8] {
    padding: 2rem;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    color: var(--text-secondary);
}

.elearning-report__period[b-0r9lftchj8] {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-body);
    font-size: .875rem;
}

.elearning-report__period[b-0r9lftchj8]  .rz-icon {
    color: var(--text-secondary);
    font-size: 18px;
}

.elearning-report__section[b-0r9lftchj8] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}

.kpi-grid[b-0r9lftchj8] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 860px) {
    .kpi-grid[b-0r9lftchj8] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
    .kpi-grid[b-0r9lftchj8] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.elearning-report__section--split[b-0r9lftchj8] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .elearning-report__section--split[b-0r9lftchj8] {
        grid-template-columns: repeat(2, minmax(320px, 1fr));
    }
}

.chart-card[b-0r9lftchj8] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .875rem 1rem 1rem;
}

.chart-card__head[b-0r9lftchj8] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
}

.chart-card__head h3[b-0r9lftchj8] {
    margin: 0;
    color: var(--text);
    font-size: .94rem;
    font-weight: 700;
}

.chart-card__head[b-0r9lftchj8]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

.chart[b-0r9lftchj8] {
    min-height: 260px;
}

.chart-empty[b-0r9lftchj8] {
    margin: .5rem 0 0;
    color: var(--text-secondary);
    font-size: .875rem;
}

.chart-legend-list[b-0r9lftchj8] {
    margin-top: .75rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    max-height: 220px;
    overflow: auto;
    padding-right: .25rem;
}

.chart-legend-list__item[b-0r9lftchj8] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    padding: .4rem .5rem;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 88%, var(--primary) 12%);
}

.chart-legend-list__key[b-0r9lftchj8] {
    font-size: .75rem;
    font-weight: 700;
    color: var(--primary);
}

.chart-legend-list__title[b-0r9lftchj8] {
    font-size: .82rem;
    color: var(--text);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chart-legend-list__meta[b-0r9lftchj8] {
    font-size: .75rem;
    color: var(--text-secondary);
    white-space: nowrap;
}
/* _content/Estart/Components/Pages/Admin/Elearning/InstructorPayoutsAdmin.razor.rz.scp.css */
.pending-pill[b-24ufi630yb] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    background: #FFFBEB;
    color: #B45309;
}

.cell-date__day[b-24ufi630yb] {
    font-weight: 500;
    color: var(--text);
}

.detail-grid[b-24ufi630yb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}

.detail-grid > div[b-24ufi630yb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
}

.detail-grid__label[b-24ufi630yb] {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--text-secondary);
}

.detail-section-title[b-24ufi630yb] {
    margin: 20px 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
}

.detail-audit-list[b-24ufi630yb] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.detail-audit-list li[b-24ufi630yb] {
    padding: 8px 10px;
    border: 1px solid var(--divider, #E2E8F0);
    border-radius: 8px;
    font-size: 13px;
}

.note-muted[b-24ufi630yb] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.4;
}

/* 1 CARD DUY NHẤT bọc cả dải tab lẫn nội dung — đúng pattern đã dùng ở SettingsAdmin (.settings-shell)
   và MemberDetailAdmin (.detail-tabs): thanh tab là "header" liền mạch với "body", không phải 2 card
   rời có khoảng cách. Phần reset .rz-tabview/.rz-tabview-nav* đã có sẵn ở shared.css (global, áp dụng
   cho MỌI trang trong .adm-root, không cần lặp lại ::deep ở đây) — chỉ còn thiếu khung ngoài cùng, vì
   shared.css không biết page nào cần khung nào. */
.payout-shell[b-24ufi630yb] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
    overflow: hidden;
}

.payout-tab-panel[b-24ufi630yb] {
    padding: 16px;
}

/* Grid bên trong tab đã nằm sẵn trong khung .payout-shell — bỏ khung/bo góc riêng của chính nó
   (do class "*-grid" kích hoạt) để tránh card-lồng-card, vẫn giữ nguyên style header/pager/hover
   (grid.css áp dụng qua cùng 1 attribute selector, không bị mất khi chỉ override border/radius). */
.payout-shell [class*="-grid"]:not([class*="rz-"]) .rz-data-grid[b-24ufi630yb],
.payout-shell [class*="-grid"]:not([class*="rz-"]) .rz-datatable[b-24ufi630yb] {
    border: none;
    border-radius: 0;
}

/* Đồng nhất với CourseEnrollmentPaymentsAdmin.razor.css (trang song sinh, cùng markup .filter-bar/
   .detail-grid) — trước đây thiếu hẳn breakpoint này. Live-test 2026-08-25 ở 390px không thấy tràn
   ngang (RadzenDataGrid tự cuộn ngang qua grid.css), nhưng vẫn thêm để nhất quán + co gọn 2 date picker
   thay vì bị bó hẹp cạnh nhau trên màn hình rất nhỏ. */
@media (max-width: 767px) {
    .filter-bar[b-24ufi630yb] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-24ufi630yb]  .filter-control {
        width: 100%;
        max-width: none;
    }

    .detail-grid[b-24ufi630yb] {
        grid-template-columns: 1fr;
    }
}
/* _content/Estart/Components/Pages/Admin/Elearning/QuizQuestionsAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-nw97lepkbv] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-nw97lepkbv]  .filter-control--status,
    .filter-bar[b-nw97lepkbv]  .filter-control--search,
    .filter-bar[b-nw97lepkbv]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

.question-title[b-nw97lepkbv] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 100%;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    text-align: left;
    line-height: 1.4;
    cursor: pointer;
    transition: color .2s ease;
    word-break: break-word;
}

.question-title:hover[b-nw97lepkbv] {
    color: var(--primary);
}

.cell-muted[b-nw97lepkbv] {
    font-size: 14px;
    color: var(--text-secondary);
}

.edit-layout[b-nw97lepkbv] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 16px;
    align-items: start;
}

.edit-card__head[b-nw97lepkbv] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.edit-panel[b-nw97lepkbv]  .rz-stack.edit-fields,
.edit-panel[b-nw97lepkbv]  .edit-fields {
    width: 100%;
    align-items: stretch !important;
}

.edit-panel[b-nw97lepkbv]  .rz-form-field,
.edit-panel[b-nw97lepkbv]  .rz-textbox,
.edit-panel[b-nw97lepkbv]  .rz-textarea,
.edit-panel[b-nw97lepkbv]  .rz-form-field-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.edit-panel[b-nw97lepkbv]  .rz-textarea {
    min-height: 72px !important;
}

.option-form[b-nw97lepkbv] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
}

.option-form__correct[b-nw97lepkbv] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-body);
    white-space: nowrap;
    cursor: pointer;
}

.option-list[b-nw97lepkbv] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.option-row[b-nw97lepkbv] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--background);
}

.option-row__text[b-nw97lepkbv] {
    flex: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-size: 14px;
    color: var(--text-body);
}

.option-row__icon[b-nw97lepkbv] {
    font-size: 18px;
    color: var(--text-secondary);
}

.option-row__icon--correct[b-nw97lepkbv] {
    color: #16A34A;
}

.summary-list[b-nw97lepkbv] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.summary-row[b-nw97lepkbv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.summary-row strong[b-nw97lepkbv] {
    color: var(--text);
    font-weight: 600;
}

@media (max-width: 1024px) {
    .edit-layout[b-nw97lepkbv] {
        grid-template-columns: 1fr;
    }

    .edit-side[b-nw97lepkbv] {
        position: static;
    }

    .option-form[b-nw97lepkbv] {
        grid-template-columns: 1fr;
    }
}
/* _content/Estart/Components/Pages/Admin/Infra/AdminDashboard.razor.rz.scp.css */
.admin-dashboard[b-2fwu6rh2zn] {
    /* ===== Ánh xạ sang design token toàn cục (inherit xuống component con) ===== */
    --dash-primary: var(--primary);
    --dash-success: var(--success);
    --dash-warning: var(--warning);
    --dash-danger: var(--danger);
    --dash-info: var(--info);
    --dash-violet: #7c3aed;
    --dash-surface: var(--surface);
    --dash-bg: var(--background);
    --dash-border: var(--border);
    --dash-text: var(--text);
    --dash-muted: var(--text-secondary);

    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 1360px;
}

/* ===================== Header ===================== */
.dash-header[b-2fwu6rh2zn] {
    display: flex;
    align-items: center;
    gap: .875rem;
}

.dash-header__icon[b-2fwu6rh2zn] {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #2DD4BF, var(--primary));
}

.dash-header__icon[b-2fwu6rh2zn]  .rz-icon {
    font-size: 26px;
    color: inherit;
}

.dash-header h1[b-2fwu6rh2zn] {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dash-text);
    line-height: 1.2;
}

.dash-header__subtitle[b-2fwu6rh2zn] {
    font-size: .875rem;
    color: var(--dash-muted);
}

/* ===================== KPI grid (4 / 2 / 1) ===================== */
.kpi-grid[b-2fwu6rh2zn] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 600px) {
    .kpi-grid[b-2fwu6rh2zn] { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
    .kpi-grid[b-2fwu6rh2zn] { grid-template-columns: repeat(4, 1fr); }
}

/* ===================== 2 cột section ===================== */
.dash-columns[b-2fwu6rh2zn] {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
    align-items: stretch;
}

@media (min-width: 1024px) {
    .dash-columns[b-2fwu6rh2zn] { grid-template-columns: 1fr 1fr; }
}

/* ===================== Lưới Quick Actions ===================== */
.action-grid[b-2fwu6rh2zn] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 480px) {
    .action-grid[b-2fwu6rh2zn] { grid-template-columns: repeat(3, 1fr); }
}

/* ===================== Danh sách Pending ===================== */
.pending-list[b-2fwu6rh2zn] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
/* _content/Estart/Components/Pages/Admin/Infra/AuditLogAdmin.razor.rz.scp.css */
/* ===================== Cột tiêu đề ===================== */
.group-title[b-7zj1hd3t6q] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.group-title:hover[b-7zj1hd3t6q] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-7zj1hd3t6q] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-7zj1hd3t6q] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */

.filter-bar[b-7zj1hd3t6q]  .filter-control--date {
    width: 160px;
}

.filter-bar[b-7zj1hd3t6q]  .rz-datepicker {
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: none;
}

.filter-bar[b-7zj1hd3t6q]  .rz-datepicker .rz-inputtext {
    height: 100%;
    border: none;
    background: transparent;
    font-size: 14px;
}

.audit-meta[b-7zj1hd3t6q] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: var(--text-secondary);
}

.audit-meta__count[b-7zj1hd3t6q] {
    font-weight: 600;
    color: var(--text-body);
}

.actor-name[b-7zj1hd3t6q] {
    font-weight: 600;
    color: var(--text);
}

.action-cell[b-7zj1hd3t6q] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    line-height: 1.35;
}

.action-label[b-7zj1hd3t6q] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.action-code[b-7zj1hd3t6q] {
    display: inline-block;
    width: fit-content;
    font-size: 11px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: var(--text-secondary);
    background: var(--background);
    padding: 1px 6px;
    border-radius: 4px;
    border: 1px solid var(--border);
}

.target-chip[b-7zj1hd3t6q] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 500;
    color: #475569;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.target-chip__id[b-7zj1hd3t6q] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11px;
    color: var(--text-secondary);
}

.cell-date[b-7zj1hd3t6q] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.cell-date__day[b-7zj1hd3t6q] {
    font-weight: 500;
    color: var(--text);
}

.cell-date__time[b-7zj1hd3t6q] {
    font-size: 12px;
    color: var(--text-secondary);
}

.audit-pager[b-7zj1hd3t6q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.audit-pager__btn[b-7zj1hd3t6q] {
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text-body);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.audit-pager__btn:hover[b-7zj1hd3t6q] {
    background: var(--background);
    color: var(--primary);
    border-color: var(--primary-border, #BFE9E6);
}

.audit-pager__btn--active[b-7zj1hd3t6q] {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.audit-pager__btn--active:hover[b-7zj1hd3t6q] {
    background: var(--primary-hover, #188A83);
    color: #fff;
}
/* _content/Estart/Components/Pages/Admin/Infra/FileManagerAdmin.razor.rz.scp.css */
.qlf-card[b-sa8bm9tjcc] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px 18px 12px;
    box-shadow: none;
}

.qlf-topbar[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--divider, #E2E8F0);
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 8px;
}

.qlf-bc[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    flex-wrap: wrap;
}

.qlf-bc-home[b-sa8bm9tjcc] {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    cursor: pointer;
    color: var(--text-secondary);
    transition: background-color .15s ease, color .15s ease;
}

.qlf-bc-home:hover[b-sa8bm9tjcc],
.qlf-bc-home.active[b-sa8bm9tjcc] {
    background: var(--primary-light);
    color: var(--primary);
}

.qlf-bc-sep[b-sa8bm9tjcc] {
    font-size: 18px;
    color: var(--disabled, #9CA3AF);
}

.qlf-bc-item[b-sa8bm9tjcc] {
    padding: 4px 10px;
    border-radius: 8px;
    cursor: pointer;
    color: var(--text-body);
    font-weight: 500;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qlf-bc-item:hover[b-sa8bm9tjcc] {
    background: var(--background);
    color: var(--primary);
}

.qlf-bc-item.active[b-sa8bm9tjcc] {
    color: var(--primary);
    font-weight: 600;
}

.qlf-trash-title[b-sa8bm9tjcc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--danger, #EF4444);
}

.qlf-trash-count[b-sa8bm9tjcc] {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 500;
}

.qlf-topbar-right[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.qlf-upload-btn[b-sa8bm9tjcc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    background: var(--primary);
    color: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none;
    transition: background-color .15s ease;
}

.qlf-upload-btn:hover[b-sa8bm9tjcc] {
    background: var(--primary-hover, #188A83);
}

.qlf-trash-btn[b-sa8bm9tjcc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-secondary);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}

.qlf-trash-btn:hover[b-sa8bm9tjcc],
.qlf-trash-btn.active[b-sa8bm9tjcc] {
    border-color: color-mix(in srgb, var(--danger) 45%, var(--border));
    color: var(--danger);
    background: color-mix(in srgb, var(--danger) 12%, var(--surface));
}

.qlf-trash-badge[b-sa8bm9tjcc] {
    position: absolute;
    top: -7px;
    right: -7px;
    background: var(--danger, #EF4444);
    color: #fff;
    border-radius: 999px;
    min-width: 18px;
    height: 18px;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

.qlf-uploading[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--primary);
    background: var(--primary-light);
    padding: 6px 10px;
    border-radius: 8px;
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qlf-trash-actions[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0 12px;
    border-bottom: 1px solid var(--divider, #E2E8F0);
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.qlf-trash-actions__hint[b-sa8bm9tjcc] {
    font-size: 13px;
    color: var(--text-secondary);
}

.qlf-searchbar[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 0 12px;
    margin-bottom: 4px;
}

.qlf-search[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0 12px;
    background: var(--surface);
    flex: 1;
    max-width: 380px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.qlf-search:focus-within[b-sa8bm9tjcc] {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-soft, rgba(30, 166, 158, .12));
}

.qlf-search[b-sa8bm9tjcc]  .rz-icon {
    font-size: 18px;
    color: var(--text-secondary);
}

.qlf-search-input[b-sa8bm9tjcc] {
    border: none;
    outline: none;
    font-size: 14px;
    flex: 1;
    background: transparent;
    min-width: 0;
    color: var(--text);
}

.qlf-search-input[b-sa8bm9tjcc]::placeholder {
    color: var(--text-secondary);
}

.qlf-search-clear[b-sa8bm9tjcc] {
    border: none;
    background: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0;
    line-height: 1;
    display: inline-flex;
}

.qlf-search-clear:hover[b-sa8bm9tjcc] {
    color: var(--danger);
}

.qlf-view-toggle[b-sa8bm9tjcc] {
    display: flex;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.qlf-view-toggle button[b-sa8bm9tjcc] {
    border: none;
    background: var(--surface);
    width: 40px;
    height: 40px;
    cursor: pointer;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .15s ease, color .15s ease;
}

.qlf-view-toggle button:hover[b-sa8bm9tjcc] {
    background: var(--background);
    color: var(--primary);
}

.qlf-view-toggle button.active[b-sa8bm9tjcc] {
    background: var(--primary-light);
    color: var(--primary);
}

.qlf-view-toggle[b-sa8bm9tjcc]  .rz-icon {
    font-size: 20px;
}

.qlf-sel-bar[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
    border: 1px solid var(--primary-border);
    border-radius: 8px;
    margin-bottom: 10px;
    font-size: 13px;
    color: var(--text-body);
    flex-wrap: wrap;
    gap: 8px;
}

.qlf-sel-bar__actions[b-sa8bm9tjcc] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.qlf-grid[b-sa8bm9tjcc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    padding-bottom: 16px;
    align-content: start;
    min-height: 180px;
}

.qlf-item[b-sa8bm9tjcc] {
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    background: var(--surface);
    box-shadow: none;
    cursor: pointer;
    position: relative;
    transition: border-color .15s ease, background-color .15s ease;
    user-select: none;
}

.qlf-item:hover[b-sa8bm9tjcc] {
    border-color: var(--primary-border, #BFE9E6);
    background: var(--background);
}

.qlf-item.sel[b-sa8bm9tjcc] {
    border-color: var(--primary);
    background: var(--primary-light);
}

.qlf-item.creating[b-sa8bm9tjcc] {
    border-color: var(--warning);
    background: color-mix(in srgb, var(--warning) 12%, var(--surface));
}

.qlf-thumb[b-sa8bm9tjcc] {
    width: 100%;
    height: 90px;
    object-fit: cover;
    display: block;
    background: var(--background);
}

.qlf-folder-icon[b-sa8bm9tjcc] {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--warning) 12%, var(--surface));
    color: var(--warning);
}

.qlf-folder-icon[b-sa8bm9tjcc]  .rz-icon {
    font-size: 48px;
    color: var(--warning);
}

.qlf-item.sel .qlf-folder-icon[b-sa8bm9tjcc] {
    background: color-mix(in srgb, var(--primary) 14%, var(--surface));
}

.qlf-icon[b-sa8bm9tjcc] {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--background);
    color: var(--text-secondary);
}

.qlf-icon[b-sa8bm9tjcc]  .rz-icon {
    font-size: 36px;
}

.qlf-sel-dot[b-sa8bm9tjcc] {
    position: absolute;
    top: 6px;
    right: 6px;
    background: var(--primary);
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.qlf-sel-dot[b-sa8bm9tjcc]  .rz-icon {
    font-size: 16px;
}

.qlf-item-name[b-sa8bm9tjcc] {
    font-size: 12px;
    padding: 6px 8px 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--text);
    font-weight: 600;
}

.qlf-item-meta[b-sa8bm9tjcc] {
    font-size: 11px;
    padding: 0 8px 8px;
    color: var(--text-secondary);
}

.qlf-rename-input[b-sa8bm9tjcc] {
    width: calc(100% - 12px);
    margin: 4px 6px 8px;
    border: 1px solid var(--primary);
    border-radius: 6px;
    font-size: 12px;
    padding: 4px 6px;
    outline: none;
    background: var(--surface);
    color: var(--text);
    display: block;
    box-shadow: 0 0 0 3px var(--primary-soft, rgba(30, 166, 158, .12));
}

.qlf-empty-hint[b-sa8bm9tjcc] {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 56px 24px;
    text-align: center;
}

.qlf-empty-hint[b-sa8bm9tjcc]  .rz-icon {
    font-size: 48px;
    color: var(--disabled, #9CA3AF);
}

.qlf-empty-hint__title[b-sa8bm9tjcc] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-body);
}

.qlf-empty-hint__text[b-sa8bm9tjcc] {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
}

.qlf-list-view[b-sa8bm9tjcc] {
    padding-bottom: 16px;
    min-height: 180px;
}

.qlf-list-head[b-sa8bm9tjcc] {
    display: grid;
    grid-template-columns: 40px 1fr 90px 100px 90px;
    gap: 8px;
    padding: 0 12px;
    height: 44px;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-body);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 10px 10px 0 0;
}

.qlf-list-row[b-sa8bm9tjcc] {
    display: grid;
    grid-template-columns: 40px 1fr 90px 100px 90px;
    gap: 8px;
    padding: 10px 12px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-top: none;
    cursor: pointer;
    align-items: center;
    transition: background-color .12s ease;
    user-select: none;
}

.qlf-list-row:last-child[b-sa8bm9tjcc] {
    border-radius: 0 0 10px 10px;
}

.qlf-list-row:hover[b-sa8bm9tjcc] {
    background: var(--background);
}

.qlf-list-row.sel[b-sa8bm9tjcc] {
    background: var(--primary-light);
}

.qlf-list-name[b-sa8bm9tjcc] {
    font-size: 13px;
    font-weight: 500;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qlf-list-muted[b-sa8bm9tjcc] {
    font-size: 12px;
    color: var(--text-secondary);
}

.qlf-list-thumb[b-sa8bm9tjcc] {
    width: 28px;
    height: 28px;
    object-fit: cover;
    border-radius: 4px;
}

.qlf-list-folder[b-sa8bm9tjcc] {
    color: var(--warning);
}

.qlf-list-folder[b-sa8bm9tjcc]  .rz-icon {
    font-size: 22px;
}

.qlf-statusbar[b-sa8bm9tjcc] {
    margin-top: 10px;
    padding: 8px 0 0;
    font-size: 12px;
    color: var(--text-secondary);
    border-top: 1px solid var(--divider, #E2E8F0);
}

.qlf-statusbar__sel[b-sa8bm9tjcc] {
    margin-left: 12px;
    color: var(--primary);
    font-weight: 600;
}

.qlf-center-empty[b-sa8bm9tjcc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 220px;
    padding: 24px;
    text-align: center;
}

.qlf-center-empty[b-sa8bm9tjcc]  .rz-icon {
    font-size: 48px;
    color: var(--disabled, #9CA3AF);
}

.qlf-load-more[b-sa8bm9tjcc] {
    text-align: center;
    padding: 8px 0 4px;
}

/* Context menu — đồng bộ row-menu */
.qlf-ctx-bd[b-sa8bm9tjcc] {
    position: fixed;
    inset: 0;
    z-index: 9000;
    background: transparent;
}

.qlf-ctx[b-sa8bm9tjcc] {
    --menu-danger: var(--adm-menu-danger);
    --menu-danger-hover: var(--adm-menu-danger-hover);

    position: fixed;
    z-index: 9001;
    min-width: 240px;
    max-width: min(320px, calc(100vw - 16px));
    padding: 8px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow-menu);
    animation: qlfMenuIn-b-sa8bm9tjcc .18s ease;
}

@keyframes qlfMenuIn-b-sa8bm9tjcc {
    from { opacity: 0; transform: scale(.96); }
    to   { opacity: 1; transform: scale(1); }
}

.qlf-ctx-item[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    width: 100%;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 14px;
    color: var(--text);
    cursor: pointer;
    text-align: left;
    transition: background-color .15s ease, color .15s ease;
}

.qlf-ctx-item:hover[b-sa8bm9tjcc] {
    background: var(--background);
    color: var(--primary);
}

.qlf-ctx-item[b-sa8bm9tjcc]  .rz-icon {
    font-size: 20px;
    color: var(--adm-menu-icon, var(--text-secondary));
}

.qlf-ctx-item:hover[b-sa8bm9tjcc]  .rz-icon {
    color: var(--primary);
}

.qlf-ctx-item.danger[b-sa8bm9tjcc] {
    color: var(--menu-danger);
}

.qlf-ctx-item.danger[b-sa8bm9tjcc]  .rz-icon {
    color: var(--menu-danger);
}

.qlf-ctx-item.danger:hover[b-sa8bm9tjcc] {
    background: color-mix(in srgb, var(--danger) 12%, transparent);
    color: var(--menu-danger-hover);
}

.qlf-ctx-item.danger:hover[b-sa8bm9tjcc]  .rz-icon {
    color: var(--menu-danger-hover);
}

.qlf-ctx-sep[b-sa8bm9tjcc] {
    height: 1px;
    background: var(--divider, #E2E8F0);
    margin: 4px 0;
}

/* Move modal + confirm modal */
.modal-overlay[b-sa8bm9tjcc] {
    position: fixed;
    inset: 0;
    z-index: 9100;
    background: var(--adm-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: qlfOverlayIn-b-sa8bm9tjcc .18s ease;
}

@keyframes qlfOverlayIn-b-sa8bm9tjcc {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.modal[b-sa8bm9tjcc] {
    background: var(--surface);
    border-radius: 16px;
    width: 440px;
    max-width: 96vw;
    box-shadow: var(--shadow-modal);
    overflow: hidden;
    animation: qlfModalIn-b-sa8bm9tjcc .2s ease;
}

@keyframes qlfModalIn-b-sa8bm9tjcc {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.modal--form[b-sa8bm9tjcc] {
    width: 400px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

.modal__head[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--divider, #E2E8F0);
}

.modal__title[b-sa8bm9tjcc] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text);
}

.modal__close[b-sa8bm9tjcc] {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    border-radius: 8px;
    color: var(--text-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.modal--form .modal__body[b-sa8bm9tjcc] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 8px 0;
}

.modal__confirm-icon[b-sa8bm9tjcc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--danger) 14%, var(--surface));
    color: var(--danger);
}

.modal__confirm-warn[b-sa8bm9tjcc] {
    color: var(--danger);
}

.modal--form .modal__foot[b-sa8bm9tjcc] {
    padding: 14px 20px;
    border-top: 1px solid var(--divider, #E2E8F0);
}

.qlf-tree-item[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    font-size: 13px;
    cursor: pointer;
    color: var(--text);
    transition: background-color .12s ease;
}

.qlf-tree-item:hover[b-sa8bm9tjcc] {
    background: var(--background);
}

.qlf-tree-item.sel[b-sa8bm9tjcc] {
    background: var(--primary-light);
    font-weight: 600;
    color: var(--primary);
}

.qlf-tree-item[b-sa8bm9tjcc]  .rz-icon {
    font-size: 18px;
    color: var(--warning);
}

.qlf-tree-item.sel[b-sa8bm9tjcc]  .rz-icon {
    color: var(--primary);
}

.qlf-tree-item--root[b-sa8bm9tjcc]  .rz-icon {
    color: var(--text-secondary);
}

.qlf-statusbar__stats[b-sa8bm9tjcc] {
    margin-left: 12px;
}

.qlf-type-filter[b-sa8bm9tjcc] {
    flex-shrink: 0;
}

.qlf-select-all-row[b-sa8bm9tjcc] {
    padding: 0 0 10px;
}

/* Drag-and-drop upload zone — InputFile transparent, overlaid on styled visual strip */
.qlf-dropzone[b-sa8bm9tjcc] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 56px;
    border: 2px dashed var(--border);
    border-radius: 8px;
    background: var(--background);
    margin-bottom: 12px;
    transition: border-color .15s ease, background-color .15s ease;
}

.qlf-dropzone.drag-over[b-sa8bm9tjcc] {
    border-color: var(--primary);
    background: var(--primary-light);
}

.qlf-dropzone[b-sa8bm9tjcc]  .qlf-dropzone-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.qlf-dropzone-content[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    pointer-events: none;
}

.qlf-dropzone-content[b-sa8bm9tjcc]  .rz-icon {
    font-size: 22px;
    color: var(--primary);
}

/* Preview modal (image/video/pdf lightbox + fallback) */
.qlf-preview[b-sa8bm9tjcc] {
    background: var(--surface);
    border-radius: 16px;
    width: min(880px, 96vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-modal);
    animation: qlfModalIn-b-sa8bm9tjcc .2s ease;
}

.qlf-preview__head[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--divider, #E2E8F0);
}

.qlf-preview__head strong[b-sa8bm9tjcc] {
    font-size: .9rem;
    color: var(--text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qlf-preview__head-actions[b-sa8bm9tjcc] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.qlf-preview__open[b-sa8bm9tjcc] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .12s ease, color .12s ease;
}

.qlf-preview__open:hover[b-sa8bm9tjcc] {
    background: var(--background);
    color: var(--primary);
}

.qlf-preview__body[b-sa8bm9tjcc] {
    flex: 1 1 auto;
    min-height: 280px;
    max-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--background);
    overflow: auto;
}

.qlf-preview__body img[b-sa8bm9tjcc],
.qlf-preview__body video[b-sa8bm9tjcc] {
    max-width: 100%;
    max-height: 70vh;
    display: block;
}

.qlf-preview__body iframe[b-sa8bm9tjcc] {
    width: 100%;
    height: 70vh;
    border: none;
}

.qlf-preview__nopreview[b-sa8bm9tjcc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px;
    text-align: center;
    color: var(--text-secondary);
}

.qlf-preview__nopreview[b-sa8bm9tjcc]  .rz-icon {
    font-size: 48px;
    color: var(--disabled, #9CA3AF);
}

.qlf-preview__foot[b-sa8bm9tjcc] {
    padding: 10px 18px;
    font-size: 12px;
    color: var(--text-secondary);
    border-top: 1px solid var(--divider, #E2E8F0);
}

@media (max-width: 767px) {
    .qlf-search[b-sa8bm9tjcc] {
        max-width: none;
    }

    .qlf-searchbar[b-sa8bm9tjcc] {
        flex-wrap: wrap;
    }

    .qlf-type-filter[b-sa8bm9tjcc] {
        width: 100% !important;
    }

    .qlf-list-head[b-sa8bm9tjcc],
    .qlf-list-row[b-sa8bm9tjcc] {
        grid-template-columns: 36px 1fr 70px;
    }

    .qlf-list-head span:nth-child(4)[b-sa8bm9tjcc],
    .qlf-list-head span:nth-child(5)[b-sa8bm9tjcc],
    .qlf-list-row span:nth-child(4)[b-sa8bm9tjcc],
    .qlf-list-row span:nth-child(5)[b-sa8bm9tjcc] {
        display: none;
    }
}
/* _content/Estart/Components/Pages/Admin/Infra/SettingsAdmin.razor.rz.scp.css */
/* 1 CARD DUY NHẤT bọc cả thanh tab lẫn nội dung (đúng pattern Material/GitHub/Bootstrap nav-tabs) —
   thanh tab là "header" liền mạch với nội dung "body", chỉ phân tách bằng 1 viền mảnh dưới thanh
   tab, KHÔNG phải nav-pill với nội dung là 2 khối rời có khoảng cách. */
.settings-shell[b-om9n10t7qi] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview {
    background: transparent;
    border: none;
    box-shadow: none;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 10px 16px 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--divider, #E2E8F0);
}

/* [SỬA 2026-08-24] ".rz-tabview-nav-link"/".rz-link" không tồn tại thật trong Radzen.Blazor 10.4.7 —
   markup thật: <li> chứa thẳng <a>/<button>, không có class riêng — reset nền/viền trên <li>,
   padding/font trên <li> a / <li> button (xem giải thích đầy đủ ở shared.css). */
.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li {
    margin: 0 0 -1px;
    float: none;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--text-secondary) !important;
    transition: color .15s ease, border-color .15s ease;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li a,
.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li button {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 14px;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none !important;
    transition: color .15s ease, border-color .15s ease;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li:hover {
    color: var(--text-body) !important;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li.rz-tabview-selected {
    color: var(--primary) !important;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li.rz-tabview-selected a,
.settings-tabs[b-om9n10t7qi]  .rz-tabview-nav li.rz-tabview-selected button {
    border-bottom-color: var(--primary) !important;
}

.settings-tabs[b-om9n10t7qi]  .rz-tabview-panels,
.settings-tabs[b-om9n10t7qi]  .rz-tabview-panel {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.settings-panel[b-om9n10t7qi] {
    padding: 16px;
    max-width: 880px;
}

.settings-panel__hint[b-om9n10t7qi] {
    margin: 0 0 14px;
    font-size: .8125rem;
    color: var(--text-secondary);
    line-height: 1.5;
}

.settings-section__title[b-om9n10t7qi] {
    margin: 8px 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
}

.settings-tabs[b-om9n10t7qi]  .rz-form-field {
    margin-bottom: 0;
}

.settings-tabs[b-om9n10t7qi]  .rz-textbox,
.settings-tabs[b-om9n10t7qi]  .rz-password,
.settings-tabs[b-om9n10t7qi]  .rz-textarea,
.settings-tabs[b-om9n10t7qi]  .rz-numeric {
    border-radius: 8px;
}
/* _content/Estart/Components/Pages/Admin/Reports/FinancialReportAdmin.razor.rz.scp.css */
.financial-report[b-7pjw21459e] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1320px;
}

.financial-report__loading[b-7pjw21459e] {
    padding: 2rem;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    color: var(--text-secondary);
}

.financial-report__period[b-7pjw21459e] {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-body);
    font-size: .875rem;
}

.financial-report__period[b-7pjw21459e]  .rz-icon {
    color: var(--text-secondary);
    font-size: 18px;
}

.financial-report__section[b-7pjw21459e] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}

.kpi-grid[b-7pjw21459e] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 860px) {
    .kpi-grid[b-7pjw21459e] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.financial-report__section--split[b-7pjw21459e] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .financial-report__section--split[b-7pjw21459e] {
        grid-template-columns: repeat(2, minmax(320px, 1fr));
    }
}

.chart-card[b-7pjw21459e] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .875rem 1rem 1rem;
}

.chart-card__head[b-7pjw21459e] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
}

.chart-card__head h3[b-7pjw21459e] {
    margin: 0;
    color: var(--text);
    font-size: .94rem;
    font-weight: 700;
}

.chart-card__head[b-7pjw21459e]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

.chart[b-7pjw21459e] {
    min-height: 260px;
}

.chart-empty[b-7pjw21459e] {
    margin: .5rem 0 0;
    color: var(--text-secondary);
    font-size: .875rem;
}
/* _content/Estart/Components/Pages/Admin/Reports/ReportsAdmin.razor.rz.scp.css */
.reports-dashboard[b-icydqe2fg0] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 1280px;
}

/* ===================== Header + Filter bar ===================== */
.reports-dashboard[b-icydqe2fg0]  .btn-export {
    height: 40px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.reports-dashboard[b-icydqe2fg0]  .btn-export:hover {
    transform: translateY(-1px);
}

.reports-dashboard[b-icydqe2fg0]  .btn-excel {
    background-color: var(--success) !important;
    border-color: var(--success) !important;
    color: #fff !important;
}

.reports-dashboard[b-icydqe2fg0]  .btn-excel:hover {
    background-color: #15803d !important;
    box-shadow: 0 6px 16px rgba(34, 197, 94, .35);
}

.reports-dashboard[b-icydqe2fg0]  .btn-pdf {
    background-color: var(--danger) !important;
    border-color: var(--danger) !important;
    color: #fff !important;
}

.reports-dashboard[b-icydqe2fg0]  .btn-pdf:hover {
    background-color: #b91c1c !important;
    box-shadow: 0 6px 16px rgba(239, 68, 68, .35);
}

/* Kỳ báo cáo */
.report-period[b-icydqe2fg0] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: -.25rem;
    font-size: .875rem;
    color: var(--text-body);
}

.report-period[b-icydqe2fg0]  .rz-icon {
    font-size: 18px;
    color: var(--text-secondary);
}

.report-period__value[b-icydqe2fg0] {
    font-weight: 600;
    color: var(--text);
}

.report-alert[b-icydqe2fg0] {
    border-radius: 12px;
}

/* Trạng thái tải */
.report-loading[b-icydqe2fg0] {
    display: flex;
    align-items: center;
    gap: .625rem;
    padding: 2rem;
    color: var(--text-secondary);
    justify-content: center;
}

/* ===================== Section ===================== */
.report-section[b-icydqe2fg0] {
    padding: 1.25rem 1.375rem 1.375rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
}

.report-section__head[b-icydqe2fg0] {
    display: flex;
    align-items: center;
    gap: .625rem;
    margin-bottom: 1rem;
}

.report-section__head h2[b-icydqe2fg0] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text);
}

.report-section__head[b-icydqe2fg0]  .rz-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

/* Icon nhóm — chỉ dùng màu thương hiệu + màu trạng thái (design system) */
.report-section__head.accent-blue[b-icydqe2fg0]  .rz-icon   { background: color-mix(in srgb, var(--primary) 12%, #fff); color: var(--primary); }

.report-section__head.accent-green[b-icydqe2fg0]  .rz-icon  { background: color-mix(in srgb, var(--success) 12%, #fff); color: var(--success); }

.report-section__head.accent-violet[b-icydqe2fg0]  .rz-icon { background: color-mix(in srgb, var(--info) 12%, #fff);    color: var(--info); }

.report-section__head.accent-rose[b-icydqe2fg0]  .rz-icon   { background: color-mix(in srgb, var(--warning) 12%, #fff); color: var(--warning); }

.report-section__head.accent-cyan[b-icydqe2fg0]  .rz-icon   { background: color-mix(in srgb, var(--primary) 12%, #fff); color: var(--primary); }

/* ===================== KPI grid (responsive) ===================== */
.kpi-grid[b-icydqe2fg0] {
    display: grid;
    gap: .875rem;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .kpi-grid[b-icydqe2fg0] { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
    .kpi-grid[b-icydqe2fg0] { grid-template-columns: repeat(3, 1fr); }
}

.kpi-grid--top[b-icydqe2fg0] {
    grid-template-columns: 1fr;
}

@media (min-width: 900px) {
    .kpi-grid--top[b-icydqe2fg0] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1400px) {
    .kpi-grid--top[b-icydqe2fg0] {
        grid-template-columns: repeat(5, 1fr);
    }
}

.report-section--middle[b-icydqe2fg0] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .report-section--middle[b-icydqe2fg0] {
        grid-template-columns: minmax(340px, 1.15fr) minmax(300px, 1fr);
    }
}

.report-chart-card[b-icydqe2fg0] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .95rem 1rem 1rem;
}

.report-chart-card__head[b-icydqe2fg0] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .65rem;
}

.report-chart-card__head h3[b-icydqe2fg0] {
    margin: 0;
    font-size: .94rem;
    color: var(--text);
    font-weight: 700;
}

.report-chart-card__head[b-icydqe2fg0]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

.report-donut-grid[b-icydqe2fg0] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .report-donut-grid[b-icydqe2fg0] {
        grid-template-columns: repeat(3, minmax(260px, 1fr));
    }
}

/* ===================== Mobile fine-tune ===================== */
@media (max-width: 767px) {
    .report-header[b-icydqe2fg0] {
        flex-direction: column;
        align-items: stretch;
    }

    .report-header__toolbar[b-icydqe2fg0] {
        justify-content: stretch;
    }

    .report-header__toolbar[b-icydqe2fg0]  .period-select,
    .report-header__toolbar[b-icydqe2fg0]  .btn-export {
        flex: 1 1 auto;
    }

    .report-donut-grid[b-icydqe2fg0] {
        grid-template-columns: 1fr;
    }
}
/* _content/Estart/Components/Pages/Admin/User/MemberCriteriaReportAdmin.razor.rz.scp.css */
.criteria-grid[b-p0k8etko3v]  .rz-grid-table,
.criteria-grid[b-p0k8etko3v]  .rz-data-grid-data > table {
    border: none;
    background: transparent;
    width: max-content !important;
    min-width: 1420px;
    max-width: none !important;
    table-layout: fixed;
}

@media (max-width: 1024px) {
    .criteria-grid[b-p0k8etko3v]  .rz-grid-table thead th,
    .criteria-grid[b-p0k8etko3v]  .rz-datatable-thead > tr > th,
    .criteria-grid[b-p0k8etko3v]  .rz-datatable-data > tr > td,
    .criteria-grid[b-p0k8etko3v]  .rz-grid-table tbody td {
        padding-left: 12px;
        padding-right: 12px;
    }

    .criteria-grid[b-p0k8etko3v]  .rz-grid-table,
    .criteria-grid[b-p0k8etko3v]  .rz-data-grid-data > table {
        min-width: 1280px;
    }
}

@media (max-width: 767px) {
    .criteria-grid[b-p0k8etko3v]  .rz-grid-table,
    .criteria-grid[b-p0k8etko3v]  .rz-data-grid-data > table {
        min-width: 1180px;
    }
}
/* _content/Estart/Components/Pages/Admin/User/MemberDetailAdmin.razor.rz.scp.css */
/* =====================================================================
   Member Detail Admin — tuân thủ UI_DESIGN_SYSTEM.md (tokens từ .adm-root)
   ===================================================================== */

/* ---------- Empty state ---------- */
.detail-empty[b-iswh3qix6l] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 64px 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    text-align: center;
}

.detail-empty__title[b-iswh3qix6l] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

/* ---------- 1. HERO PROFILE ---------- */
.profile-hero[b-iswh3qix6l] {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
    flex-wrap: wrap;
}

.profile-hero__avatar[b-iswh3qix6l] {
    width: 72px;
    height: 72px;
    flex: 0 0 auto;
    border-radius: 50%;
    overflow: hidden;
    background: var(--background);
    border: 2px solid var(--divider, #E2E8F0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-hero__avatar img[b-iswh3qix6l] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-avatar--fallback[b-iswh3qix6l] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--primary);
    background: var(--primary-light, #E8F8F7);
}

.profile-hero__main[b-iswh3qix6l] {
    flex: 1 1 380px;
    min-width: 0;
}

.profile-hero__title-row[b-iswh3qix6l] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.profile-hero__name[b-iswh3qix6l] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.profile-hero__display[b-iswh3qix6l] {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 2px 10px;
}

.profile-hero__meta[b-iswh3qix6l] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 8px;
    font-size: 13px;
    color: var(--text-body);
}

.profile-hero__meta-item[b-iswh3qix6l] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.profile-hero__meta-item[b-iswh3qix6l]  .rz-icon {
    font-size: 16px;
    color: var(--text-secondary);
}

.profile-hero__meta-item--verified[b-iswh3qix6l]  .rz-icon {
    color: #047857;
}

.profile-hero__bio[b-iswh3qix6l] {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-body);
    max-width: 720px;
}

.profile-hero__sub[b-iswh3qix6l] {
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-secondary);
}

.profile-hero__locked[b-iswh3qix6l] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 12px;
    color: #B45309;
    font-weight: 500;
}

.profile-hero__actions[b-iswh3qix6l] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 0 0 auto;
}

/* ---------- 2. STATS STRIP ---------- */
.stats-strip[b-iswh3qix6l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.stat-card[b-iswh3qix6l] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: none;
}

.stat-card__icon[b-iswh3qix6l] {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.stat-card__icon--blue[b-iswh3qix6l] { background: #EFF6FF; color: #1D4ED8; }
.stat-card__icon--green[b-iswh3qix6l] { background: #ECFDF5; color: #047857; }
.stat-card__icon--purple[b-iswh3qix6l] { background: #F5F3FF; color: #6D28D9; }
.stat-card__icon--amber[b-iswh3qix6l] { background: #FFFBEB; color: #B45309; }
.stat-card__icon--teal[b-iswh3qix6l] { background: #F0FDFA; color: #0F766E; }
.stat-card__icon--slate[b-iswh3qix6l] { background: #F1F5F9; color: #475569; }

.stat-card__text[b-iswh3qix6l] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.stat-card__text strong[b-iswh3qix6l] {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.stat-card__text small[b-iswh3qix6l] {
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---------- 3. LAYOUT: main + side ---------- */
.detail-layout[b-iswh3qix6l] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 16px;
    align-items: start;
}

.detail-main[b-iswh3qix6l] {
    min-width: 0;
}

/* 1 CARD DUY NHẤT bọc cả dải tab lẫn nội dung — đúng pattern tab chuẩn (Material/GitHub/Bootstrap
   nav-tabs): thanh tab là "header" của card, nội dung là "body", 2 phần liền nhau trong CÙNG 1 khối,
   chỉ phân tách bằng 1 đường viền mảnh dưới thanh tab — KHÔNG phải 2 card rời có khoảng cách ở giữa.
   Nội dung từng tab (info-grid...) vì vậy không còn tự vẽ khung/nền riêng nữa, chỉ còn các đường kẻ
   nội bộ (info-item) — nếu không sẽ lại thành card-trong-card như bản trước đó vừa bị chê. */
.detail-tabs[b-iswh3qix6l] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
    overflow: hidden;
}

/* RadzenTabs là component con — CSS-isolation không tự xuyên vào markup nó tự render,
   phải qua ::deep mới chọn được .rz-tabview*. */
.detail-tabs[b-iswh3qix6l]  .rz-tabview {
    background: transparent;
    border: none;
    box-shadow: none;
}

.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 10px 16px 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--divider, #E2E8F0);
}

/* [SỬA 2026-08-24] ".rz-tabview-nav-link"/".rz-link" không tồn tại thật trong Radzen.Blazor 10.4.7 —
   markup thật: <li> chứa thẳng <a>/<button>, không có class riêng — reset nền/viền trên <li>,
   padding/font trên <li> a / <li> button (xem giải thích đầy đủ ở shared.css). */
.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li {
    margin: 0 0 -1px;
    float: none;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    color: var(--text-secondary) !important;
    transition: color .15s ease, border-color .15s ease;
}

.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li a,
.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li button {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 14px;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 13px;
    font-weight: 600;
    box-shadow: none !important;
    transition: color .15s ease, border-color .15s ease;
}

.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li:hover {
    color: var(--text-body) !important;
}

.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li.rz-tabview-selected {
    color: var(--primary) !important;
}

.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li.rz-tabview-selected a,
.detail-tabs[b-iswh3qix6l]  .rz-tabview-nav li.rz-tabview-selected button {
    border-bottom-color: var(--primary) !important;
}

.detail-tabs[b-iswh3qix6l]  .rz-tabview-panels,
.detail-tabs[b-iswh3qix6l]  .rz-tabview-panel {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.detail-side[b-iswh3qix6l] {
    position: sticky;
    top: 16px;
    min-width: 0;
}

/* ---------- Tabs ---------- */
.tab-panel[b-iswh3qix6l] {
    padding: 16px;
}

.tab-panel__head[b-iswh3qix6l] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.tab-panel__head--mt[b-iswh3qix6l] {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--divider, #E2E8F0);
}

.tab-empty[b-iswh3qix6l] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 28px 16px;
    color: var(--text-secondary);
    font-size: 13px;
    background: var(--background);
    border: 1px dashed var(--border);
    border-radius: 12px;
}

.tab-empty[b-iswh3qix6l]  .rz-icon {
    font-size: 22px;
    color: var(--disabled);
}

.cell-link[b-iswh3qix6l] {
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease;
}

.cell-link:hover[b-iswh3qix6l] {
    color: var(--primary-hover);
    text-decoration: underline;
}

/* ---------- Info grid (Tổng quan / Mentor) ----------
   Không tự vẽ khung/nền riêng nữa — đã nằm sẵn trong card duy nhất của .detail-tabs,
   thêm 1 lớp khung ở đây sẽ tạo lại card-trong-card. Chỉ còn đường kẻ nội bộ giữa các ô. */
.info-grid[b-iswh3qix6l] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0;
}

.info-item[b-iswh3qix6l] {
    padding: 12px 16px;
    border-bottom: 1px solid #F1F5F9;
    border-right: 1px solid #F1F5F9;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.info-item:nth-child(even)[b-iswh3qix6l] { border-right: none; }
.info-item:last-child[b-iswh3qix6l] { border-bottom: none; }

.info-item__label[b-iswh3qix6l] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
}

.info-item__value[b-iswh3qix6l] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
    word-break: break-word;
}

/* ---------- 4. ADMIN CARD (side) ---------- */
.admin-card[b-iswh3qix6l] {
    padding: 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: none;
}

.admin-card__head[b-iswh3qix6l] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

.admin-card__head[b-iswh3qix6l]  .rz-icon {
    font-size: 18px;
    color: var(--primary);
}

.admin-card__hint[b-iswh3qix6l] {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-body);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .detail-layout[b-iswh3qix6l] {
        grid-template-columns: 1fr;
    }

    .detail-side[b-iswh3qix6l] {
        position: static;
    }
}

@media (max-width: 640px) {
    .profile-hero[b-iswh3qix6l] {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .profile-hero__actions[b-iswh3qix6l] {
        flex-direction: row;
        width: 100%;
    }

    .profile-hero__actions[b-iswh3qix6l]  .rz-button {
        flex: 1;
    }

    .stats-strip[b-iswh3qix6l] {
        grid-template-columns: repeat(2, 1fr);
    }

    .info-item[b-iswh3qix6l] {
        border-right: none;
    }
}

/* _content/Estart/Components/Pages/Admin/User/MembersAdmin.razor.rz.scp.css */
.filter-bar[b-2rn0l8nbay]  .filter-btn--action {
    margin-left: auto;
}

@media (max-width: 767px) {
    .filter-bar[b-2rn0l8nbay] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-2rn0l8nbay]  .filter-control--status,
    .filter-bar[b-2rn0l8nbay]  .filter-control--category,
    .filter-bar[b-2rn0l8nbay]  .filter-control--search,
    .filter-bar[b-2rn0l8nbay]  .filter-btn {
        width: 100%;
        max-width: none;
    }

    .filter-bar[b-2rn0l8nbay]  .filter-btn--action {
        margin-left: 0;
    }
}

/* ===================== Cột tiêu đề ===================== */
.group-title[b-2rn0l8nbay] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.group-title:hover[b-2rn0l8nbay] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-2rn0l8nbay] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-2rn0l8nbay] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.members-grid[b-2rn0l8nbay]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

/* Mobile — cho phép cuộn ngang, giữ bảng đủ rộng */
@media (max-width: 767px) {
    .members-grid[b-2rn0l8nbay]  .rz-data-grid-data {
        overflow-x: auto;
    }

    .members-grid[b-2rn0l8nbay]  .rz-grid-table {
        min-width: 860px;
    }
}

.filter-check[b-2rn0l8nbay] {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 13px;
    color: var(--text-body);
}

.member-cell[b-2rn0l8nbay] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.member-avatar[b-2rn0l8nbay] {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 50%;
    object-fit: cover;
    background: var(--background);
    border: 1px solid var(--divider, #E2E8F0);
}

.member-avatar--fallback[b-2rn0l8nbay] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--primary);
    background: var(--primary-light, #E8F8F7);
    border-color: var(--primary-border, #BFE9E6);
}

.member-cell__text[b-2rn0l8nbay] {
    min-width: 0;
    flex: 1 1 auto;
}

.member-title[b-2rn0l8nbay] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.member-title:hover[b-2rn0l8nbay] {
    color: var(--primary);
}

.cell-phone[b-2rn0l8nbay] {
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    color: var(--text);
    white-space: nowrap;
}

.member-meta[b-2rn0l8nbay],
.cell-muted[b-2rn0l8nbay] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}

/* ===================== Modal form (gửi thông báo) ===================== */
.modal--form[b-2rn0l8nbay] {
    width: 520px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
/* _content/Estart/Components/Pages/Admin/User/PermissionGroupsAdmin.razor.rz.scp.css */
/* ===================== Cột tiêu đề ===================== */
.group-title[b-wn0ciq2j95] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.group-title:hover[b-wn0ciq2j95] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-wn0ciq2j95] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-wn0ciq2j95] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.permission-groups-grid[b-wn0ciq2j95]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.page-head__sub code[b-wn0ciq2j95] {
    font-size: .75rem;
    padding: 1px 4px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.role-name[b-wn0ciq2j95] {
    font-weight: 600;
    color: var(--text);
}

.system-badge[b-wn0ciq2j95] {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 999px;
    background: #EFF6FF;
    color: #1D4ED8;
    vertical-align: middle;
}

.perm-preview[b-wn0ciq2j95] {
    font-size: 13px;
    color: var(--text-body);
    line-height: 1.4;
}

.perm-more[b-wn0ciq2j95],
.cell-muted[b-wn0ciq2j95] {
    color: var(--text-secondary);
}

.member-count[b-wn0ciq2j95] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    padding: 2px 8px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    background: var(--primary-light);
    color: var(--primary);
}

.modal__hint-inline[b-wn0ciq2j95] {
    display: inline-block;
    margin-top: 4px;
    font-size: .8125rem;
    color: var(--text-secondary);
}
/* _content/Estart/Components/Pages/Admin/User/StaffAdmin.razor.rz.scp.css */
@media (max-width: 767px) {
    .filter-bar[b-ksjghud2bn] {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar[b-ksjghud2bn]  .filter-control--status,
    .filter-bar[b-ksjghud2bn]  .filter-control--search,
    .filter-bar[b-ksjghud2bn]  .filter-btn {
        width: 100%;
        max-width: none;
    }
}

/* ===================== Cột tiêu đề ===================== */
.doc-title[b-ksjghud2bn] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    line-height: 1.4;
    transition: color .2s ease;
    word-break: break-word;
}

.doc-title:hover[b-ksjghud2bn] {
    color: var(--primary);
}

/* ===================== Cột ngày ===================== */
.cell-date__day[b-ksjghud2bn] {
    font-weight: 500;
    color: var(--text);
}

.status-badge--suspended[b-ksjghud2bn] { background: #FEF2F2; color: #B91C1C; }

/* ===================== Paginator ===================== */
.staff-grid[b-ksjghud2bn]  .rz-paginator {
    background: var(--surface);
    border: none;
    border-top: 1px solid var(--border);
    padding: 8px 12px;
}

.staff-name[b-ksjghud2bn] {
    display: block;
    font-weight: 600;
    color: var(--text);
    line-height: 1.4;
}

.staff-email[b-ksjghud2bn],
.cell-muted[b-ksjghud2bn] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
}

.role-chips[b-ksjghud2bn] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.roles-heading[b-ksjghud2bn] {
    font-size: 14px;
    color: var(--text);
}

.role-check-grid[b-ksjghud2bn] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 12px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 8px;
}
/* _content/Estart/Components/Pages/Admin/User/UserReportAdmin.razor.rz.scp.css */
.user-report[b-midolencqq] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1320px;
}

.user-report__loading[b-midolencqq] {
    padding: 2rem;
    border-radius: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    color: var(--text-secondary);
}

.user-report__period[b-midolencqq] {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--text-body);
    font-size: .875rem;
}

.user-report__period[b-midolencqq]  .rz-icon {
    color: var(--text-secondary);
    font-size: 18px;
}

.user-report__section[b-midolencqq] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: var(--shadow-card);
}

.kpi-grid[b-midolencqq] {
    display: grid;
    gap: .875rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 860px) {
    .kpi-grid[b-midolencqq] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.user-report__section--charts[b-midolencqq] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1200px) {
    .user-report__section--charts[b-midolencqq] {
        grid-template-columns: minmax(320px, 1.25fr) minmax(280px, .9fr);
    }
}

.chart-card[b-midolencqq] {
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: .875rem 1rem 1rem;
}

.chart-card__head[b-midolencqq] {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .65rem;
}

.chart-card__head h3[b-midolencqq] {
    margin: 0;
    color: var(--text);
    font-size: .94rem;
    font-weight: 700;
}

.chart-card__head[b-midolencqq]  .rz-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}
/* _content/Estart/Components/Pages/Ehub/HubReviewPage.razor.rz.scp.css */
/* Hub review — member portal skin (portal tokens từ account.css) */

.hub-review-page .portal-main[b-ylkmlcjl1o] {
    padding-top: 0;
    min-height: 0;
}

.hub-review-wrap[b-ylkmlcjl1o] {
    max-width: 760px;
    margin: 0 auto;
}

.hub-review-alert[b-ylkmlcjl1o] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

.hub-review-alert i[b-ylkmlcjl1o] {
    margin-top: 1px;
    font-size: 18px;
    flex: 0 0 auto;
}

.hub-review-alert--success[b-ylkmlcjl1o] {
    color: #047857;
    background: #ecfdf5;
    border-color: #a7f3d0;
}

.hub-review-alert--error[b-ylkmlcjl1o] {
    color: #b91c1c;
    background: #fef2f2;
    border-color: #fecaca;
}

.hub-review-section + .hub-review-section[b-ylkmlcjl1o] {
    margin-top: 36px;
}

.hub-review-section-head[b-ylkmlcjl1o] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.hub-review-section-head h2[b-ylkmlcjl1o] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 4px;
    color: #111827;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.3px;
}

.hub-review-section-head h2 i[b-ylkmlcjl1o] {
    color: #0f766e;
}

.hub-review-section-head p[b-ylkmlcjl1o] {
    margin: 0;
    color: #64748b;
    font-size: 14px;
}

.hub-review-count[b-ylkmlcjl1o] {
    display: inline-flex;
    min-width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #0f766e;
    background: #e8f8f7;
    font-size: 13px;
    font-weight: 800;
}

.hub-review-list[b-ylkmlcjl1o] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hub-review-item[b-ylkmlcjl1o] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 16px 18px;
    border: 1px solid #edf0f3;
    border-radius: 16px;
    color: inherit;
    background: #fff;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .035);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.hub-review-item:hover[b-ylkmlcjl1o] {
    border-color: #a7d8d4;
    box-shadow: 0 8px 24px rgba(15, 118, 110, .1);
    transform: translateY(-1px);
}

.hub-review-card-icon[b-ylkmlcjl1o] {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border-radius: 12px;
    color: #0f766e;
    background: #e8f8f7;
    font-size: 20px;
}

.hub-review-card-icon--event[b-ylkmlcjl1o] {
    color: #1d4ed8;
    background: #eff6ff;
}

.hub-review-item-body[b-ylkmlcjl1o] {
    flex: 1;
    min-width: 0;
}

.hub-review-item-body h3[b-ylkmlcjl1o] {
    margin: 0 0 6px;
    color: #111827;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.hub-review-item-body p[b-ylkmlcjl1o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.hub-review-item-body p i[b-ylkmlcjl1o] {
    color: #94a3b8;
}

.hub-review-dot[b-ylkmlcjl1o] {
    color: #cbd5e1;
}

.hub-review-item-cta[b-ylkmlcjl1o] {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    color: #0f766e;
    background: #e8f8f7;
    font-size: 13px;
    font-weight: 750;
}

.hub-review-item:hover .hub-review-item-cta[b-ylkmlcjl1o] {
    background: #0f766e;
    color: #fff;
}

.hub-review-form[b-ylkmlcjl1o] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hub-review-stars[b-ylkmlcjl1o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.hub-review-stars-label[b-ylkmlcjl1o] {
    color: #334155;
    font-size: 13px;
    font-weight: 750;
    min-width: 64px;
}

.hub-review-stars-row[b-ylkmlcjl1o] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.hub-review-star[b-ylkmlcjl1o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    color: #d1d5db;
    background: transparent;
    cursor: pointer;
    transition: color .15s ease, background .15s ease, transform .15s ease;
}

.hub-review-star i[b-ylkmlcjl1o] {
    font-size: 24px;
    line-height: 1;
}

.hub-review-star:hover[b-ylkmlcjl1o],
.hub-review-star.is-on[b-ylkmlcjl1o] {
    color: #f59e0b;
    background: #fffbeb;
}

.hub-review-star:hover[b-ylkmlcjl1o] {
    transform: translateY(-1px);
}

.hub-review-stars-value[b-ylkmlcjl1o] {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

.hub-review-field[b-ylkmlcjl1o] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
}

.hub-review-field > span[b-ylkmlcjl1o] {
    color: #334155;
    font-size: 13px;
    font-weight: 750;
}

.hub-review-field em[b-ylkmlcjl1o] {
    color: #94a3b8;
    font-style: normal;
    font-weight: 600;
}

.hub-review-textarea[b-ylkmlcjl1o] {
    width: 100%;
    min-height: 100px;
    padding: 12px 14px;
    border: 1px solid #dce3e8;
    border-radius: 10px;
    color: #263247;
    background: #fff;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    resize: vertical;
    outline: none;
    box-sizing: border-box;
}

.hub-review-textarea:focus[b-ylkmlcjl1o] {
    border-color: #42a79e;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, .1);
}

.hub-review-textarea[b-ylkmlcjl1o]::placeholder {
    color: #94a3b8;
}

.hub-review-empty[b-ylkmlcjl1o] {
    margin-top: 8px;
}

.hub-review-empty-icon[b-ylkmlcjl1o] {
    display: block;
    margin: 0 auto 14px;
    color: #94a3b8;
    font-size: 48px;
}

.hub-review-empty-icon.is-success[b-ylkmlcjl1o] {
    color: #0f766e;
}

/* Modal */
.hub-review-modal-overlay[b-ylkmlcjl1o] {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, .55);
}

.hub-review-modal[b-ylkmlcjl1o] {
    width: min(560px, 100%);
    max-height: 90vh;
    overflow: auto;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .25);
}

.hub-review-modal-head[b-ylkmlcjl1o] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid #edf0f2;
}

.hub-review-modal-eyebrow[b-ylkmlcjl1o] {
    margin: 0 0 6px;
    color: #0f766e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hub-review-modal-head h2[b-ylkmlcjl1o] {
    margin: 0 0 8px;
    color: #111827;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.hub-review-modal-meta[b-ylkmlcjl1o] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.hub-review-modal-meta i[b-ylkmlcjl1o] {
    color: #94a3b8;
}

.hub-review-modal-close[b-ylkmlcjl1o] {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    color: #64748b;
    background: #fff;
    cursor: pointer;
}

.hub-review-modal-close:hover[b-ylkmlcjl1o] {
    color: #0f766e;
    border-color: #a7d8d4;
    background: #f4fffd;
}

.hub-review-modal-body[b-ylkmlcjl1o] {
    padding: 18px 22px 22px;
}

.hub-review-modal-alert[b-ylkmlcjl1o] {
    margin-bottom: 14px;
}

.hub-review-modal-actions[b-ylkmlcjl1o] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 4px;
}

@media (max-width: 767px) {
    .hub-review-section-head[b-ylkmlcjl1o] {
        flex-direction: column;
        gap: 10px;
    }

    .hub-review-item[b-ylkmlcjl1o] {
        flex-wrap: wrap;
        padding: 14px;
    }

    .hub-review-item-cta[b-ylkmlcjl1o] {
        width: 100%;
        justify-content: center;
    }

    .hub-review-modal-actions .portal-button[b-ylkmlcjl1o] {
        flex: 1;
    }
}
/* _content/Estart/Components/Shared/CriteriaBarChart.razor.rz.scp.css */
.criteria-bar-chart[b-k43sexqvdb] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    width: 100%;
    min-height: 200px;
}

.criteria-bar-chart__row[b-k43sexqvdb] {
    display: grid;
    grid-template-columns: minmax(160px, 40%) minmax(0, 1fr) auto;
    gap: .625rem .75rem;
    align-items: center;
}

.criteria-bar-chart__label[b-k43sexqvdb] {
    font-size: .8125rem;
    line-height: 1.35;
    font-weight: 500;
    color: var(--text-body, #374151);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.criteria-bar-chart__track[b-k43sexqvdb] {
    height: 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--text-secondary, #64748b) 12%, var(--surface, #fff));
    overflow: hidden;
}

.criteria-bar-chart__fill[b-k43sexqvdb] {
    height: 100%;
    min-width: 4px;
    border-radius: 999px;
    transition: width .35s ease;
}

.criteria-bar-chart__value[b-k43sexqvdb] {
    min-width: 3.5rem;
    text-align: right;
    font-size: .8125rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text, #111827);
    white-space: nowrap;
}

.criteria-bar-chart__empty[b-k43sexqvdb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 200px;
    color: var(--text-secondary, #64748b);
    font-size: .875rem;
}

.criteria-bar-chart__empty[b-k43sexqvdb]  .rz-icon {
    font-size: 40px;
    color: var(--disabled, #cbd5e1);
}

@media (max-width: 767px) {
    .criteria-bar-chart__row[b-k43sexqvdb] {
        grid-template-columns: 1fr;
        gap: .375rem;
    }

    .criteria-bar-chart__value[b-k43sexqvdb] {
        text-align: left;
    }
}
/* _content/Estart/Components/Shared/CriteriaReportAnalyticsPanel.razor.rz.scp.css */
.criteria-analytics[b-y4zlq5vmu4] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem 1.375rem 1.375rem;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 16px;
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0, 0, 0, .05));
}

.criteria-analytics--loading[b-y4zlq5vmu4] {
    min-height: 200px;
    align-items: center;
    justify-content: center;
}

.criteria-analytics__loading[b-y4zlq5vmu4] {
    display: flex;
    align-items: center;
    gap: .625rem;
    color: var(--text-secondary, #64748b);
    font-size: .875rem;
}

.criteria-analytics__period[b-y4zlq5vmu4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding: .625rem .875rem;
    background: linear-gradient(90deg, color-mix(in srgb, var(--primary, #1EA69E) 10%, var(--surface, #fff)), var(--surface, #fff));
    border: 1px solid color-mix(in srgb, var(--primary, #1EA69E) 22%, var(--surface, #fff));
    border-radius: 10px;
    font-size: .875rem;
    color: var(--text-body, #374151);
}

.criteria-analytics__period[b-y4zlq5vmu4]  .rz-icon {
    font-size: 20px;
    color: var(--primary, #1EA69E);
}

.criteria-analytics__period-label[b-y4zlq5vmu4] {
    color: var(--text-secondary, #64748b);
}

.criteria-analytics__period-value[b-y4zlq5vmu4] {
    font-weight: 600;
    color: var(--text, #111827);
}

.criteria-analytics__kpi-grid[b-y4zlq5vmu4] {
    display: grid;
    gap: .875rem;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .criteria-analytics__kpi-grid[b-y4zlq5vmu4] { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
    .criteria-analytics__kpi-grid[b-y4zlq5vmu4] { grid-template-columns: repeat(4, 1fr); }
}

.criteria-analytics__charts[b-y4zlq5vmu4] {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
    .criteria-analytics__charts[b-y4zlq5vmu4] {
        grid-template-columns: repeat(2, minmax(280px, 1fr));
        align-items: start;
    }
}

@media (min-width: 1440px) {
    .criteria-analytics__charts[b-y4zlq5vmu4] {
        grid-template-columns: minmax(300px, 1.15fr) minmax(260px, .95fr) minmax(320px, 1.2fr);
    }
}

.criteria-analytics__chart-card[b-y4zlq5vmu4] {
    padding: 1rem 1.125rem 1.125rem;
    background: var(--background, #f8fafc);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 12px;
}

.criteria-analytics__chart-head[b-y4zlq5vmu4] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
}

.criteria-analytics__chart-head h3[b-y4zlq5vmu4] {
    margin: 0;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--text, #111827);
}

.criteria-analytics__chart-head[b-y4zlq5vmu4]  .rz-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background: color-mix(in srgb, var(--primary, #1EA69E) 18%, var(--surface, #fff));
    color: var(--primary, #1EA69E);
}

.criteria-analytics__insights[b-y4zlq5vmu4] {
    padding: 1rem 1.125rem;
    background: color-mix(in srgb, var(--info, #3b82f6) 10%, var(--surface, #fff));
    border: 1px solid color-mix(in srgb, var(--info, #3b82f6) 26%, var(--surface, #fff));
    border-radius: 12px;
}

.criteria-analytics__insights-head[b-y4zlq5vmu4] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .625rem;
}

.criteria-analytics__insights-head h3[b-y4zlq5vmu4] {
    margin: 0;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--text, #111827);
}

.criteria-analytics__insights-head[b-y4zlq5vmu4]  .rz-icon {
    font-size: 20px;
    color: var(--warning, #f59e0b);
}

.criteria-analytics__insights-list[b-y4zlq5vmu4] {
    margin: 0;
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .375rem;
    font-size: .875rem;
    line-height: 1.45;
    color: var(--text-body, #374151);
}

.criteria-analytics__insights-list li[b-y4zlq5vmu4]::marker {
    color: var(--primary, #1EA69E);
}

.criteria-report-section-title[b-y4zlq5vmu4] {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .25rem 0 0;
    font-size: .9375rem;
    font-weight: 700;
    color: var(--text, #111827);
}

.criteria-report-section-title[b-y4zlq5vmu4]  .rz-icon {
    font-size: 20px;
    color: var(--primary, #1EA69E);
}
/* _content/Estart/Components/Shared/CriteriaTrendChart.razor.rz.scp.css */
.criteria-trend-chart[b-tr5pyezyiw] {
    width: 100%;
    min-height: 240px;
}

.criteria-trend-chart[b-tr5pyezyiw]  .rz-axis text,
.criteria-trend-chart[b-tr5pyezyiw]  .rz-legend text {
    fill: var(--text-body, #374151);
}

.criteria-trend-chart[b-tr5pyezyiw]  .rz-gridline {
    stroke: color-mix(in srgb, var(--text-secondary, #64748b) 18%, transparent);
}

.criteria-trend-empty[b-tr5pyezyiw] {
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    color: var(--text-secondary, #64748b);
}
/* _content/Estart/Components/Shared/DashboardActionCard.razor.rz.scp.css */
.action-card[b-hecom5jbhz] {
    --accent: var(--dash-primary, #1EA69E);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
    height: 100%;
    min-height: 104px;
    padding: 1.125rem;
    background: var(--dash-surface, #fff);
    border: 1px solid var(--dash-border, #e5e9f0);
    border-radius: 14px;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}

.action-card:hover[b-hecom5jbhz] {
    transform: translateY(-2px);
    background: color-mix(in srgb, var(--accent) 12%, var(--dash-surface, var(--surface, #fff)));
    border-color: color-mix(in srgb, var(--accent) 45%, var(--dash-border, #e5e9f0));
    box-shadow: var(--shadow-card-hover, 0 12px 26px rgba(15, 23, 42, .10));
}

/* Ripple/press feedback (thuần CSS) */
.action-card[b-hecom5jbhz]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 60%);
    opacity: 0;
    transform: scale(.4);
    transition: transform .4s ease, opacity .5s ease;
    pointer-events: none;
}

.action-card:active[b-hecom5jbhz]::after {
    opacity: 1;
    transform: scale(1);
    transition: 0s;
}

.action-card__icon[b-hecom5jbhz] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.action-card__icon[b-hecom5jbhz]  .rz-icon {
    font-size: 24px;
    color: inherit;
}

.action-card__title[b-hecom5jbhz] {
    font-size: .9375rem;
    font-weight: 600;
    color: var(--dash-text, #0f172a);
    line-height: 1.3;
}
/* _content/Estart/Components/Shared/DashboardChart.razor.rz.scp.css */
.dash-chart[b-sqimt1lqqr] {
    width: 100%;
    min-height: 280px;
}

.dash-chart[b-sqimt1lqqr]  .rz-chart {
    width: 100%;
    height: 300px;
}

.dash-chart[b-sqimt1lqqr]  .rz-axis text,
.dash-chart[b-sqimt1lqqr]  .rz-legend-item-text {
    fill: var(--text-body, #374151) !important;
    color: var(--text-body, #374151) !important;
}

.dash-chart[b-sqimt1lqqr]  .rz-axis line,
.dash-chart[b-sqimt1lqqr]  .rz-axis path {
    stroke: var(--border, #e5e7eb) !important;
}

.dash-chart[b-sqimt1lqqr]  .rz-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    align-items: center;
}

.dash-chart[b-sqimt1lqqr]  .rz-legend-item {
    max-width: 180px;
}

.dash-chart[b-sqimt1lqqr]  .rz-legend-item-text {
    font-size: .8125rem;
    line-height: 1.3;
}

.dash-chart__empty[b-sqimt1lqqr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 280px;
    color: var(--dash-muted, #64748b);
}

.dash-chart__empty[b-sqimt1lqqr]  .rz-icon {
    font-size: 40px;
    color: #cbd5e1;
}
/* _content/Estart/Components/Shared/DashboardPendingItem.razor.rz.scp.css */
.pending-item[b-74kaquv8ts] {
    --accent: var(--dash-warning, #d97706);
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem .875rem;
    border-radius: 12px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.pending-item:hover[b-74kaquv8ts] {
    background: color-mix(in srgb, var(--accent) 10%, var(--dash-surface, var(--surface, #fff)));
    border-color: color-mix(in srgb, var(--accent) 35%, var(--dash-border, #e5e9f0));
    transform: translateX(2px);
}

.pending-item__icon[b-74kaquv8ts] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.pending-item__icon[b-74kaquv8ts]  .rz-icon {
    font-size: 21px;
    color: inherit;
}

.pending-item__title[b-74kaquv8ts] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: .9rem;
    font-weight: 500;
    color: var(--dash-text, #0f172a);
}

.pending-item__chevron[b-74kaquv8ts] {
    color: var(--dash-muted, #cbd5e1);
    font-size: 20px;
}

.pending-item__badge[b-74kaquv8ts] {
    flex: 0 0 auto;
    min-width: 24px;
    height: 24px;
    padding: 0 .5rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .8125rem;
    font-weight: 700;
    color: #fff;
    background: var(--dash-muted, #64748b);
}

.badge-success[b-74kaquv8ts] { background: var(--dash-success, #16a34a); }
.badge-warning[b-74kaquv8ts] { background: var(--dash-warning, #d97706); }
.badge-danger[b-74kaquv8ts] { background: var(--dash-danger, #dc2626); }
/* _content/Estart/Components/Shared/DashboardRecentActivity.razor.rz.scp.css */
.activity-list[b-xadqiybvhw] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.activity-item[b-xadqiybvhw] {
    --accent: var(--dash-primary, #1EA69E);
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .75rem .25rem;
    border-bottom: 1px solid var(--divider, #f1f5f9);
}

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

.activity-item__icon[b-xadqiybvhw] {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.activity-item__icon[b-xadqiybvhw]  .rz-icon {
    font-size: 19px;
    color: inherit;
}

.activity-item__body[b-xadqiybvhw] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.activity-item__title[b-xadqiybvhw] {
    font-size: .9rem;
    color: var(--dash-text, #0f172a);
}

.activity-item__time[b-xadqiybvhw] {
    font-size: .78rem;
    color: var(--dash-muted, #64748b);
    margin-top: 1px;
}

.activity-empty[b-xadqiybvhw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 200px;
    color: var(--dash-muted, #64748b);
}

.activity-empty[b-xadqiybvhw]  .rz-icon {
    font-size: 40px;
    color: #cbd5e1;
}
/* _content/Estart/Components/Shared/DashboardSection.razor.rz.scp.css */
.dash-section[b-hc7lcl9amu] {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem 1.375rem 1.375rem;
    background: var(--dash-surface, #fff);
    border: 1px solid var(--dash-border, #e5e9f0);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}

.dash-section__head[b-hc7lcl9amu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.125rem;
}

.dash-section__title[b-hc7lcl9amu] {
    display: flex;
    align-items: center;
    gap: .625rem;
    min-width: 0;
}

.dash-section__title h2[b-hc7lcl9amu] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--dash-text, #0f172a);
}

.dash-section__icon[b-hc7lcl9amu] {
    --accent: var(--dash-primary, #1EA69E);
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.dash-section__icon[b-hc7lcl9amu]  .rz-icon {
    font-size: 20px;
    color: inherit;
}

.dash-section__actions[b-hc7lcl9amu] {
    flex: 0 0 auto;
}

.dash-section__body[b-hc7lcl9amu] {
    flex: 1 1 auto;
}
/* _content/Estart/Components/Shared/DashboardStatCard.razor.rz.scp.css */
.stat-card[b-lgzsyscuq5] {
    --accent: var(--dash-primary, #1EA69E);
    display: flex;
    align-items: center;
    gap: 1rem;
    height: 100%;
    min-height: 104px;
    padding: 1.125rem 1.25rem;
    background: var(--dash-surface, #fff);
    border: 1px solid var(--dash-border, #e5e9f0);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.stat-card:hover[b-lgzsyscuq5] {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .10);
    border-color: color-mix(in srgb, var(--accent) 40%, var(--dash-border, #e5e9f0));
}

.stat-card__icon[b-lgzsyscuq5] {
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.stat-card__icon[b-lgzsyscuq5]  .rz-icon {
    font-size: 28px;
    color: inherit;
}

.stat-card__body[b-lgzsyscuq5] {
    min-width: 0;
    flex: 1 1 auto;
}

.stat-card__value[b-lgzsyscuq5] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.15;
    color: var(--dash-text, #0f172a);
}

.stat-card__title[b-lgzsyscuq5] {
    font-size: .9375rem;
    font-weight: 600;
    color: var(--dash-text, #334155);
    margin-top: 2px;
}

.stat-card__subtitle[b-lgzsyscuq5] {
    font-size: .8125rem;
    color: var(--dash-muted, #64748b);
    margin-top: 2px;
}

/* ===== Skeleton ===== */
.skeleton[b-lgzsyscuq5] {
    background: linear-gradient(90deg, #eef2f7 25%, #e2e8f0 37%, #eef2f7 63%);
    background-size: 400% 100%;
    animation: skeleton-shimmer-b-lgzsyscuq5 1.4s ease infinite;
    border-radius: 8px;
}

.stat-card__skeleton[b-lgzsyscuq5] {
    background-color: #eef2f7;
}

.skeleton-line[b-lgzsyscuq5] {
    height: 14px;
}

.skeleton-line--lg[b-lgzsyscuq5] {
    width: 60%;
    height: 24px;
    margin-bottom: 10px;
}

.skeleton-line--sm[b-lgzsyscuq5] {
    width: 40%;
}

@keyframes skeleton-shimmer-b-lgzsyscuq5 {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}
/* _content/Estart/Components/Shared/KpiCard.razor.rz.scp.css */
.kpi-card[b-0gpvs3hah1] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    height: 100%;
    min-height: 96px;
    padding: 1rem 1.125rem;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e5e9f0);
    border-radius: var(--radius-lg, 16px);
    box-shadow: var(--shadow-card, 0 2px 8px rgba(0, 0, 0, .05));
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.kpi-card:hover[b-0gpvs3hah1] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-card-hover, 0 6px 18px rgba(0, 0, 0, .08));
    border-color: var(--divider, #cbd5e1);
}

.kpi-card__icon[b-0gpvs3hah1] {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kpi-card__icon[b-0gpvs3hah1]  .rz-icon {
    font-size: 24px;
    color: inherit;
}

.kpi-card__info[b-0gpvs3hah1] {
    min-width: 0;
    flex: 1 1 auto;
}

.kpi-card__value[b-0gpvs3hah1] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text, #0f172a);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kpi-card__value--text[b-0gpvs3hah1] {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.kpi-card__label[b-0gpvs3hah1] {
    font-size: .8125rem;
    color: var(--text-secondary, #64748b);
    margin-top: 3px;
}

.kpi-card__bar[b-0gpvs3hah1] {
    margin-top: .625rem;
}

.kpi-card__bar[b-0gpvs3hah1]  .rz-progressbar {
    height: 6px;
    border-radius: 999px;
    background: var(--background, #eef2f7);
}

.kpi-card__bar[b-0gpvs3hah1]  .rz-progressbar-value {
    border-radius: 999px;
}

/* Accent palette — chỉ dùng màu thương hiệu + màu trạng thái (design system) */
.accent-blue[b-0gpvs3hah1]   { background: color-mix(in srgb, var(--primary) 16%, var(--surface, #fff)); color: var(--primary); }
.accent-green[b-0gpvs3hah1]  { background: color-mix(in srgb, var(--success) 16%, var(--surface, #fff)); color: var(--success); }
.accent-violet[b-0gpvs3hah1] { background: color-mix(in srgb, var(--primary) 16%, var(--surface, #fff)); color: var(--primary); }
.accent-amber[b-0gpvs3hah1]  { background: color-mix(in srgb, var(--warning) 16%, var(--surface, #fff)); color: var(--warning); }
.accent-rose[b-0gpvs3hah1]   { background: color-mix(in srgb, var(--danger) 16%, var(--surface, #fff));  color: var(--danger); }
.accent-cyan[b-0gpvs3hah1]   { background: color-mix(in srgb, var(--info) 16%, var(--surface, #fff));    color: var(--info); }
.accent-slate[b-0gpvs3hah1]  { background: rgba(100, 116, 139, .12); color: #64748B; }
/* _content/Estart/Components/Shared/MemberQuickUploadDialog.razor.rz.scp.css */
.mqud[b-dq4kpjbxfs] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-family: "Inter", sans-serif;
}

/* ===================== Vùng chọn file (trông như dropzone) ===================== */
.mqud-drop[b-dq4kpjbxfs] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 36px 20px;
    border: 2px dashed var(--line, #dbe2e8);
    border-radius: 14px;
    background: #fafcfd;
    text-align: center;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, transform .12s ease;
}

.mqud-drop:hover[b-dq4kpjbxfs],
.mqud-drop:focus-within[b-dq4kpjbxfs] {
    border-color: var(--teal, #1ea69e);
    background: color-mix(in srgb, var(--teal, #1ea69e) 6%, #fafcfd);
}

.mqud-drop:active[b-dq4kpjbxfs] {
    transform: scale(.995);
}

.mqud-drop--done[b-dq4kpjbxfs] {
    border-style: solid;
    border-color: color-mix(in srgb, var(--teal, #1ea69e) 40%, var(--line, #dbe2e8));
    background: color-mix(in srgb, var(--teal, #1ea69e) 4%, #fff);
}

.mqud-drop--busy[b-dq4kpjbxfs] {
    cursor: wait;
    border-color: var(--teal, #1ea69e);
}

/* InputFile render ra <input type=file> lồng trực tiếp trong <label> — click label tự kích hoạt input
   theo hành vi HTML gốc, không cần JS. Ẩn input nhưng vẫn giữ trong luồng để label bắt được sự kiện.
   BẮT BUỘC ::deep — <input> do component <InputFile> (Microsoft) tự render, không mang scope attribute
   b-xxxxx của file .razor.css này nên selector trần không khớp được (gotcha CSS-isolation đã ghi nhận
   trong dự án — giống lỗi drag-drop File Manager Admin gặp trước đó). */
[b-dq4kpjbxfs] .mqud-drop__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.mqud-drop__icon[b-dq4kpjbxfs] {
    font-size: 34px;
    color: var(--teal, #1ea69e);
    margin-bottom: 4px;
}

.mqud-drop__title[b-dq4kpjbxfs] {
    font-size: 15px;
    font-weight: 700;
    color: var(--ink, #111827);
}

.mqud-drop__hint[b-dq4kpjbxfs] {
    font-size: 12.5px;
    color: var(--muted, #6b7280);
}

.mqud-drop__spinner[b-dq4kpjbxfs] {
    width: 30px;
    height: 30px;
    margin-bottom: 4px;
    border: 3px solid color-mix(in srgb, var(--teal, #1ea69e) 25%, transparent);
    border-top-color: var(--teal, #1ea69e);
    border-radius: 50%;
    animation: mqud-spin-b-dq4kpjbxfs .7s linear infinite;
}

@keyframes mqud-spin-b-dq4kpjbxfs {
    to { transform: rotate(360deg); }
}

/* ===================== Cảnh báo / lỗi ===================== */
.mqud-alert[b-dq4kpjbxfs] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 13.5px;
    line-height: 1.5;
}

.mqud-alert i[b-dq4kpjbxfs] {
    margin-top: 1px;
    flex: 0 0 auto;
}

.mqud-alert--warning[b-dq4kpjbxfs] {
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.mqud-alert--danger[b-dq4kpjbxfs] {
    color: #991b1b;
    background: #fef2f2;
    border: 1px solid #fecaca;
}

/* ===================== Thẻ xem trước file đã upload ===================== */
.mqud-card[b-dq4kpjbxfs] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--line, #e5e9ec);
    border-radius: 12px;
    background: #fff;
}

.mqud-card__thumb[b-dq4kpjbxfs] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: hidden;
    background: #f1f5f7;
    color: var(--teal, #1ea69e);
    font-size: 20px;
}

.mqud-card__thumb img[b-dq4kpjbxfs] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mqud-card__info[b-dq4kpjbxfs] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.mqud-card__name[b-dq4kpjbxfs] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink, #111827);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mqud-card__size[b-dq4kpjbxfs] {
    font-size: 12px;
    color: var(--muted, #6b7280);
}

.mqud-card__remove[b-dq4kpjbxfs] {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--muted, #6b7280);
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}

.mqud-card__remove:hover[b-dq4kpjbxfs] {
    background: #fef2f2;
    color: #dc2626;
}

/* ===================== Căn chỉnh / chiều rộng (khi chèn ảnh vào nội dung) ===================== */
.mqud-layout[b-dq4kpjbxfs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    padding: 10px 12px;
    border: 1px solid var(--line, #e5e9ec);
    border-radius: 12px;
    background: #fafcfd;
}

.mqud-layout__group[b-dq4kpjbxfs] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mqud-layout__label[b-dq4kpjbxfs] {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--muted, #6b7280);
}

.mqud-align[b-dq4kpjbxfs] {
    display: inline-flex;
    border: 1px solid var(--line, #dbe2e8);
    border-radius: 8px;
    overflow: hidden;
}

.mqud-align button[b-dq4kpjbxfs] {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-right: 1px solid var(--line, #dbe2e8);
    background: #fff;
    color: var(--muted, #6b7280);
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}

.mqud-align button:last-child[b-dq4kpjbxfs] {
    border-right: none;
}

.mqud-align button:hover[b-dq4kpjbxfs] {
    background: #f1f5f7;
    color: var(--ink, #111827);
}

.mqud-align button.active[b-dq4kpjbxfs] {
    background: var(--teal, #1ea69e);
    color: #fff;
}

.mqud-select[b-dq4kpjbxfs] {
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--line, #dbe2e8);
    border-radius: 8px;
    background: #fff;
    color: var(--ink, #111827);
    font-size: 13px;
}

/* ===================== Footer nút bấm ===================== */
.mqud-footer[b-dq4kpjbxfs] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--line, #eef1f3);
}

.mqud-btn[b-dq4kpjbxfs] {
    height: 38px;
    padding: 0 18px;
    border-radius: 9px;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: filter .15s ease, background-color .15s ease, transform .1s ease;
}

.mqud-btn:active[b-dq4kpjbxfs] {
    transform: scale(.97);
}

.mqud-btn--light[b-dq4kpjbxfs] {
    border: 1px solid var(--line, #dbe2e8);
    background: #fff;
    color: var(--ink, #111827);
}

.mqud-btn--light:hover[b-dq4kpjbxfs] {
    background: #f8fafb;
}

.mqud-btn--primary[b-dq4kpjbxfs] {
    border: none;
    background: var(--teal, #1ea69e);
    color: #fff;
}

.mqud-btn--primary:hover:not(:disabled)[b-dq4kpjbxfs] {
    filter: brightness(1.06);
}

.mqud-btn--primary:disabled[b-dq4kpjbxfs] {
    background: #cbd5e1;
    cursor: not-allowed;
}

@media (max-width: 480px) {
    .mqud-drop[b-dq4kpjbxfs] {
        padding: 26px 14px;
    }

    .mqud-layout[b-dq4kpjbxfs] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* _content/Estart/Components/Shared/ReportPageHeader.razor.rz.scp.css */
.report-page-header[b-u97i9biumm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.125rem 1.25rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: var(--shadow-card);
}

.report-page-header__main[b-u97i9biumm] {
    display: flex;
    align-items: center;
    gap: .875rem;
    min-width: 0;
}

.report-page-header__icon[b-u97i9biumm] {
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-light);
    border: 1px solid var(--primary-border);
    box-shadow: none;
    color: var(--primary);
}

.report-page-header__icon[b-u97i9biumm]  .rz-icon {
    font-size: 24px;
    color: inherit;
}

.report-page-header__title[b-u97i9biumm] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.25;
}

.report-page-header__subtitle[b-u97i9biumm] {
    display: block;
    margin-top: .125rem;
    font-size: .8125rem;
    color: var(--text-secondary);
}

.report-page-header__toolbar[b-u97i9biumm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .625rem;
}

.report-page-header__toolbar[b-u97i9biumm]  .period-select {
    min-width: 190px;
    height: 40px;
    border-radius: 10px;
}
