/* Tab NHÂN SỰ 2026 — theo wireframe 40-17. Mọi selector nằm dưới #ns2026Root để không đụng CSS chung của dashboard. */
#view-nhan-su-2026{display:none}
#view-nhan-su-2026.active{display:block}
#ns2026Root{--ns-blue:#244a86;--ns-blue2:#15315a;--ns-line:#d8e0ec;--ns-muted:#667085;--ns-error:#c52222;color:#172033;font:13px Arial,sans-serif;min-width:1180px;padding-bottom:18px}
#ns2026Root .ns-top{background:#fff;border:1px solid var(--ns-line);border-top:5px solid var(--ns-blue);padding:14px 18px;box-shadow:0 1px 2px #00000008}
#ns2026Root .ns-title{display:flex;align-items:baseline;gap:16px;white-space:nowrap}
#ns2026Root .ns-title h1{font-size:23px;color:var(--ns-blue2);margin:0}
#ns2026Root .ns-title p{margin:0;color:var(--ns-muted)}
#ns2026Root .ns-filters{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:12px}
#ns2026Root .ns-field label{display:block;font-size:11px;font-weight:700;color:var(--ns-blue2);margin-bottom:4px}
#ns2026Root .ns-field select{height:32px;border:1px solid #b9c7d9;border-radius:3px;background:#fff;padding:0 8px;min-width:150px;color:#27364a;font:13px Arial,sans-serif}
#ns2026Root .ns-week select{min-width:280px}
#ns2026Root .ns-week-nav{display:flex;gap:4px}
#ns2026Root .ns-step{height:32px;width:28px;border:1px solid #b9c7d9;border-radius:3px;background:#fff;color:var(--ns-blue2);cursor:pointer;font-size:11px}
#ns2026Root .ns-step:hover{background:#eef3fa}
#ns2026Root .ns-step:disabled{opacity:.35;cursor:default;background:#fff}
#ns2026Root .ns-sync{margin-left:auto;text-align:right;white-space:nowrap;color:var(--ns-muted);font-size:11px;line-height:1.5}
#ns2026Root .ns-button{height:32px;border:0;border-radius:3px;background:var(--ns-blue);color:#fff;padding:0 13px;font-weight:700;cursor:pointer;margin-top:3px}
#ns2026Root .ns-button:hover{background:var(--ns-blue2)}
#ns2026Root .ns-button:disabled{opacity:.6;cursor:wait}
#ns2026Root .ns-message{background:#fde2e2;color:#9e1b1b;border:1px solid #f5b5b5;padding:16px 18px;font-weight:700;margin-top:13px}
#ns2026Root .ns-empty{background:#fff5cc;color:#7a5200;border:1px solid #f0d58a;padding:10px 14px;font-weight:700;margin-top:13px}
#ns2026Root .ns-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:13px 0}
#ns2026Root .ns-kpi{background:#fff;border:1px solid var(--ns-line);border-top:4px solid var(--ns-blue);padding:11px 13px;min-height:88px}
#ns2026Root .ns-kpi:nth-child(2){border-top-color:#718096}
#ns2026Root .ns-kpi:nth-child(3){border-top-color:#2e6fbd}
#ns2026Root .ns-kpi:nth-child(4){border-top-color:#f59e0b}
#ns2026Root .ns-kpi:nth-child(5){border-top-color:#d98b00}
#ns2026Root .ns-kpi:nth-child(6){border-top-color:var(--ns-error)}
#ns2026Root .ns-kpi-label{color:var(--ns-muted);font-weight:700}
#ns2026Root .ns-kpi-value{font-size:25px;color:var(--ns-blue2);font-weight:800;margin:6px 0 2px}
#ns2026Root .ns-kpi-sub{font-size:11px;color:var(--ns-muted)}
#ns2026Root .ns-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(370px,.9fr);gap:12px;margin-bottom:12px}
#ns2026Root .ns-card{background:#fff;border:1px solid var(--ns-line);min-width:0;box-shadow:0 1px 2px #00000008}
#ns2026Root .ns-block{margin-bottom:12px}
#ns2026Root .ns-card h2{font-size:13px;color:#fff;background:var(--ns-blue);margin:0;padding:9px 12px;letter-spacing:.2px}
#ns2026Root .ns-cardbody{padding:10px 12px}
#ns2026Root .ns-chartbox{height:205px;position:relative}
#ns2026Root .ns-chartbox.ns-tall{height:250px}
#ns2026Root .ns-chartbox.ns-donut{height:228px}
#ns2026Root .ns-projectbar{height:250px;position:relative}
#ns2026Root .ns-people-chart{position:relative}
#ns2026Root .ns-people-legend{font-size:11px;color:var(--ns-muted);padding:7px 12px 0}
#ns2026Root .ns-over60{color:var(--ns-error);font-weight:700}
#ns2026Root .ns-tablewrap{overflow:auto;max-height:260px}
#ns2026Root .ns-detail .ns-tablewrap{max-height:300px}
#ns2026Root .ns-table{width:100%;border-collapse:collapse;font-size:13px;border:0}
#ns2026Root .ns-table th{background:var(--ns-blue2);color:#fff;text-align:left;font-size:11px;padding:7px 8px;white-space:nowrap;text-transform:none;letter-spacing:0;font-weight:700;border-right:0;position:sticky;top:0;z-index:2}
#ns2026Root .ns-table td{border-bottom:1px solid #e7ebf1;border-right:0;padding:7px 8px;vertical-align:top;background:transparent}
#ns2026Root .ns-table tr:nth-child(even) td{background:#f8fafc}
#ns2026Root .ns-table tr:hover td{background:#eef3fa}
#ns2026Root .ns-table td.ns-num{text-align:right;white-space:nowrap}
#ns2026Root .ns-detail .ns-table td{max-width:180px}
#ns2026Root .ns-empty-row td{color:var(--ns-muted);text-align:center}
#ns2026Root .ns-red{color:var(--ns-error);font-weight:700}
#ns2026Root .ns-legend{font-size:11px;color:var(--ns-muted);margin-top:5px}
#ns2026Root .ns-center{text-align:center}
#ns2026Root .ns-heat{overflow:auto;max-height:570px}
#ns2026Root .ns-heat table{border-collapse:collapse;width:100%;font-size:10px;border:0}
#ns2026Root .ns-heat th,#ns2026Root .ns-heat td{border:1px solid #fff;text-align:center;height:21px;padding:2px 3px}
#ns2026Root .ns-heat th{background:var(--ns-blue2);color:#fff;position:sticky;top:0;z-index:2;font-size:10px;text-transform:none;letter-spacing:0}
#ns2026Root .ns-heat th:first-child,#ns2026Root .ns-heat td:first-child{position:sticky;left:0;text-align:left;background:#fff;z-index:1;min-width:155px}
#ns2026Root .ns-heat th:first-child{background:var(--ns-blue2);z-index:3}
#ns2026Root .ns-heat td.h0{background:#e5e7eb;color:#6b7280}
#ns2026Root .ns-heat td.h1{background:#dce8f8}
#ns2026Root .ns-heat td.h2{background:#a9c5e8}
#ns2026Root .ns-heat td.h3{background:#5d8fc8;color:#fff}
#ns2026Root .ns-heat td.h4{background:#244a86;color:#fff}
#ns2026Root .ns-heat td.h5{background:#fde2e2;color:#9e1b1b;font-weight:700}
#ns2026Root .ns-heat td.bad{outline:2px solid var(--ns-error);outline-offset:-2px}
#ns2026Root .ns-heat-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#ns2026Root .ns-heat-legend span{display:inline-flex;align-items:center;gap:3px}
#ns2026Root .ns-heat-legend i{width:12px;height:12px;display:inline-block;border:1px solid #ccd3df}
#ns2026Root .ns-heat-legend .c0{background:#e5e7eb}
#ns2026Root .ns-heat-legend .c1{background:#dce8f8}
#ns2026Root .ns-heat-legend .c2{background:#a9c5e8}
#ns2026Root .ns-heat-legend .c3{background:#5d8fc8}
#ns2026Root .ns-heat-legend .c5{background:#fde2e2}
#ns2026Root .ns-search{margin-bottom:8px}
#ns2026Root .ns-search input{width:100%;height:30px;border:1px solid #b9c7d9;padding:0 9px;font:13px Arial,sans-serif}
#ns2026Root .ns-export{float:right;height:24px;padding:0 9px;font-size:11px;margin-top:-3px}
#ns2026Root .ns-tooltip-cell{max-width:150px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}
#ns2026Root .ns-detail .ns-table td:hover .ns-tooltip-cell{white-space:normal;overflow:visible;background:#fff;position:relative;z-index:1;box-shadow:0 1px 5px #0003;padding:3px}
#ns2026Root .ns-subcards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#ns2026Root .ns-issue,#ns2026Root .ns-plan{min-height:145px}
#ns2026Root .ns-issue ul,#ns2026Root .ns-plan ul{margin:0;padding-left:18px;line-height:1.65}
#ns2026Root .ns-plan-body{max-height:260px;overflow:auto}
#ns2026Root .ns-errorcard{margin-top:12px}
#ns2026Root .ns-errorcard h2{background:#a51d1d}
#ns2026Root .ns-badge{display:inline-block;padding:2px 6px;border-radius:10px;background:#e8eef8;color:var(--ns-blue2);font-size:10px;font-weight:700}
#ns2026Root .ns-errorbadge{background:#fde2e2;color:#9e1b1b}
@media(max-width:1300px){#ns2026Root .ns-kpis{gap:7px}#ns2026Root .ns-kpi{padding:9px}#ns2026Root .ns-kpi-value{font-size:22px}}
