/* v8 HR/payroll additions */
.v8-head{background:linear-gradient(115deg,#234b36,#178455)}
.v8-head button{color:#234b36}
.v8-note,.v8-flow{padding:13px 16px;border-radius:9px;margin:0 0 14px;font-size:13px;line-height:1.55}
.v8-note{background:#fff8dc;border:1px solid #ead57c;color:#604d0b}
.v8-flow{background:#e9f7ef;border:1px solid #8bc9a5;color:#185b37}
.v8-salary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 18px}
.v8-salary-subgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.v8-salary-card{appearance:none;border:1px solid #cfe0d6;border-radius:14px;background:#fff;min-height:150px;padding:20px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#173e2a;cursor:pointer;box-shadow:0 5px 18px rgba(27,83,52,.08)}
.v8-salary-card:hover{border-color:#178455;transform:translateY(-1px)}
.v8-salary-card b{font-size:15px;line-height:1.35}.v8-salary-card small{color:#617069;line-height:1.4}
.v8-salary-icon{font-size:29px;line-height:1}
@media(max-width:1100px){.v8-salary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.v8-note,.v8-flow{font-size:12px;padding:12px}}
@media(max-width:760px){.v8-salary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v8-salary-card{min-height:130px;padding:15px 10px}}
@media(max-width:430px){.v8-salary-grid{grid-template-columns:1fr}.v8-salary-card{min-height:112px}}
/* v69-102: allowance hub and granular permission management */
.v8-salary-card em{font-size:11px;font-style:normal;color:#176b45;background:#e9f7ef;border-radius:999px;padding:3px 8px}
.v8-allowance-hub{margin-top:14px}
.v8-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}
.v8-permission-grid label{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f6;padding:8px 2px}
.v8-permission-grid select{min-width:145px}
@media(max-width:760px){.v8-permission-grid{grid-template-columns:1fr}.v8-permission-grid label{align-items:flex-start;flex-direction:column}.v8-permission-grid select{width:100%}}
/* v69-104: phân cấp đơn giá khoán */
.v8-piece-top{grid-template-columns:repeat(3,minmax(0,1fr))}
.v8-piece-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:14px;background:#fff;border:1px solid #dfe7ef;border-radius:14px}
.v8-piece-group{border:0;border-radius:9px;background:#087eb8;color:#fff;padding:11px 15px;font-weight:750;cursor:pointer;min-height:42px;box-shadow:0 2px 6px #07598522}
.v8-piece-group:hover,.v8-piece-group:focus-visible{background:#075f91;outline:3px solid #7dd3fc}
.v8-piece-group small{display:block;color:#d8f3ff;font-size:10px;margin-top:2px}
.v8-empty{padding:24px;text-align:center;color:#64748b}
@media(max-width:760px){.v8-piece-top{grid-template-columns:1fr}.v8-piece-toolbar{gap:8px}.v8-piece-group{flex:1 1 calc(50% - 8px);white-space:normal}}
@media(max-width:420px){.v8-piece-group{flex-basis:100%}}
.v8-piece-group.active,.v8-piece-group[aria-pressed="true"]{background:#064e73;box-shadow:inset 0 0 0 3px #7dd3fc,0 2px 7px #07598533}
/* v69-108: thao tác chọn/sửa/xóa đơn giá */
.v69106-add{white-space:nowrap}.v8-piece-group[data-page="piece_rate_process_dap_goc"]{margin-left:18px;border-style:dashed}
.v69108-filter{display:flex;align-items:center;gap:10px}.v69108-filter .v7-search{flex:1;min-width:180px}.v69108-actions{display:flex;gap:8px;white-space:nowrap}
.v69108-actions .danger{background:#b42318;color:#fff;border:1px solid #b42318}.v69108-actions button:disabled{opacity:.45;cursor:not-allowed}
.v69108-check{width:38px;text-align:center!important}.v69108-check input{width:18px;height:18px;accent-color:#178455;cursor:pointer}.v69108-table tbody tr:has(.v69108-row:checked){background:#edf9f2}
@media(max-width:760px){.v69108-filter{align-items:stretch;flex-direction:column}.v69108-actions{display:grid;grid-template-columns:repeat(3,1fr)}.v69108-actions button{padding-left:8px;padding-right:8px}}
