/**
 * HB Emanager 4.4.14 - Modern frontend dashboard
 * Scoped to .hb-emanager-view for compatibility with NukeViet 4.x themes.
 */
.hb-emanager-view {
    --hb-blue: #1478ff;
    --hb-blue-dark: #0b5fc8;
    --hb-navy: #14213d;
    --hb-text: #253754;
    --hb-muted: #73829a;
    --hb-border: #e5ebf3;
    --hb-bg: #f6f9fd;
    --hb-card: #ffffff;
    --hb-shadow: 0 10px 28px rgba(26, 55, 91, .07);
    --hb-soft-blue: #eff6ff;
    --hb-soft-green: #eefbf6;
    --hb-soft-purple: #f6f1ff;
    --hb-soft-orange: #fff7ec;
    --hb-green: #11a66a;
    --hb-orange: #ea8510;
    width: 100%;
    max-width: 1440px;
    margin: 12px auto 30px;
    color: var(--hb-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}
.hb-emanager-view *, .hb-emanager-view *:before, .hb-emanager-view *:after { box-sizing: border-box; }
.hb-emanager-view a { text-decoration: none !important; }
.hb-emanager-view button, .hb-emanager-view input, .hb-emanager-view select { font-family: inherit; }

/* App shell */
.hb-emanager-view .hb-app-layout {
    display: flex;
    width: 100%;
    min-height: 680px;
    background: var(--hb-bg);
    border: 1px solid #e8edf4;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 38px rgba(31, 64, 101, .08);
}
.hb-emanager-view .hb-sidepanel {
    flex: 0 0 205px;
    width: 205px;
    padding: 18px 12px;
    background: #fff;
    border-right: 1px solid #e8edf4;
}
.hb-emanager-view .hb-side-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 8px 18px;
    color: #1168d9;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.02em;
}
.hb-emanager-view .hb-side-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #1984ff, #0d65d5);
    box-shadow: 0 7px 16px rgba(20,120,255,.22);
}
.hb-emanager-view .hb-side-label {
    padding: 0 10px 8px;
    color: #a0aabd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
}
.hb-emanager-view .hb-side-nav { display: grid; gap: 6px; }
.hb-emanager-view .hb-side-nav a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 44px;
    padding: 9px 12px;
    color: #536684;
    border-radius: 10px;
    font-weight: 650;
    transition: .18s ease;
}
.hb-emanager-view .hb-side-nav a .fa { width: 20px; text-align: center; font-size: 16px; }
.hb-emanager-view .hb-side-nav a:hover,
.hb-emanager-view .hb-side-nav a:focus { background: #f3f7fd; color: #176fdc; }
.hb-emanager-view .hb-side-nav a.is-active {
    position: relative;
    color: #0f6ee7;
    background: linear-gradient(90deg, #eaf4ff 0%, #f2f7ff 100%);
}
.hb-emanager-view .hb-side-nav a.is-active:before {
    content: "";
    position: absolute;
    left: -12px;
    top: 7px;
    bottom: 7px;
    width: 4px;
    border-radius: 0 5px 5px 0;
    background: var(--hb-blue);
}
.hb-emanager-view .hb-side-summary {
    display: grid;
    gap: 8px;
    margin: 24px 8px 0;
    padding: 13px 12px;
    border-radius: 12px;
    background: #f7faff;
    border: 1px solid #e8f0fb;
    color: #6a7b93;
    font-size: 11px;
}
.hb-emanager-view .hb-side-summary span { display: flex; align-items: center; gap: 7px; }
.hb-emanager-view .hb-side-summary .fa { color: #4c8fe2; width: 15px; text-align: center; }

.hb-emanager-view .hb-dashboard {
    flex: 1 1 auto;
    min-width: 0;
    padding: 22px 24px 28px;
    background:
        radial-gradient(circle at 100% 0, rgba(226,239,255,.6) 0, rgba(246,249,253,0) 300px),
        var(--hb-bg);
}
.hb-emanager-view .hb-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #77879e;
    font-size: 12px;
}
.hb-emanager-view .hb-breadcrumb .fa-home { color: #7d8ea8; }
.hb-emanager-view .hb-breadcrumb span { color: var(--hb-blue); }
.hb-emanager-view .hb-breadcrumb strong { color: #43536a; font-weight: 600; }
.hb-emanager-view .hb-page-head h1 {
    margin: 0;
    color: #111f3b;
    font-size: 30px;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.025em;
}
.hb-emanager-view .hb-page-head p {
    margin: 6px 0 0;
    max-width: 900px;
    color: #6e7e96;
    font-size: 13px;
    line-height: 1.55;
}

/* Stats */
.hb-emanager-view .hb-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 16px;
}
.hb-emanager-view .hb-stat {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 92px;
    padding: 14px 16px;
    border: 1px solid var(--hb-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(31,64,101,.035);
}
.hb-emanager-view .hb-stat-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 21px;
}
.hb-emanager-view .hb-stat-copy { min-width: 0; }
.hb-emanager-view .hb-stat-copy small {
    display: block;
    margin-bottom: 2px;
    color: #5c6d87;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hb-emanager-view .hb-stat-copy strong {
    display: block;
    color: #15223d;
    font-size: 25px;
    line-height: 1.05;
    font-weight: 800;
}
.hb-emanager-view .hb-stat-blue { background: linear-gradient(135deg,#fff 0%,#f2f7ff 100%); border-color:#dce9fa; }
.hb-emanager-view .hb-stat-blue .hb-stat-icon { color:#1376ef; background:#e6f1ff; }
.hb-emanager-view .hb-stat-green { background: linear-gradient(135deg,#fff 0%,#effbf6 100%); border-color:#dcefe7; }
.hb-emanager-view .hb-stat-green .hb-stat-icon { color:#0ca970; background:#dcf6ea; }
.hb-emanager-view .hb-stat-purple { background: linear-gradient(135deg,#fff 0%,#f7f2ff 100%); border-color:#e9e0f8; }
.hb-emanager-view .hb-stat-purple .hb-stat-icon { color:#6f35e8; background:#eee5ff; }
.hb-emanager-view .hb-stat-orange { background: linear-gradient(135deg,#fff 0%,#fff8ef 100%); border-color:#f4e7d7; }
.hb-emanager-view .hb-stat-orange .hb-stat-icon { color:#ec810b; background:#ffecd5; }

/* Tabs */
.hb-emanager-view .hb-tabs {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #dfe6ef;
    margin-bottom: 18px;
}
.hb-emanager-view .hb-tabs a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 48px;
    padding: 8px 12px;
    color: #5c6f89;
    font-weight: 600;
}
.hb-emanager-view .hb-tabs a .fa { font-size: 15px; }
.hb-emanager-view .hb-tabs a:hover { color: #1478ff; }
.hb-emanager-view .hb-tabs a.is-active { color: #1478ff; font-weight: 750; }
.hb-emanager-view .hb-tabs a.is-active:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: #1478ff;
}

/* Main data card */
.hb-emanager-view .hb-data-card {
    overflow: hidden;
    border: 1px solid #e8edf4;
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--hb-shadow);
}
.hb-emanager-view .hb-data-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px 13px;
}
.hb-emanager-view .hb-data-heading { display:flex; align-items:center; gap:11px; min-width:190px; }
.hb-emanager-view .hb-heading-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background:#eaf4ff;
    color:#1478ff;
    font-size:17px;
}
.hb-emanager-view .hb-data-heading h2 { margin:0; color:#172642; font-size:18px; line-height:1.2; font-weight:800; }
.hb-emanager-view .hb-data-heading p { margin:3px 0 0; color:#8a98ab; font-size:11px; }

.hb-emanager-view .hb-search-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex: 1 1 auto;
    min-width: 0;
}
.hb-emanager-view .hb-search-box,
.hb-emanager-view .hb-select-box {
    position: relative;
    display: block;
    min-width: 0;
}
.hb-emanager-view .hb-search-box { width: min(100%, 360px); }
.hb-emanager-view .hb-select-box { width: 190px; }
.hb-emanager-view .hb-search-box > .fa,
.hb-emanager-view .hb-select-box > .fa:first-child {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #7d8da4;
    z-index: 2;
    pointer-events: none;
}
.hb-emanager-view .hb-search-box input,
.hb-emanager-view .hb-select-box select {
    width: 100%;
    height: 40px;
    margin: 0 !important;
    border: 1px solid #dce4ee !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #40526b !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 12px !important;
}
.hb-emanager-view .hb-search-box input { padding: 8px 12px 8px 36px !important; }
.hb-emanager-view .hb-select-box select {
    padding: 8px 34px 8px 36px !important;
    appearance: none;
    -webkit-appearance: none;
}
.hb-emanager-view .hb-search-box input:focus,
.hb-emanager-view .hb-select-box select:focus { border-color:#8abcf9 !important; box-shadow:0 0 0 3px rgba(20,120,255,.08) !important; }
.hb-emanager-view .hb-select-arrow { position:absolute; right:12px; left:auto !important; color:#71829b !important; }
.hb-emanager-view .hb-primary-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    flex:0 0 auto;
    min-width:105px;
    height:40px;
    padding:0 16px;
    border:0;
    border-radius:9px;
    background:linear-gradient(135deg,#1b82ff,#0867dc);
    color:#fff !important;
    font-size:12px;
    font-weight:750;
    box-shadow:0 6px 14px rgba(20,120,255,.18);
    cursor:pointer;
}
.hb-emanager-view .hb-primary-btn:hover { filter:brightness(.97); }
.hb-emanager-view .hb-student-filter .hb-search-box { width:260px; }

/* Table */
.hb-emanager-view .hb-table-wrap {
    width: 100%;
    overflow-x: auto;
    padding: 0 16px;
    -webkit-overflow-scrolling: touch;
}
.hb-emanager-view .hb-table {
    width: 100%;
    min-width: 770px;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff;
}
.hb-emanager-view .hb-student-table { min-width: 980px; }
.hb-emanager-view .hb-table th,
.hb-emanager-view .hb-table td {
    padding: 10px 11px !important;
    border: 0 !important;
    border-right: 1px solid #edf1f6 !important;
    border-bottom: 1px solid #edf1f6 !important;
    vertical-align: middle !important;
    background: transparent;
    line-height: 1.35;
}
.hb-emanager-view .hb-table th:first-child,
.hb-emanager-view .hb-table td:first-child { border-left:1px solid #edf1f6 !important; }
.hb-emanager-view .hb-table thead th {
    background:#f3f6fa !important;
    color:#2e405d !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    white-space:nowrap;
}
.hb-emanager-view .hb-table thead th:first-child { border-radius:8px 0 0 8px; }
.hb-emanager-view .hb-table thead th:last-child { border-radius:0 8px 8px 0; }
.hb-emanager-view .hb-table tbody td { color:#44566f; font-size:12px; }
.hb-emanager-view .hb-table tbody tr:hover td { background:#fbfdff; }
.hb-emanager-view .hb-number { width:52px; text-align:center; color:#60718b !important; }
.hb-emanager-view .hb-actions-col { width:46px; }
.hb-emanager-view .hb-actions { text-align:center; }
.hb-emanager-view .hb-more {
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#4c6381;
    cursor:pointer;
}
.hb-emanager-view .hb-more:hover { background:#f0f5fb; color:#1478ff; }
.hb-emanager-view .hb-person { display:flex; align-items:center; gap:8px; min-width:160px; }
.hb-emanager-view .hb-person-icon {
    flex:0 0 27px;
    width:27px;
    height:27px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#2f5488;
    border-radius:8px;
    background:#f1f6fc;
}
.hb-emanager-view .hb-person strong { display:block; color:#20314d; font-size:12.5px; font-weight:750; }
.hb-emanager-view .hb-person small { display:block; margin-top:2px; color:#8090a6; font-size:10.5px; }
.hb-emanager-view .hb-text-cell { color:#4c607b; }
.hb-emanager-view .hb-course { color:#233a62; font-weight:750; }
.hb-emanager-view .hb-class-name { color:#3d587c; font-weight:600; white-space:nowrap; }
.hb-emanager-view .hb-account { display:flex; align-items:center; gap:7px; flex-wrap:wrap; min-width:165px; }
.hb-emanager-view .hb-account-name { display:inline-flex; align-items:center; gap:6px; color:#3d4f68; white-space:nowrap; }
.hb-emanager-view .hb-account-name .fa { color:#38689f; }
.hb-emanager-view .hb-status,
.hb-emanager-view .hb-assignee,
.hb-emanager-view .hb-info-pill {
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:25px;
    padding:4px 8px;
    border-radius:999px;
    font-size:10.5px;
    font-weight:700;
    white-space:nowrap;
}
.hb-emanager-view .hb-status.is-linked { color:#0f925d; background:#e5f8ef; }
.hb-emanager-view .hb-status.is-unlinked { color:#c46b07; background:#fff0d9; }
.hb-emanager-view .hb-assignee.is-assigned { color:#315b91; background:#edf5ff; }
.hb-emanager-view .hb-assignee.is-unassigned { color:#d16e05; background:#fff0da; }
.hb-emanager-view .hb-info-pill { color:#1874db; background:#eaf4ff; }

/* Empty + footer */
.hb-emanager-view .hb-empty {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:150px;
    color:#8795a9;
    text-align:center;
}
.hb-emanager-view .hb-empty > .fa { font-size:24px; color:#9bb3d0; }
.hb-emanager-view .hb-empty strong { color:#52667f; }
.hb-emanager-view .hb-empty span { font-size:11px; }
.hb-emanager-view .hb-card-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:70px;
    padding:14px 18px;
    color:#72839a;
    font-size:11px;
}
.hb-emanager-view .hb-footer-pagination { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.hb-emanager-view .hb-page-size {
    display:inline-flex;
    align-items:center;
    gap:13px;
    height:37px;
    padding:0 12px;
    border:1px solid #dce4ee;
    border-radius:8px;
    background:#fff;
    color:#53657f;
    white-space:nowrap;
}
.hb-emanager-view .hb-pagination { margin:0; padding:0; }
.hb-emanager-view .hb-pagination .pagination { margin:0 !important; display:flex; gap:5px; }
.hb-emanager-view .hb-pagination .pagination > li > a,
.hb-emanager-view .hb-pagination .pagination > li > span {
    min-width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 8px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:8px !important;
    background:#f2f6fb !important;
    color:#5f7490 !important;
    font-size:11px;
}
.hb-emanager-view .hb-pagination .pagination > .active > a,
.hb-emanager-view .hb-pagination .pagination > .active > span {
    background:#1478ff !important;
    color:#fff !important;
    box-shadow:0 5px 12px rgba(20,120,255,.16);
}

/* Defensive overrides against legacy theme rules */
.hb-emanager-view h1, .hb-emanager-view h2, .hb-emanager-view p { text-shadow:none !important; }
.hb-emanager-view table { table-layout:auto; }
.hb-emanager-view .hb-table > tbody > tr > td,
.hb-emanager-view .hb-table > thead > tr > th { float:none !important; }

@media (max-width: 1180px) {
    .hb-emanager-view .hb-sidepanel { flex-basis:175px; width:175px; }
    .hb-emanager-view .hb-dashboard { padding:20px 18px 24px; }
    .hb-emanager-view .hb-page-head h1 { font-size:27px; }
    .hb-emanager-view .hb-stat { padding:12px; gap:10px; }
    .hb-emanager-view .hb-stat-icon { width:42px; height:42px; flex-basis:42px; }
    .hb-emanager-view .hb-data-toolbar { align-items:flex-start; flex-direction:column; }
    .hb-emanager-view .hb-search-form { width:100%; justify-content:flex-start; }
}
@media (max-width: 920px) {
    .hb-emanager-view .hb-app-layout { display:block; min-height:0; }
    .hb-emanager-view .hb-sidepanel { width:100%; padding:12px 14px; border-right:0; border-bottom:1px solid #e8edf4; }
    .hb-emanager-view .hb-side-brand { padding:0 4px 10px; font-size:18px; }
    .hb-emanager-view .hb-side-logo { width:31px; height:31px; }
    .hb-emanager-view .hb-side-label, .hb-emanager-view .hb-side-summary { display:none; }
    .hb-emanager-view .hb-side-nav { display:flex; gap:7px; overflow:auto; }
    .hb-emanager-view .hb-side-nav a { min-height:38px; padding:7px 10px; white-space:nowrap; }
    .hb-emanager-view .hb-side-nav a.is-active:before { display:none; }
    .hb-emanager-view .hb-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .hb-emanager-view { margin-top:8px; }
    .hb-emanager-view .hb-app-layout { border-radius:12px; }
    .hb-emanager-view .hb-dashboard { padding:16px 12px 20px; }
    .hb-emanager-view .hb-page-head h1 { font-size:23px; }
    .hb-emanager-view .hb-page-head p { font-size:12px; }
    .hb-emanager-view .hb-stats { gap:8px; margin-top:14px; }
    .hb-emanager-view .hb-stat { min-height:74px; padding:10px; }
    .hb-emanager-view .hb-stat-icon { width:37px; height:37px; flex-basis:37px; font-size:17px; }
    .hb-emanager-view .hb-stat-copy strong { font-size:20px; }
    .hb-emanager-view .hb-stat-copy small { font-size:10px; }
    .hb-emanager-view .hb-tabs { gap:2px; overflow:auto; }
    .hb-emanager-view .hb-tabs a { min-height:42px; padding:7px 9px; font-size:12px; white-space:nowrap; }
    .hb-emanager-view .hb-data-toolbar { padding:14px 12px 11px; }
    .hb-emanager-view .hb-search-form { flex-wrap:wrap; }
    .hb-emanager-view .hb-search-box, .hb-emanager-view .hb-select-box, .hb-emanager-view .hb-student-filter .hb-search-box { width:100%; }
    .hb-emanager-view .hb-primary-btn { width:100%; }
    .hb-emanager-view .hb-table-wrap { padding:0 10px; }
    .hb-emanager-view .hb-card-footer { align-items:flex-start; flex-direction:column; padding:13px 12px; }
    .hb-emanager-view .hb-footer-pagination { width:100%; justify-content:space-between; }
}
