/* Wash Zambia Laundry ERP — HR & People Design System */
.wz-hr-page {
    --wz-hr-primary: #0d6efd;
    --wz-hr-primary-dark: #0a58ca;
    --wz-hr-ink: #13233f;
    --wz-hr-muted: #73809a;
    --wz-hr-line: #e9edf5;
    --wz-hr-surface: #ffffff;
    --wz-hr-soft: #f6f8fc;
    --wz-hr-success: #16a34a;
    --wz-hr-warning: #d97706;
    --wz-hr-danger: #dc2626;
    padding: 24px !important;
    color: var(--wz-hr-ink);
}

.wz-hr-page,
.wz-hr-page * { box-sizing: border-box; }

.wz-hr-page h1,
.wz-hr-page h2,
.wz-hr-page h3,
.wz-hr-page h4,
.wz-hr-page h5,
.wz-hr-page h6 { color: var(--wz-hr-ink); }

.wz-hr-page .d-flex.align-items-center.justify-content-between:first-child,
.wz-hr-page > .d-flex.justify-content-between:first-child {
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    border: 1px solid var(--wz-hr-line);
    border-radius: 18px;
    padding: 18px 20px;
    margin-bottom: 20px !important;
    box-shadow: 0 8px 24px rgba(19,35,63,.045);
}

.wz-hr-page > .d-flex.justify-content-between:first-child h4,
.wz-hr-page > .d-flex.justify-content-between:first-child h1,
.wz-hr-page .d-flex.align-items-center.justify-content-between:first-child h4 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.wz-hr-page > .d-flex.justify-content-between:first-child p,
.wz-hr-page .d-flex.align-items-center.justify-content-between:first-child p {
    font-size: 13px;
    color: var(--wz-hr-muted) !important;
}

.wz-hr-page .card {
    border: 1px solid var(--wz-hr-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(19,35,63,.045) !important;
    background: var(--wz-hr-surface);
    overflow: hidden;
}

.wz-hr-page .card-header {
    background: #fff !important;
    border-bottom: 1px solid var(--wz-hr-line) !important;
    padding: 16px 18px !important;
}

.wz-hr-page .card-header h6 {
    font-size: 15px;
    font-weight: 700;
}

.wz-hr-page .card-body { padding: 18px !important; }
.wz-hr-page .card-body.p-0 { padding: 0 !important; }
.wz-hr-page .card-footer { background: #fff; border-top: 1px solid var(--wz-hr-line); }

.wz-hr-page .btn {
    min-height: 38px;
    border-radius: 10px !important;
    font-weight: 600;
    letter-spacing: -.01em;
}

.wz-hr-page .btn-primary {
    box-shadow: 0 5px 12px rgba(13,110,253,.18);
}

.wz-hr-page .form-control,
.wz-hr-page .form-select {
    min-height: 42px;
    border-color: #dce2ec !important;
    border-radius: 10px !important;
    background: #fff;
}

.wz-hr-page textarea.form-control { min-height: 90px; }
.wz-hr-page .form-label { font-size: 12px; color: #596681; font-weight: 600; margin-bottom: 7px; }
.wz-hr-page .form-control:focus,
.wz-hr-page .form-select:focus {
    border-color: rgba(13,110,253,.55) !important;
    box-shadow: 0 0 0 .2rem rgba(13,110,253,.08) !important;
}

.wz-hr-page .table { margin-bottom: 0; }
.wz-hr-page .table thead th {
    background: #f8faff;
    color: #65718b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .045em;
    border-bottom: 1px solid var(--wz-hr-line) !important;
    white-space: nowrap;
}
.wz-hr-page .table tbody td {
    color: #253451;
    font-size: 13px;
    vertical-align: middle;
    border-color: #eef1f6 !important;
}
.wz-hr-page .table tbody tr:hover { background: #fbfcff; }

.wz-hr-page .badge {
    border-radius: 999px;
    padding: 6px 9px;
    font-size: 10px;
    font-weight: 700;
}

.wz-hr-page .alert {
    border-radius: 12px;
    border: 1px solid transparent;
}

/* Dashboard */
.wz-hr-dashboard .wz-hr-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.wz-hr-kpi {
    position:relative;
    display:block;
    color:inherit;
    text-decoration:none;
    background:#fff;
    border:1px solid var(--wz-hr-line);
    border-radius:16px;
    padding:18px;
    min-height:138px;
    box-shadow:0 8px 24px rgba(19,35,63,.045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.wz-hr-kpi:hover { transform:translateY(-2px); color:inherit; text-decoration:none; box-shadow:0 12px 30px rgba(19,35,63,.09); border-color:#dbe5fb; }
.wz-hr-kpi .kpi-icon {
    width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:15px;
}
.wz-hr-kpi .kpi-title { font-size:12px; color:var(--wz-hr-muted); font-weight:600; }
.wz-hr-kpi .kpi-value { margin-top:3px; font-size:28px; line-height:1.05; font-weight:800; letter-spacing:-.035em; }
.wz-hr-kpi .kpi-link { position:absolute; right:16px; bottom:14px; font-size:10px; font-weight:700; color:var(--wz-hr-primary); }
.wz-hr-kpi.primary .kpi-icon { background:#eaf3ff; color:#0d6efd; }
.wz-hr-kpi.success .kpi-icon { background:#eaf9f1; color:#16a34a; }
.wz-hr-kpi.warning .kpi-icon { background:#fff6e6; color:#d97706; }
.wz-hr-kpi.info .kpi-icon { background:#eaf8fb; color:#0891b2; }

.wz-hr-section-title { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:14px; }
.wz-hr-section-title h6 { margin:0; font-size:15px; font-weight:750; }
.wz-hr-section-title p { margin:4px 0 0; color:var(--wz-hr-muted); font-size:11px; }

.wz-hr-dashboard .wz-hr-stat-card {
    display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:105px;
}
.wz-hr-dashboard .wz-hr-stat-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#f1f5ff; color:#0d6efd; flex:0 0 auto; }
.wz-hr-dashboard .wz-hr-stat-label { color:var(--wz-hr-muted); font-size:11px; }
.wz-hr-dashboard .wz-hr-stat-value { font-size:20px; font-weight:800; margin-top:4px; }

.wz-hr-dashboard .wz-bar-chart { height:220px; display:flex; align-items:flex-end; gap:10px; }
.wz-hr-dashboard .wz-bar-item { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; min-width:0; height:100%; }
.wz-hr-dashboard .wz-bar { width:100%; max-width:34px; min-height:5px; background:linear-gradient(180deg,#4f9cff 0%,#0d6efd 100%); border-radius:7px 7px 4px 4px; }
.wz-hr-dashboard .wz-bar-label { color:var(--wz-hr-muted); font-size:9px; margin-top:8px; white-space:nowrap; }

.wz-hr-dashboard .wz-hr-list-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 18px; border-bottom:1px solid #eef1f6; }
.wz-hr-dashboard .wz-hr-list-item:last-child { border-bottom:0; }
.wz-hr-dashboard .wz-hr-avatar { width:38px; height:38px; border-radius:50%; background:#eef4ff; color:#0d6efd; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; flex:0 0 auto; }

/* Generic KPI blocks on inner HR pages */
.wz-hr-page .row.gy-4 > [class*="col-"] > .card,
.wz-hr-page .row.g-4 > [class*="col-"] > .card,
.wz-hr-page .row.g-3 > [class*="col-"] > .card { height:100%; }

/* Tailwind-like legacy HR pages: turn the unprefixed utilities into the new design without relying on a CSS build. */
.wz-hr-page .space-y-6 > * + * { margin-top:20px; }
.wz-hr-page .space-y-3 > * + * { margin-top:12px; }
.wz-hr-page .space-y-2 > * + * { margin-top:8px; }
.wz-hr-page .grid { display:grid; gap:16px; }
.wz-hr-page .grid-cols-1 { grid-template-columns:repeat(1,minmax(0,1fr)); }
.wz-hr-page .grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.wz-hr-page .grid-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wz-hr-page .grid-cols-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.wz-hr-page .md\\:grid-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wz-hr-page .lg\\:grid-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.wz-hr-page .lg\\:col-span-2 { grid-column:span 2 / span 2; }
.wz-hr-page .rounded-xl { border-radius:16px !important; }
.wz-hr-page .rounded-lg { border-radius:10px !important; }
.wz-hr-page .rounded { border-radius:8px !important; }
.wz-hr-page .border { border:1px solid var(--wz-hr-line) !important; }
.wz-hr-page .bg-white { background:#fff !important; }
.wz-hr-page .overflow-x-auto { overflow-x:auto; }
.wz-hr-page .p-4 { padding:18px !important; }
.wz-hr-page .p-5 { padding:20px !important; }
.wz-hr-page .p-6 { padding:24px !important; }
.wz-hr-page .p-8 { padding:32px !important; }
.wz-hr-page .px-3 { padding-left:12px; padding-right:12px; }
.wz-hr-page .py-2 { padding-top:8px; padding-bottom:8px; }
.wz-hr-page .text-xs { font-size:11px !important; }
.wz-hr-page .text-sm { font-size:12px !important; }
.wz-hr-page .text-2xl { font-size:24px !important; }
.wz-hr-page .font-bold { font-weight:750 !important; }
.wz-hr-page .font-semibold { font-weight:650 !important; }
.wz-hr-page .text-gray-500,
.wz-hr-page .text-gray-600 { color:var(--wz-hr-muted) !important; }
.wz-hr-page .bg-gray-50 { background:#f8faff !important; }
.wz-hr-page .bg-gray-900 { background:#13233f !important; }
.wz-hr-page .text-indigo-600 { color:#0d6efd !important; }
.wz-hr-page .bg-indigo-600 { background:#0d6efd !important; }
.wz-hr-page .text-green-700 { color:#15803d !important; }
.wz-hr-page .text-left { text-align:left !important; }
.wz-hr-page input.border,
.wz-hr-page select.border,
.wz-hr-page textarea.border { min-height:42px; padding:10px 12px; background:#fff; }
.wz-hr-page button { border:0; font:inherit; }
.wz-hr-page table.min-w-full { width:100%; }
.wz-hr-page table.min-w-full th { padding:11px 14px; background:#f8faff; color:#65718b; font-size:11px; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--wz-hr-line); }
.wz-hr-page table.min-w-full td { padding:13px 14px; border-bottom:1px solid #eef1f6; font-size:13px; }
.wz-hr-page .hover\\:bg-gray-50:hover { background:#fbfcff !important; }

/* HR page-specific polish */
.wz-hr-page .modal-content { border:1px solid var(--wz-hr-line); box-shadow:0 20px 50px rgba(19,35,63,.14); }
.wz-hr-page .modal-header,
.wz-hr-page .modal-footer { border-color:var(--wz-hr-line) !important; }
.wz-hr-page .progress { background:#edf1f7; border-radius:999px; overflow:hidden; }
.wz-hr-page .progress-bar { border-radius:999px; background:linear-gradient(90deg,#0d6efd,#4f9cff); }

@media (max-width: 1199px) {
    .wz-hr-dashboard .wz-hr-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wz-hr-page .grid-cols-6 { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .wz-hr-page { padding:14px !important; }
    .wz-hr-page .d-flex.align-items-center.justify-content-between:first-child,
    .wz-hr-page > .d-flex.justify-content-between:first-child { padding:15px; border-radius:14px; }
    .wz-hr-page > .d-flex.justify-content-between:first-child,
    .wz-hr-page .d-flex.align-items-center.justify-content-between:first-child { align-items:flex-start !important; }
    .wz-hr-dashboard .wz-hr-kpi-grid { grid-template-columns:1fr; }
    .wz-hr-page .grid-cols-2,
    .wz-hr-page .grid-cols-4,
    .wz-hr-page .grid-cols-6,
    .wz-hr-page .md\\:grid-cols-4,
    .wz-hr-page .lg\\:grid-cols-3 { grid-template-columns:1fr; }
    .wz-hr-page .lg\\:col-span-2 { grid-column:span 1 / span 1; }
}

/* HR Dashboard V2 — reference design implementation */
.wz-hr-dashboard-v2 { background: #f7f9fc; min-height: 100%; }
.wz-hr-dashboard-v2 .wz-hr-dashboard-header { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:18px; }
.wz-hr-dashboard-v2 .wz-hr-eyebrow { color:#0d6efd; font-size:12px; font-weight:700; display:flex; align-items:center; gap:7px; margin-bottom:5px; text-transform:none; }
.wz-hr-dashboard-v2 .wz-hr-eyebrow iconify-icon { font-size:16px; }
.wz-hr-dashboard-v2 .wz-hr-dashboard-header h4 { font-size:24px; line-height:1.15; margin:0; font-weight:800; letter-spacing:-.025em; }
.wz-hr-dashboard-v2 .wz-hr-dashboard-header p { margin:5px 0 0; color:#72809a; font-size:12px; }
.wz-hr-dashboard-v2 .wz-hr-dashboard-actions { display:flex; align-items:center; }
.wz-hr-dashboard-v2 .wz-hr-filter-btn { display:flex; align-items:center; gap:9px; background:#fff; color:#2c3851; border:1px solid #dde4ee; border-radius:10px; padding:10px 13px; min-height:42px; text-decoration:none; font-size:11px; font-weight:600; box-shadow:0 3px 10px rgba(24,40,72,.03); }
.wz-hr-dashboard-v2 .wz-hr-filter-btn iconify-icon:last-child { margin-left:4px; color:#8090a8; }
.wz-hr-dashboard-v2 .wz-hr-kpi-grid-v2 { gap:14px; margin-bottom:14px; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 { min-height:112px; padding:15px 16px; border:1px solid #e2e7ef; border-radius:14px; background:#fff; display:flex; align-items:center; gap:13px; position:relative; text-decoration:none; color:#16233e; box-shadow:0 5px 20px rgba(26,45,78,.035); transition:.18s ease; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2:hover { transform:translateY(-2px); box-shadow:0 11px 28px rgba(26,45,78,.09); }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 .kpi-icon { width:48px; height:48px; border-radius:15px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2.primary .kpi-icon { background:#eaf3ff; color:#1477f8; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2.success .kpi-icon { background:#e9f9f1; color:#10a46f; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2.warning .kpi-icon { background:#fff5e5; color:#e39118; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2.danger .kpi-icon { background:#ffecee; color:#e24350; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 .kpi-content { min-width:0; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 .kpi-title { display:block; font-size:11px; color:#718099; font-weight:600; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 strong { display:block; font-size:27px; line-height:1.05; letter-spacing:-.03em; margin-top:2px; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 small { display:block; font-size:10px; color:#8793a8; margin-top:4px; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 .kpi-arrow { position:absolute; right:14px; top:50%; transform:translateY(-50%); color:#8c98ac; font-size:17px; }
.wz-hr-dashboard-v2 .wz-hr-dashboard-grid { display:grid; gap:14px; margin-bottom:14px; }
.wz-hr-dashboard-v2 .top-grid { grid-template-columns: 1.55fr .9fr 1.05fr; }
.wz-hr-dashboard-v2 .mid-grid { grid-template-columns: 1.15fr .85fr; }
.wz-hr-dashboard-v2 .wz-hr-panel { background:#fff; border:1px solid #e1e7f0; border-radius:15px; box-shadow:0 5px 18px rgba(26,45,78,.035); overflow:hidden; }
.wz-hr-dashboard-v2 .wz-hr-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:15px 16px 12px; }
.wz-hr-dashboard-v2 .wz-hr-panel-head h6 { margin:0; font-size:15px; font-weight:800; letter-spacing:-.01em; }
.wz-hr-dashboard-v2 .wz-hr-panel-head p { margin:3px 0 0; font-size:10px; color:#8290a6; }
.wz-hr-dashboard-v2 .wz-hr-mini-select { display:flex; align-items:center; gap:6px; border:1px solid #e0e6ee; border-radius:9px; padding:8px 10px; color:#46546d; text-decoration:none; font-size:10px; font-weight:600; background:#fff; }
.wz-hr-dashboard-v2 .wz-panel-arrow { font-size:17px; color:#8f9bb0; margin-top:3px; }
.wz-hr-dashboard-v2 .wz-workforce-body { display:flex; align-items:center; gap:22px; padding:4px 18px 18px; min-height:225px; }
.wz-hr-dashboard-v2 .wz-donut { width:176px; height:176px; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; flex:0 0 auto; text-decoration:none; }
.wz-hr-dashboard-v2 .wz-donut::after { content:""; position:absolute; inset:32px; background:#fff; border-radius:50%; box-shadow:0 0 0 1px #eff2f7; }
.wz-hr-dashboard-v2 .wz-donut span { position:relative; z-index:2; text-align:center; }
.wz-hr-dashboard-v2 .wz-donut strong { display:block; font-size:23px; font-weight:800; }
.wz-hr-dashboard-v2 .wz-donut small { display:block; color:#7d8aa1; font-size:10px; margin-top:2px; }
.wz-hr-dashboard-v2 .wz-workforce-legend { width:100%; }
.wz-hr-dashboard-v2 .wz-legend-row { display:grid; grid-template-columns:12px 1fr auto; align-items:center; gap:8px; padding:6px 0; text-decoration:none; color:#47536b; font-size:10px; }
.wz-hr-dashboard-v2 .wz-legend-row:hover { color:#0d6efd; }
.wz-hr-dashboard-v2 .wz-dot { width:8px; height:8px; border-radius:50%; display:inline-block; }
.wz-hr-dashboard-v2 .wz-legend-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wz-hr-dashboard-v2 .wz-legend-value { color:#54637c; font-weight:700; }
.wz-hr-dashboard-v2 .wz-attendance-body { padding:3px 16px 16px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:225px; }
.wz-hr-dashboard-v2 .wz-attendance-ring { width:122px; height:122px; border-radius:50%; background:conic-gradient(#11ad85 var(--rate), #edf3ef var(--rate) 360deg); display:flex; align-items:center; justify-content:center; position:relative; }
.wz-hr-dashboard-v2 .wz-attendance-ring::after { content:""; position:absolute; inset:11px; background:#fff; border-radius:50%; }
.wz-hr-dashboard-v2 .wz-attendance-ring span { position:relative; z-index:2; text-align:center; }
.wz-hr-dashboard-v2 .wz-attendance-ring strong { display:block; font-size:20px; }
.wz-hr-dashboard-v2 .wz-attendance-ring small { font-size:9px; color:#7c8aa0; }
.wz-hr-dashboard-v2 .wz-attendance-stats { width:100%; display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px; border-top:1px solid #edf0f5; }
.wz-hr-dashboard-v2 .wz-attendance-stats div { text-align:center; padding:12px 4px 3px; border-right:1px solid #edf0f5; }
.wz-hr-dashboard-v2 .wz-attendance-stats div:last-child { border-right:0; }
.wz-hr-dashboard-v2 .wz-attendance-stats strong { display:block; font-size:14px; margin-top:3px; }
.wz-hr-dashboard-v2 .wz-attendance-stats small { color:#7d8aa1; font-size:9px; }
.wz-hr-dashboard-v2 .wz-dot.success { background:#11ad85 !important; }
.wz-hr-dashboard-v2 .wz-dot.warning { background:#ee9a21 !important; }
.wz-hr-dashboard-v2 .wz-dot.danger { background:#ec3d49 !important; }
.wz-hr-dashboard-v2 .wz-leave-summary { padding:4px 16px 17px; min-height:225px; display:flex; flex-direction:column; justify-content:center; }
.wz-hr-dashboard-v2 .wz-leave-row { display:grid; grid-template-columns:112px 1fr 52px; align-items:center; gap:10px; text-decoration:none; color:#47536b; margin:11px 0; font-size:10px; }
.wz-hr-dashboard-v2 .wz-leave-row strong { font-size:10px; text-align:right; color:#5d6b83; }
.wz-hr-dashboard-v2 .wz-progress { height:9px; background:#edf2f7; border-radius:999px; overflow:hidden; }
.wz-hr-dashboard-v2 .wz-progress span { display:block; height:100%; border-radius:999px; background:#1682f7; }
.wz-hr-dashboard-v2 .wz-task-list, .wz-hr-dashboard-v2 .wz-upcoming-list { padding:0 12px 7px; }
.wz-hr-dashboard-v2 .wz-task-row, .wz-hr-dashboard-v2 .wz-upcoming-row { display:grid; grid-template-columns:42px 1fr auto 76px; align-items:center; gap:10px; min-height:58px; padding:7px 4px; border-top:1px solid #eef2f6; text-decoration:none; color:#43516b; }
.wz-hr-dashboard-v2 .wz-upcoming-row { grid-template-columns:42px 1fr auto auto; }
.wz-hr-dashboard-v2 .wz-task-row:hover, .wz-hr-dashboard-v2 .wz-upcoming-row:hover { background:#fbfcff; border-radius:10px; }
.wz-hr-dashboard-v2 .wz-task-icon { width:34px; height:34px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:17px; }
.wz-hr-dashboard-v2 .wz-task-icon.warning { background:#fff5e5; color:#dc921e; }
.wz-hr-dashboard-v2 .wz-task-icon.danger { background:#ffebee; color:#e04b56; }
.wz-hr-dashboard-v2 .wz-task-icon.success { background:#e9f9f1; color:#10a46f; }
.wz-hr-dashboard-v2 .wz-task-main { min-width:0; }
.wz-hr-dashboard-v2 .wz-task-main strong { display:block; font-size:11px; color:#17253f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wz-hr-dashboard-v2 .wz-task-main small { display:block; font-size:9px; color:#8994a7; margin-top:2px; }
.wz-hr-dashboard-v2 .wz-task-row time { color:#718098; font-size:9px; text-align:right; white-space:nowrap; }
.wz-hr-dashboard-v2 .wz-task-status, .wz-hr-dashboard-v2 .wz-leave-type { display:inline-flex; align-items:center; justify-content:center; padding:5px 9px; border-radius:999px; font-size:9px; font-weight:700; white-space:nowrap; }
.wz-hr-dashboard-v2 .wz-task-status.warning { background:#fff3df; color:#d38413; }
.wz-hr-dashboard-v2 .wz-task-status.danger { background:#ffebed; color:#df3c48; }
.wz-hr-dashboard-v2 .wz-task-status.success { background:#e7f8ef; color:#16966a; }
.wz-hr-dashboard-v2 .wz-person-avatar { width:38px; height:38px; border-radius:50%; background:#eef3fa; color:#56667f; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex:0 0 auto; }
.wz-hr-dashboard-v2 .wz-leave-type.approved { background:#e8f3ff; color:#1373e7; }
.wz-hr-dashboard-v2 .wz-leave-type.pending { background:#fff2da; color:#d98c16; }
.wz-hr-dashboard-v2 .wz-leave-dates { display:flex; align-items:center; gap:6px; color:#64738d; font-size:9px; white-space:nowrap; }
.wz-hr-dashboard-v2 .wz-hr-view-all { font-size:10px; font-weight:700; color:#0877ef; text-decoration:none; }
.wz-hr-dashboard-v2 .wz-empty-state, .wz-hr-dashboard-v2 .wz-empty-mini { color:#8a95a7; text-align:center; font-size:10px; padding:25px 15px; }
.wz-hr-dashboard-v2 .wz-employees-panel { margin-bottom:0; }
.wz-hr-dashboard-v2 .wz-employees-head { align-items:center; padding-bottom:8px; }
.wz-hr-dashboard-v2 .wz-employees-toolbar { display:flex; align-items:center; gap:8px; }
.wz-hr-dashboard-v2 .wz-inline-search { min-width:245px; height:38px; border:1px solid #dde4ed; border-radius:9px; display:flex; align-items:center; gap:8px; padding:0 12px; color:#93a0b3; font-size:10px; }
.wz-hr-dashboard-v2 .wz-add-btn { min-height:38px; padding:0 13px; display:inline-flex; align-items:center; gap:6px; border-radius:9px; background:#0d78ef; color:#fff; text-decoration:none; font-size:10px; font-weight:700; box-shadow:0 5px 13px rgba(13,120,239,.18); }
.wz-hr-dashboard-v2 .wz-employee-tabs { display:flex; gap:6px; padding:0 16px 12px; border-bottom:1px solid #eef1f5; }
.wz-hr-dashboard-v2 .wz-employee-tabs a { color:#67758e; text-decoration:none; font-size:10px; font-weight:600; padding:8px 10px; border-radius:8px; }
.wz-hr-dashboard-v2 .wz-employee-tabs a.active { background:#eaf3ff; color:#0d6efd; }
.wz-hr-dashboard-v2 .wz-employee-table { width:100%; border-collapse:separate; border-spacing:0; }
.wz-hr-dashboard-v2 .wz-employee-table th { background:#f8faff; color:#65718b; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:11px 12px; border-bottom:1px solid #e9edf3; white-space:nowrap; }
.wz-hr-dashboard-v2 .wz-employee-table td { padding:11px 12px; border-bottom:1px solid #eef1f5; color:#53617a; font-size:10px; vertical-align:middle; }
.wz-hr-dashboard-v2 .wz-employee-table tr:hover td { background:#fbfcff; }
.wz-hr-dashboard-v2 .wz-employee-name { display:flex; align-items:center; gap:9px; text-decoration:none; color:inherit; }
.wz-hr-dashboard-v2 .wz-employee-name strong { display:block; color:#1b2942; font-size:10px; }
.wz-hr-dashboard-v2 .wz-employee-name small { display:block; color:#8b96a8; margin-top:2px; font-size:8px; }
.wz-hr-dashboard-v2 .wz-status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 8px; font-size:9px; font-weight:700; white-space:nowrap; }
.wz-hr-dashboard-v2 .wz-status-badge span { width:6px; height:6px; border-radius:50%; background:currentColor; }
.wz-hr-dashboard-v2 .wz-status-badge.active { background:#e7f8ef; color:#119b6e; }
.wz-hr-dashboard-v2 .wz-status-badge.other { background:#f3f5f8; color:#7b879b; }
.wz-hr-dashboard-v2 .wz-row-actions { display:flex; gap:5px; }
.wz-hr-dashboard-v2 .wz-row-actions a { width:27px; height:27px; display:flex; align-items:center; justify-content:center; border:1px solid #e1e6ed; border-radius:7px; color:#6e7c92; text-decoration:none; background:#fff; }
.wz-hr-dashboard-v2 .wz-row-actions a:hover { color:#0d6efd; border-color:#bcd6fb; background:#f7fbff; }
@media (max-width: 1199px) {
    .wz-hr-dashboard-v2 .top-grid { grid-template-columns:1fr 1fr; }
    .wz-hr-dashboard-v2 .top-grid > .wz-hr-panel:last-child { grid-column:1 / -1; }
}
@media (max-width: 900px) {
    .wz-hr-dashboard-v2 .mid-grid { grid-template-columns:1fr; }
    .wz-hr-dashboard-v2 .wz-task-row { grid-template-columns:38px 1fr auto; }
    .wz-hr-dashboard-v2 .wz-task-row time { display:none; }
    .wz-hr-dashboard-v2 .wz-upcoming-row { grid-template-columns:38px 1fr; }
    .wz-hr-dashboard-v2 .wz-leave-type, .wz-hr-dashboard-v2 .wz-leave-dates { grid-column:2; }
}
@media (max-width: 767px) {
    .wz-hr-dashboard-v2 .wz-hr-dashboard-header { flex-direction:column; align-items:flex-start; }
    .wz-hr-dashboard-v2 .wz-hr-dashboard-actions { width:100%; }
    .wz-hr-dashboard-v2 .wz-filter-btn { width:100%; }
    .wz-hr-dashboard-v2 .top-grid { grid-template-columns:1fr; }
    .wz-hr-dashboard-v2 .top-grid > .wz-hr-panel:last-child { grid-column:auto; }
    .wz-hr-dashboard-v2 .wz-workforce-body { flex-direction:column; }
    .wz-hr-dashboard-v2 .wz-donut { width:150px; height:150px; }
    .wz-hr-dashboard-v2 .wz-inline-search { min-width:0; flex:1; }
    .wz-hr-dashboard-v2 .wz-employees-toolbar { width:100%; }
    .wz-hr-dashboard-v2 .wz-employees-head { flex-direction:column; align-items:flex-start; }
}

/* ======================================================================
   HR SUITE V3 — production UI/UX system
   Purpose: elevate every HR page to one coherent, modern ERP experience.
   ====================================================================== */
.wz-hr-v3 {
    --hr3-ink: #10213f;
    --hr3-copy: #31415e;
    --hr3-muted: #7a879f;
    --hr3-line: #e6ebf2;
    --hr3-bg: #f4f7fb;
    --hr3-surface: #ffffff;
    --hr3-primary: #0b7ff3;
    --hr3-primary-2: #36a0ff;
    --hr3-success: #0ea878;
    --hr3-warning: #e99a27;
    --hr3-danger: #e04c5a;
    --hr3-purple: #7457ea;
    position: relative;
    background:
        radial-gradient(circle at 100% 0%, rgba(54,160,255,.07), transparent 26%),
        linear-gradient(180deg, #f8faff 0%, var(--hr3-bg) 100%);
    min-height: calc(100vh - 57px);
    padding: 22px 24px 40px !important;
    color: var(--hr3-copy);
}

.wz-hr-v3 .text-secondary-light { color: var(--hr3-muted) !important; }
.wz-hr-v3 h1, .wz-hr-v3 h2, .wz-hr-v3 h3, .wz-hr-v3 h4, .wz-hr-v3 h5, .wz-hr-v3 h6 { color: var(--hr3-ink); }

/* Shared page header / hero */
.wz-hr-v3 > .d-flex.justify-content-between:first-child,
.wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    align-items: center !important;
    min-height: 94px;
    padding: 18px 20px !important;
    margin-bottom: 18px !important;
    border-radius: 18px !important;
    border: 1px solid #e0e7f1 !important;
    background:
        linear-gradient(115deg, rgba(255,255,255,.98) 0%, rgba(249,252,255,.98) 72%, rgba(238,247,255,.98) 100%);
    box-shadow: 0 14px 34px rgba(26,47,78,.055) !important;
}
.wz-hr-v3 > .d-flex.justify-content-between:first-child::after,
.wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -86px;
    top: -82px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(35,142,247,.13) 0%, rgba(35,142,247,0) 68%);
    pointer-events: none;
    z-index: -1;
}
.wz-hr-v3 > .d-flex.justify-content-between:first-child h4,
.wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child h4 {
    margin: 0 0 4px !important;
    font-size: 27px !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -.03em;
}
.wz-hr-v3 > .d-flex.justify-content-between:first-child p,
.wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child p {
    font-size: 12px !important;
    color: var(--hr3-muted) !important;
}
.wz-hr-v3 > .d-flex.justify-content-between:first-child .btn,
.wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child .btn {
    border-radius: 11px !important;
    min-height: 40px;
    padding: 0 14px !important;
    font-size: 11px;
}
.wz-hr-v3 .btn-primary {
    background: linear-gradient(135deg, var(--hr3-primary), var(--hr3-primary-2)) !important;
    border-color: transparent !important;
    box-shadow: 0 7px 17px rgba(11,127,243,.18) !important;
}
.wz-hr-v3 .btn-light {
    background: #fff !important;
    border-color: #dfe5ee !important;
    color: #47566f !important;
}
.wz-hr-v3 .btn-success { box-shadow: 0 7px 16px rgba(14,168,120,.14) !important; }
.wz-hr-v3 .btn-warning { box-shadow: 0 7px 16px rgba(233,154,39,.14) !important; }

/* Common surfaces */
.wz-hr-v3 .card,
.wz-hr-v3 .list-group,
.wz-hr-v3 .modal-content {
    border: 1px solid var(--hr3-line) !important;
    border-radius: 16px !important;
    background: var(--hr3-surface) !important;
    box-shadow: 0 8px 24px rgba(26,47,78,.045) !important;
}
.wz-hr-v3 .card:hover { box-shadow: 0 12px 30px rgba(26,47,78,.065) !important; }
.wz-hr-v3 .card-header {
    padding: 15px 18px !important;
    background: linear-gradient(180deg,#fff 0%,#fbfcfe 100%) !important;
}
.wz-hr-v3 .card-header h6 { font-size: 14px !important; font-weight: 800 !important; }
.wz-hr-v3 .card-header p { font-size: 10px !important; }
.wz-hr-v3 .card-body { padding: 18px !important; }
.wz-hr-v3 .card-body.p-0 { padding: 0 !important; }
.wz-hr-v3 .card-footer { padding: 13px 18px !important; background: #fbfcfe !important; border-color: var(--hr3-line) !important; }

/* Filter blocks */
.wz-hr-v3 .row.g-3.mb-20 > [class*="col-"] > .card,
.wz-hr-v3 .row.g-3.mb-3 > [class*="col-"] > .card {
    min-height: 82px;
    border-radius: 14px !important;
    background: linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
}
.wz-hr-v3 .form-label {
    font-size: 10px !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #6b7890 !important;
    font-weight: 800 !important;
}
.wz-hr-v3 .form-control,
.wz-hr-v3 .form-select {
    min-height: 43px !important;
    border-radius: 11px !important;
    border: 1px solid #dfe5ef !important;
    background: #fff !important;
    color: #2e3d58 !important;
    font-size: 12px !important;
}
.wz-hr-v3 .form-control:focus,
.wz-hr-v3 .form-select:focus {
    border-color: #8ec8ff !important;
    box-shadow: 0 0 0 4px rgba(11,127,243,.08) !important;
}
.wz-hr-v3 .navbar-search { border: 1px solid #dfe5ef !important; border-radius: 11px !important; background: #fff !important; }
.wz-hr-v3 .navbar-search input { font-size: 12px !important; }

/* Metrics / KPI cards across inner pages */
.wz-hr-v3 .wz-hr-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 14px !important;
}
.wz-hr-v3 .wz-hr-kpi {
    min-height: 132px !important;
    padding: 18px !important;
    border-radius: 16px !important;
    border: 1px solid #e0e7f0 !important;
    background: linear-gradient(145deg,#ffffff 0%,#f9fbff 100%) !important;
    box-shadow: 0 8px 22px rgba(25,45,76,.045) !important;
}
.wz-hr-v3 .wz-hr-kpi:hover { transform: translateY(-3px); border-color:#cfe3fb !important; }
.wz-hr-v3 .wz-hr-kpi .kpi-icon { width: 46px !important; height: 46px !important; border-radius: 14px !important; margin-bottom: 12px !important; }
.wz-hr-v3 .wz-hr-kpi .kpi-title { font-size: 10px !important; font-weight: 750 !important; }
.wz-hr-v3 .wz-hr-kpi .kpi-value { font-size: 27px !important; margin-top: 4px !important; }
.wz-hr-v3 .wz-hr-kpi .kpi-link { right: 16px !important; bottom: 14px !important; font-size: 10px !important; }

/* Small summary metric cards */
.wz-hr-v3 .row.gy-4.mb-20 > [class*="col-"] > .card,
.wz-hr-v3 .row.g-3.mb-20 > [class*="col-"] > .card {
    position: relative;
    min-height: 104px;
    overflow: hidden;
}
.wz-hr-v3 .row.gy-4.mb-20 > [class*="col-"] > .card::after,
.wz-hr-v3 .row.g-3.mb-20 > [class*="col-"] > .card::after {
    content: "";
    position: absolute;
    width: 80px;
    height: 80px;
    right: -30px;
    top: -30px;
    border-radius: 50%;
    background: rgba(11,127,243,.05);
    pointer-events: none;
}
.wz-hr-v3 .row.gy-4.mb-20 > [class*="col-"] h3,
.wz-hr-v3 .row.gy-4.mb-20 > [class*="col-"] h4,
.wz-hr-v3 .row.g-3.mb-20 > [class*="col-"] h3,
.wz-hr-v3 .row.g-3.mb-20 > [class*="col-"] h4 { font-size: 25px !important; font-weight: 800 !important; letter-spacing: -.03em; }

/* Tables */
.wz-hr-v3 .table-responsive { border-radius: 14px; }
.wz-hr-v3 .table { --bs-table-bg: transparent; }
.wz-hr-v3 .table thead th {
    padding: 12px 13px !important;
    background: #f6f9fd !important;
    color: #68758b !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-color: #e9edf3 !important;
}
.wz-hr-v3 .table tbody td {
    padding: 13px 13px !important;
    font-size: 11px !important;
    color: #33435f !important;
    border-color: #edf1f5 !important;
}
.wz-hr-v3 .table tbody tr { transition: background .15s ease, transform .15s ease; }
.wz-hr-v3 .table tbody tr:hover { background:#fbfdff !important; }
.wz-hr-v3 .table tfoot td { background:#f8faff !important; border-color:#e9edf3 !important; }
.wz-hr-v3 .badge { font-size: 9px !important; padding: 6px 9px !important; }

/* Empty states */
.wz-hr-v3 .text-center.py-40,
.wz-hr-v3 .text-center.py-50,
.wz-hr-v3 .text-center.py-60 { color: #8a95a7 !important; }
.wz-hr-v3 .text-center.py-40::before,
.wz-hr-v3 .text-center.py-50::before,
.wz-hr-v3 .text-center.py-60::before { content:""; display:block; width:42px; height:42px; margin:0 auto 10px; border-radius:14px; background:linear-gradient(145deg,#edf5ff,#f6f9fd); border:1px solid #e1ebf8; }

/* Automation & Management Intelligence */
.wz-hr-automation .wz-hr-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; margin-bottom: 16px !important; }
.wz-hr-automation .wz-hr-kpi { min-height: 132px !important; }
.wz-hr-automation .row.g-3.mb-20 { margin-bottom: 16px !important; }
.wz-hr-automation .row.g-3.mb-20 > [class*="col-"] .card { min-height: 94px; }
.wz-hr-automation #hr-task-list { overflow: hidden; }
.wz-hr-automation #hr-task-list .table tbody td:first-child { min-width: 260px; }
.wz-hr-automation .wz-hr-kpi.primary { background: linear-gradient(145deg,#fff,#f4f9ff) !important; }
.wz-hr-automation .wz-hr-kpi.warning { background: linear-gradient(145deg,#fff,#fffaf0) !important; }
.wz-hr-automation .wz-hr-kpi.info { background: linear-gradient(145deg,#fff,#f2fbfd) !important; }

/* HR & Payroll Intelligence */
.wz-hr-intelligence .row.gy-4.mb-20 { row-gap: 14px !important; }
.wz-hr-intelligence .row.gy-4.mb-20 > [class*="col-"] > .card { min-height: 116px; }
.wz-hr-intelligence .row.gy-4.mb-20:nth-of-type(2) > [class*="col-"] > .card { min-height: 90px; }
.wz-hr-intelligence .progress { height: 9px !important; background:#edf3f8 !important; }
.wz-hr-intelligence .progress-bar { background:linear-gradient(90deg,#0b7ff3,#44a8ff) !important; }
.wz-hr-intelligence .card-body.p-0 { overflow: hidden; }

/* HR Reports */
.wz-hr-reports .row.gy-4.mb-20 { row-gap: 14px !important; }
.wz-hr-reports .row.gy-4.mb-20 .card { min-height: 112px; }
.wz-hr-reports .card:first-child .border.rounded-12 { border-color:#e4eaf3 !important; background:#f8fbff !important; }

/* Attendance */
.wz-hr-attendance .row.g-3.mb-20 { margin-bottom: 16px !important; }
.wz-hr-attendance .row.g-3.mb-20 > [class*="col-"] > .card { min-height: 89px; }
.wz-hr-attendance .row.g-4 { align-items: stretch; }
.wz-hr-attendance .row.g-4 > .col-xl-8 .card,
.wz-hr-attendance .row.g-4 > .col-xl-4 .card { height: 100%; }
.wz-hr-attendance .row.g-4 > .col-xl-4 .card { position: sticky; top: 82px; }
.wz-hr-attendance .row.g-4 > .col-xl-4 .card-header { background:linear-gradient(145deg,#f5faff,#fff) !important; }

/* Leave management */
.wz-hr-leave-management .row.g-3.mb-20 { margin-bottom: 16px !important; }
.wz-hr-leave-management .row.g-3.mb-20 > [class*="col-"] > .card { min-height: 88px; }
.wz-hr-leave-management .row.g-4 > .col-xl-4 .card { position: sticky; top:82px; }

/* Employees & records */
.wz-hr-employee-list .table tbody tr td:first-child,
.wz-hr-employee-records .list-group-item { font-weight: 600; }
.wz-hr-employee-list .table tbody tr:hover td:first-child { color:var(--hr3-primary) !important; }
.wz-hr-employee-list .modal-dialog,
.wz-hr-employee-records .modal-dialog { max-width: 1100px; }
.wz-hr-employee-records .row.g-3 > .col-lg-4 > .card { position:sticky; top:82px; }
.wz-hr-employee-records .list-group-item { padding: 12px 13px !important; border-color:#edf1f6 !important; }
.wz-hr-employee-records .list-group-item.active { background:linear-gradient(135deg,#0b7ff3,#3ba4ff) !important; border-color:#0b7ff3 !important; }

/* Recruitment */
.wz-hr-recruitment .row.g-3.mb-3 > [class*="col-"] > .card,
.wz-hr-recruitment .row.g-3 > [class*="col-"] > .card { height:100%; }
.wz-hr-recruitment .border.rounded { border-color:#e6ebf2 !important; background:#fbfdff; border-radius:12px !important; }
.wz-hr-recruitment .list-group-item { border:1px solid #e7ebf2 !important; border-radius:12px !important; }
.wz-hr-recruitment .list-group-item:hover { border-color:#bfdcfa !important; background:#f8fbff !important; }

/* Performance */
.wz-hr-performance .wz-hr-kpi-grid { margin-bottom:16px !important; }
.wz-hr-performance .wz-hr-avatar { width:42px !important; height:42px !important; border-radius:13px !important; background:linear-gradient(145deg,#edf5ff,#f7fbff) !important; }
.wz-hr-performance #employee-performance > .col-xl-4 .card { position:sticky; top:82px; }
.wz-hr-performance #employee-performance > .col-xl-4 button { border-color:#e3e9f1 !important; transition:.16s ease; }
.wz-hr-performance #employee-performance > .col-xl-4 button:hover { border-color:#bddbfa !important; transform:translateX(2px); }

/* Departments & positions */
.wz-hr-department-list .table tbody tr td:first-child,
.wz-hr-position-list .table tbody tr td:first-child { width:48px; color:#8a95a9 !important; }
.wz-hr-department-list .table tbody td:nth-child(3),
.wz-hr-position-list .table tbody td:nth-child(3) { font-weight:800; color:#233452 !important; }
.wz-hr-department-list .modal-content,
.wz-hr-position-list .modal-content { overflow:hidden; }

/* Payroll list / view */
.wz-hr-payroll-list .row.gy-4.mb-20 > [class*="col-"] > .card,
.wz-hr-payroll-view .row.gy-4.mb-20 > [class*="col-"] > .card { min-height: 112px; }
.wz-hr-payroll-list .table tbody td,
.wz-hr-payroll-view .table tbody td { font-variant-numeric: tabular-nums; }
.wz-hr-payroll-view .card:first-of-type { border-top: 3px solid var(--hr3-primary) !important; }
.wz-hr-payroll-view .card:first-of-type .card-body .d-flex span { background:#f7faff; border:1px solid #e9eef6; border-radius:999px; padding:6px 10px; font-size:9px !important; }
.wz-hr-payroll-view .table-responsive { border:1px solid #e9edf3; }

/* Dashboard v3 finishing touches */
.wz-hr-dashboard-v2.wz-hr-v3 { padding-top: 20px !important; }
.wz-hr-dashboard-v2 .wz-hr-kpi-v2 { box-shadow:0 9px 24px rgba(25,45,76,.045) !important; }
.wz-hr-dashboard-v2 .wz-hr-panel { box-shadow:0 9px 24px rgba(25,45,76,.045) !important; }

/* Modals */
.wz-hr-v3 .modal-backdrop { backdrop-filter: blur(2px); }
.wz-hr-v3 .modal-content { overflow:hidden; }
.wz-hr-v3 .modal-header { padding:17px 20px !important; }
.wz-hr-v3 .modal-footer { padding:14px 20px !important; border-color:var(--hr3-line) !important; }

@media (max-width: 1199px) {
    .wz-hr-v3 .wz-hr-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .wz-hr-automation .wz-hr-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 991px) {
    .wz-hr-v3 { padding: 18px 16px 32px !important; }
    .wz-hr-v3 > .d-flex.justify-content-between:first-child,
    .wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child { min-height: auto; }
    .wz-hr-attendance .row.g-4 > .col-xl-4 .card,
    .wz-hr-leave-management .row.g-4 > .col-xl-4 .card,
    .wz-hr-employee-records .row.g-3 > .col-lg-4 > .card,
    .wz-hr-performance #employee-performance > .col-xl-4 { position: static; }
}
@media (max-width: 767px) {
    .wz-hr-v3 { padding: 14px 12px 26px !important; }
    .wz-hr-v3 > .d-flex.justify-content-between:first-child,
    .wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child { padding:15px !important; border-radius:15px !important; }
    .wz-hr-v3 > .d-flex.justify-content-between:first-child h4,
    .wz-hr-v3 > .d-flex.align-items-center.justify-content-between:first-child h4 { font-size:22px !important; }
    .wz-hr-v3 .wz-hr-kpi-grid,
    .wz-hr-automation .wz-hr-kpi-grid { grid-template-columns:1fr !important; }
    .wz-hr-v3 .wz-hr-kpi { min-height:116px !important; }
    .wz-hr-v3 .table-responsive { overflow-x:auto; }
}

/* V3 signal cards used on operational HR pages */
.wz-hr-v3 .wz-hr-signal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.wz-hr-v3 .wz-hr-signal-card { min-height:96px; display:flex; align-items:center; gap:12px; padding:15px 16px; border:1px solid #e1e7ef; border-radius:15px; background:#fff; box-shadow:0 7px 20px rgba(26,47,78,.035); position:relative; overflow:hidden; }
.wz-hr-v3 .wz-hr-signal-card::after { content:""; position:absolute; right:-26px; top:-26px; width:76px; height:76px; border-radius:50%; background:currentColor; opacity:.045; }
.wz-hr-v3 .wz-hr-signal-card .signal-icon { width:42px; height:42px; border-radius:13px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:19px; background:#eef5ff; color:#0b7ff3; }
.wz-hr-v3 .wz-hr-signal-card > div { min-width:0; position:relative; z-index:1; }
.wz-hr-v3 .wz-hr-signal-card small { display:block; font-size:9px; color:#78859b; font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
.wz-hr-v3 .wz-hr-signal-card strong { display:block; margin-top:3px; color:#152641; font-size:22px; font-weight:800; letter-spacing:-.025em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wz-hr-v3 .wz-hr-signal-card em { display:block; margin-top:3px; color:#96a0b1; font-size:9px; font-style:normal; }
.wz-hr-v3 .wz-hr-signal-card.success .signal-icon { background:#e9f9f2; color:#0ea878; }
.wz-hr-v3 .wz-hr-signal-card.warning .signal-icon { background:#fff5e4; color:#e99a27; }
.wz-hr-v3 .wz-hr-signal-card.danger .signal-icon { background:#ffedf0; color:#e04c5a; }
.wz-hr-v3 .wz-hr-signal-card.info .signal-icon { background:#eaf8fb; color:#1295a8; }
.wz-hr-v3 .wz-hr-signal-card.primary .signal-icon { background:#edf4ff; color:#0b7ff3; }
.wz-hr-v3 .wz-hr-signal-card.muted .signal-icon { background:#f2f4f7; color:#7d8798; }
.wz-hr-v3 .wz-signal-text { max-width:175px; font-size:16px !important; }
@media (max-width: 1199px) { .wz-hr-v3 .wz-hr-signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) { .wz-hr-v3 .wz-hr-signal-grid { grid-template-columns:1fr; } .wz-hr-v3 .wz-signal-text { max-width:none; } }

/* Actionable signal cards */
.wz-hr-v3 .wz-hr-signal-card-link { display:block; text-decoration:none; color:inherit; min-width:0; }
.wz-hr-v3 .wz-hr-signal-card-link:hover { text-decoration:none; }
.wz-hr-v3 .wz-hr-signal-card-link .wz-hr-signal-card { height:100%; transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.wz-hr-v3 .wz-hr-signal-card-link:hover .wz-hr-signal-card { transform:translateY(-2px); border-color:#cfe2f8 !important; box-shadow:0 12px 28px rgba(26,47,78,.075); }

/* Intelligence metric treatment */
.wz-hr-intelligence .wz-intel-metric,
.wz-hr-intelligence .wz-intel-secondary {
    height:100%; min-height:112px; display:flex; align-items:center; gap:14px; padding:18px; border:1px solid #e1e7ef; border-radius:16px;
    background:linear-gradient(145deg,#fff,#f9fbff); color:inherit; text-decoration:none; box-shadow:0 8px 22px rgba(25,45,76,.04); transition:.16s ease;
}
.wz-hr-intelligence .wz-intel-metric:hover,
.wz-hr-intelligence .wz-intel-secondary:hover { transform:translateY(-2px); border-color:#cfe2f8; box-shadow:0 12px 28px rgba(25,45,76,.07); text-decoration:none; }
.wz-hr-intelligence .wz-intel-metric .intel-metric-icon,
.wz-hr-intelligence .wz-intel-secondary .intel-metric-icon { width:46px; height:46px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:14px; background:#edf5ff; color:#0b7ff3; font-size:19px; }
.wz-hr-intelligence .wz-intel-metric small,
.wz-hr-intelligence .wz-intel-secondary small { display:block; color:#7b879d; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.045em; }
.wz-hr-intelligence .wz-intel-metric strong { display:block; margin-top:4px; color:#162641; font-size:24px; line-height:1.05; letter-spacing:-.03em; }
.wz-hr-intelligence .wz-intel-metric em { display:block; margin-top:6px; color:#97a1b1; font-size:9px; font-style:normal; }
.wz-hr-intelligence .wz-intel-secondary { min-height:92px; }
.wz-hr-intelligence .wz-intel-secondary strong { display:block; margin-top:4px; color:#162641; font-size:20px; font-weight:800; }

/* ======================================================================
   Finance & Branch surfaces shown with the HR redesign set
   ====================================================================== */
.wz-finance-v3, .wz-branch-v3 {
    --biz-ink:#10213f; --biz-muted:#78869e; --biz-line:#e4e9f1; --biz-bg:#f4f7fb; --biz-blue:#0b7ff3;
    min-height:calc(100vh - 57px);
    background:linear-gradient(180deg,#f8faff 0%,#f4f7fb 100%);
    color:#31415e;
}
.wz-finance-v3 { padding:22px 24px 40px !important; }
.wz-finance-v3 > .d-flex:first-child,
.wz-branch-v3 > .flex:first-child,
.wz-finance-v3 > .flex:first-child {
    position:relative; overflow:hidden; border:1px solid var(--biz-line); border-radius:18px; background:linear-gradient(115deg,#fff,#f8fbff); padding:18px 20px; margin-bottom:18px; box-shadow:0 12px 32px rgba(26,47,78,.05);
}
.wz-finance-v3 h5, .wz-finance-v3 h6, .wz-finance-v3 h1, .wz-finance-v3 h2,
.wz-branch-v3 h1, .wz-branch-v3 h2 { color:var(--biz-ink); }
.wz-finance-v3 h5 { font-size:26px !important; font-weight:800 !important; letter-spacing:-.03em; }
.wz-finance-v3 .card,
.wz-branch-v3 .bg-white { border:1px solid var(--biz-line) !important; border-radius:16px !important; box-shadow:0 8px 24px rgba(26,47,78,.045) !important; background:#fff !important; }
.wz-finance-v3 .row.g-3.mb-4 > [class*="col-"] .card { min-height:112px; }
.wz-finance-v3 .row.g-3.mb-4 > [class*="col-"] .card-body { padding:16px 18px !important; }
.wz-finance-v3 .row.g-3.mb-4 > [class*="col-"] .w-48-px { width:46px !important; height:46px !important; border-radius:14px !important; background:#edf5ff !important; color:#0b7ff3 !important; }
.wz-finance-v3 .row.g-3.mb-4 > [class*="col-"] .h5 { font-size:23px !important; font-weight:800 !important; letter-spacing:-.025em; }
.wz-finance-v3 .card-header { background:linear-gradient(180deg,#fff,#fbfcfe) !important; border-color:var(--biz-line) !important; padding:15px 18px !important; }
.wz-finance-v3 .table thead th { background:#f6f9fd !important; color:#68758b !important; font-size:9px !important; font-weight:800 !important; text-transform:uppercase; letter-spacing:.06em; }
.wz-finance-v3 .table tbody td { font-size:11px !important; padding:12px 13px !important; border-color:#edf1f6 !important; }
.wz-finance-v3 .form-control { min-height:41px; border-radius:10px !important; border-color:#dfe5ee !important; font-size:11px !important; }

/* Financial control centre uses utility markup; recreate the utility primitives locally so no Tailwind rebuild is required. */
.wz-finance-v3.p-4 { padding:22px 24px 40px !important; }
.wz-finance-v3 .grid { display:grid !important; gap:14px !important; }
.wz-finance-v3 .grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.wz-finance-v3 .md\:grid-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.wz-finance-v3 .lg\:grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.wz-finance-v3 .space-y-6 > * + * { margin-top:16px !important; }
.wz-finance-v3 .space-y-2 > * + * { margin-top:8px !important; }
.wz-finance-v3 .rounded-lg { border-radius:16px !important; }
.wz-finance-v3 .rounded { border-radius:10px !important; }
.wz-finance-v3 .shadow { box-shadow:0 8px 24px rgba(26,47,78,.045) !important; }
.wz-finance-v3 .bg-white { border:1px solid var(--biz-line); }
.wz-finance-v3 .p-4 { padding:18px !important; }
.wz-finance-v3 .p-2 { padding:11px 12px !important; }
.wz-finance-v3 .px-3 { padding-left:12px !important; padding-right:12px !important; }
.wz-finance-v3 .py-2 { padding-top:8px !important; padding-bottom:8px !important; }
.wz-finance-v3 .text-2xl { font-size:27px !important; line-height:1.15 !important; font-weight:800 !important; letter-spacing:-.03em; }
.wz-finance-v3 .text-xl { font-size:23px !important; font-weight:800 !important; }
.wz-finance-v3 .text-xs { font-size:9px !important; }
.wz-finance-v3 .text-sm { font-size:11px !important; }
.wz-finance-v3 .text-gray-500 { color:var(--biz-muted) !important; }
.wz-finance-v3 .bg-gray-800 { background:#162641 !important; }
.wz-finance-v3 .bg-blue-600 { background:linear-gradient(135deg,#0b7ff3,#36a0ff) !important; }
.wz-finance-v3 .bg-green-600 { background:#0ea878 !important; }
.wz-finance-v3 .border { border-color:var(--biz-line) !important; }
.wz-finance-v3 table.min-w-full { width:100%; border-collapse:separate; border-spacing:0; }
.wz-finance-v3 table.min-w-full th { padding:11px 13px; background:#f6f9fd; color:#68758b; font-size:9px; text-transform:uppercase; letter-spacing:.05em; }
.wz-finance-v3 table.min-w-full td { padding:12px 13px; font-size:11px; border-bottom:1px solid #edf1f6; }
.wz-finance-v3 section { background:#fff; border:1px solid var(--biz-line); border-radius:16px; box-shadow:0 8px 24px rgba(26,47,78,.045); }
.wz-finance-v3 section h2 { font-size:15px !important; font-weight:800 !important; }
.wz-finance-v3 input, .wz-finance-v3 select { min-height:42px; border:1px solid #dfe5ee; border-radius:10px; background:#fff; }

/* Branch management */
.wz-branch-v3 { padding:22px 24px 40px !important; }
.wz-branch-v3 .p-4 { padding:16px 18px !important; }
.wz-branch-v3 .space-y-5 > * + * { margin-top:14px !important; }
.wz-branch-v3 .flex { display:flex; }
.wz-branch-v3 .flex-wrap { flex-wrap:wrap; }
.wz-branch-v3 .justify-between { justify-content:space-between; }
.wz-branch-v3 .items-center { align-items:center; }
.wz-branch-v3 .gap-3 { gap:12px; }
.wz-branch-v3 .gap-2 { gap:8px; }
.wz-branch-v3 .bg-white { background:#fff !important; }
.wz-branch-v3 .shadow { box-shadow:0 8px 24px rgba(26,47,78,.045) !important; }
.wz-branch-v3 .rounded-lg { border-radius:16px !important; }
.wz-branch-v3 .rounded-xl { border-radius:18px !important; }
.wz-branch-v3 .p-5 { padding:20px !important; }
.wz-branch-v3 .p-3 { padding:12px !important; }
.wz-branch-v3 .px-3 { padding-left:12px !important; padding-right:12px !important; }
.wz-branch-v3 .py-2 { padding-top:8px !important; padding-bottom:8px !important; }
.wz-branch-v3 .text-2xl { font-size:27px !important; line-height:1.1 !important; font-weight:800 !important; letter-spacing:-.03em; }
.wz-branch-v3 .text-xl { font-size:22px !important; font-weight:800 !important; }
.wz-branch-v3 .text-sm { font-size:11px !important; }
.wz-branch-v3 .text-xs { font-size:9px !important; }
.wz-branch-v3 .text-gray-500 { color:var(--biz-muted) !important; }
.wz-branch-v3 .text-blue-600 { color:#0b7ff3 !important; }
.wz-branch-v3 .bg-blue-600 { background:linear-gradient(135deg,#0b7ff3,#36a0ff) !important; }
.wz-branch-v3 input, .wz-branch-v3 select { min-height:42px; border:1px solid #dfe5ee; border-radius:10px; background:#fff; }
.wz-branch-v3 table.min-w-full { width:100%; border-collapse:separate; border-spacing:0; }
.wz-branch-v3 table.min-w-full th { padding:12px 13px; background:#f6f9fd; color:#68758b; font-size:9px; text-transform:uppercase; letter-spacing:.05em; }
.wz-branch-v3 table.min-w-full td { padding:13px; font-size:11px; border-bottom:1px solid #edf1f6; color:#33435f; }
.wz-branch-v3 table.min-w-full tbody tr:hover td { background:#fbfdff; }
.wz-branch-v3 .fixed.inset-0 { backdrop-filter:blur(3px); background:rgba(16,33,63,.42) !important; }
.wz-branch-v3 .fixed .max-w-3xl { max-width:940px !important; }
.wz-branch-v3 .fixed .max-h-\[90vh\] { max-height:90vh !important; }

@media (max-width: 991px) {
    .wz-finance-v3, .wz-branch-v3 { padding-left:16px !important; padding-right:16px !important; }
    .wz-finance-v3 .md\:grid-cols-4, .wz-finance-v3 .grid-cols-2, .wz-finance-v3 .lg\:grid-cols-2 { grid-template-columns:1fr !important; }
}
@media (max-width: 767px) {
    .wz-finance-v3, .wz-branch-v3 { padding:12px !important; }
    .wz-finance-v3 h5, .wz-branch-v3 .text-2xl { font-size:22px !important; }
}
.wz-branch-v3 .fixed { position:fixed; }
.wz-branch-v3 .inset-0 { inset:0; }
.wz-branch-v3 .z-50 { z-index:1050; }
.wz-branch-v3 .w-full { width:100%; }
.wz-branch-v3 .overflow-auto { overflow:auto; }
@media (min-width:768px) { .wz-branch-v3 .md\:w-96 { width:24rem; } .wz-branch-v3 .md\:grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); } .wz-branch-v3 .md\:col-span-2 { grid-column:span 2 / span 2; } }

/* ======================================================================
   Wash Zambia Laundry ERP V2.3.7 — Premium interaction + finishing layer
   Scoped to redesigned HR / Finance / Branch surfaces.
   ====================================================================== */
.wz-hr-page,
.wz-finance-v3,
.wz-branch-v4 { --wz-ease:cubic-bezier(.2,.65,.25,1); }

.wz-hr-v3 .btn,
.wz-finance-v3 .btn,
.wz-branch-v4 .btn { transition:transform .16s var(--wz-ease), box-shadow .16s var(--wz-ease), border-color .16s var(--wz-ease); }
.wz-hr-v3 .btn:hover,
.wz-finance-v3 .btn:hover,
.wz-branch-v4 .btn:hover { transform:translateY(-1px); }

/* Finance control centre */
.wz-finance-control-v2 { background:linear-gradient(180deg,#f7faff 0%,#f2f6fb 100%) !important; }
.wz-finance-control-v2 .wz-biz-hero,
.wz-branch-v4 .wz-biz-hero { position:relative; overflow:hidden; border:1px solid #e1e8f1; border-radius:20px; background:linear-gradient(110deg,#fff 0%,#f8fbff 72%,#f0f7ff 100%); padding:22px 24px; margin-bottom:18px; box-shadow:0 14px 36px rgba(25,45,76,.055); }
.wz-finance-control-v2 .wz-biz-hero::after,
.wz-branch-v4 .wz-biz-hero::after { content:""; position:absolute; width:250px; height:250px; border-radius:50%; right:-105px; top:-150px; background:radial-gradient(circle,rgba(11,127,243,.17),rgba(11,127,243,0) 68%); pointer-events:none; }
.wz-biz-eyebrow { display:flex; align-items:center; gap:7px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.10em; color:#0b7ff3; margin-bottom:6px; }
.wz-biz-eyebrow iconify-icon { font-size:13px; }
.wz-finance-control-v2 .wz-biz-hero h1,
.wz-branch-v4 .wz-biz-hero h1 { margin:0 0 5px; color:#10213f; font-size:28px !important; line-height:1.08; font-weight:800; letter-spacing:-.035em; }
.wz-finance-control-v2 .wz-biz-hero p,
.wz-branch-v4 .wz-biz-hero p { margin:0; color:#7a879b; font-size:12px; max-width:720px; }
.wz-finance-signal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.wz-finance-signal { min-height:118px; display:flex; align-items:center; gap:13px; padding:17px; border:1px solid #e1e8f1; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,45,76,.045); color:inherit; transition:.16s var(--wz-ease); }
.wz-finance-signal:hover { color:inherit; transform:translateY(-2px); box-shadow:0 13px 30px rgba(25,45,76,.08); border-color:#cfe0f4; }
.wz-finance-signal-icon { width:45px; height:45px; flex:0 0 45px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:19px; }
.wz-finance-signal.blue .wz-finance-signal-icon { background:#eaf3ff; color:#0b7ff3; }
.wz-finance-signal.orange .wz-finance-signal-icon { background:#fff6e9; color:#de8a12; }
.wz-finance-signal.red .wz-finance-signal-icon { background:#fff0f0; color:#d84d4d; }
.wz-finance-signal.violet .wz-finance-signal-icon { background:#f2efff; color:#6957d9; }
.wz-finance-signal small { display:block; color:#7b879b; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.wz-finance-signal strong { display:block; color:#142541; font-size:22px; line-height:1.05; margin-top:4px; letter-spacing:-.03em; }
.wz-finance-signal em { display:block; color:#9aa4b4; font-size:9px; font-style:normal; margin-top:6px; }
.wz-finance-control-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.wz-finance-panel { min-width:0; overflow:hidden; border:1px solid #e1e8f1; border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(25,45,76,.045); }
.wz-finance-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid #e9edf3; background:linear-gradient(180deg,#fff,#fbfcfe); }
.wz-finance-panel-head h2 { margin:0 0 3px; color:#152742; font-size:15px !important; font-weight:800 !important; }
.wz-finance-panel-head p { margin:0; color:#8995a7; font-size:10px; }
.wz-panel-count { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:30px; padding:0 9px; border-radius:999px; background:#eef5ff; color:#0b7ff3; font-size:10px; font-weight:800; }
.wz-panel-icon { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#edf5ff; color:#0b7ff3; font-size:18px; }
.wz-panel-icon.violet { background:#f2efff; color:#6957d9; }
.wz-finance-control-v2 .table thead th { padding:11px 13px !important; background:#f7f9fc !important; color:#6c7890 !important; font-size:9px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:800 !important; }
.wz-finance-control-v2 .table tbody td { padding:12px 13px !important; font-size:11px !important; }
.wz-finance-form-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr .9fr; gap:12px; padding:17px 18px; }
.wz-finance-form-grid label { display:block; margin-bottom:6px; color:#6d7990; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.wz-finance-form-grid .btn { min-height:42px; }
.wz-period-list { padding:4px 18px 10px; }
.wz-period-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 0; border-bottom:1px solid #edf1f5; }
.wz-period-row:last-child { border-bottom:0; }
.wz-period-row strong { display:block; color:#273651; font-size:11px; }
.wz-period-row small { display:block; margin-top:3px; color:#96a0b0; font-size:9px; }
.wz-status-pill { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; font-size:9px; font-weight:800; }
.wz-status-pill > span { width:6px; height:6px; border-radius:50%; background:currentColor; }
.wz-status-pill.active { background:#e9f8f1; color:#0e9b71; }
.wz-status-pill.inactive { background:#f1f3f6; color:#7a8596; }
.wz-status-pill.locked { background:#fff0f0; color:#d45454; }
.wz-text-action { border:0; background:transparent; padding:0; color:#0b7ff3; font-size:9px; font-weight:800; }

/* Branch management */
.wz-branch-v4 { background:linear-gradient(180deg,#f7faff 0%,#f2f6fb 100%) !important; }
.wz-biz-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.wz-biz-metric-card { min-height:114px; display:flex; align-items:center; gap:13px; padding:16px; border:1px solid #e1e8f1; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(25,45,76,.045); color:inherit; transition:.16s var(--wz-ease); }
.wz-biz-metric-card:hover { transform:translateY(-2px); color:inherit; box-shadow:0 13px 30px rgba(25,45,76,.08); border-color:#cfe0f4; }
.wz-biz-metric-icon { width:45px; height:45px; flex:0 0 45px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:19px; }
.wz-biz-metric-card.blue .wz-biz-metric-icon { background:#eaf3ff; color:#0b7ff3; }
.wz-biz-metric-card.green .wz-biz-metric-icon { background:#eaf8f2; color:#0e9b71; }
.wz-biz-metric-card.violet .wz-biz-metric-icon { background:#f1efff; color:#6957d9; }
.wz-biz-metric-card.orange .wz-biz-metric-icon { background:#fff6e9; color:#de8a12; }
.wz-biz-metric-card small { display:block; color:#7c879b; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.wz-biz-metric-card strong { display:block; margin-top:3px; color:#152743; font-size:23px; font-weight:800; letter-spacing:-.03em; }
.wz-biz-metric-card em { display:block; margin-top:5px; color:#9ba5b4; font-size:9px; font-style:normal; }
.wz-biz-toolbar { display:flex; justify-content:space-between; align-items:end; gap:14px; flex-wrap:wrap; padding:0 2px 13px; }
.wz-biz-toolbar h2 { margin:0 0 3px; color:#162843; font-size:16px; font-weight:800; }
.wz-biz-toolbar p { margin:0; color:#8a96a8; font-size:10px; }
.wz-biz-search { width:min(360px,100%); min-height:42px; display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid #dfe6ef; border-radius:11px; background:#fff; }
.wz-biz-search iconify-icon { color:#8995a7; font-size:17px; }
.wz-biz-search input { width:100%; border:0; outline:0; background:transparent; color:#263652; font-size:11px; }
.wz-biz-table-card { overflow:hidden; border:1px solid #e1e8f1; border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(25,45,76,.045); }
.wz-branch-v4 .table thead th { background:#f7f9fc !important; color:#6c7890 !important; font-size:9px !important; text-transform:uppercase; letter-spacing:.06em; font-weight:800 !important; padding:12px 13px !important; }
.wz-branch-v4 .table tbody td { padding:13px !important; font-size:11px !important; color:#34445f !important; border-color:#edf1f5 !important; }
.wz-branch-v4 .table tbody tr:hover td { background:#fbfdff !important; }
.wz-branch-avatar { width:38px; height:38px; flex:0 0 38px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#e8f3ff,#f1f8ff); color:#0b7ff3; font-size:17px; }
.wz-branch-v4 .table td strong { display:block; color:#223552; font-size:11px; }
.wz-branch-v4 .table td small { display:block; margin-top:3px; color:#929daf; font-size:9px; }
.wz-code-pill { display:inline-flex; padding:5px 8px; border-radius:8px; background:#f3f6fb; color:#4b5a72; font-size:9px; font-weight:800; letter-spacing:.05em; }
.wz-default-pill { display:inline-flex; margin-left:4px; padding:5px 7px; border-radius:999px; background:#eef5ff; color:#0b7ff3; font-size:8px; font-weight:800; }
.wz-action-group { display:inline-flex; gap:6px; }
.wz-icon-action { width:32px; height:32px; padding:0; border:1px solid #e1e7ef; border-radius:9px; background:#fff; color:#62718a; display:inline-flex; align-items:center; justify-content:center; transition:.15s ease; }
.wz-icon-action:hover { border-color:#bcd7f4; color:#0b7ff3; background:#f7fbff; }
.wz-empty-block { min-height:170px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; text-align:center; color:#8a96a8; }
.wz-empty-block.compact { min-height:145px; }
.wz-empty-block > span { width:46px; height:46px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; border-radius:14px; background:linear-gradient(145deg,#edf5ff,#f6f9fd); border:1px solid #e2ebf7; color:#0b7ff3; font-size:20px; }
.wz-empty-block strong { color:#43516b; font-size:12px; }
.wz-empty-block p { max-width:420px; margin:5px 0 12px; color:#9aa4b2; font-size:10px; }
.wz-pagination { padding:13px 16px; border-top:1px solid #edf1f5; background:#fbfcfe; }
.wz-pagination nav { display:flex; justify-content:flex-end; }
.wz-modal-backdrop { position:fixed; inset:0; z-index:1100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(12,27,52,.45); backdrop-filter:blur(5px); }
.wz-modal-card { width:min(920px,100%); max-height:90vh; overflow:auto; border:1px solid rgba(255,255,255,.5); border-radius:20px; background:#fff; box-shadow:0 28px 70px rgba(10,29,57,.28); }
.wz-modal-head { display:flex; justify-content:space-between; gap:18px; padding:20px 22px 16px; border-bottom:1px solid #edf1f5; background:linear-gradient(180deg,#fff,#fbfdff); }
.wz-modal-head h2 { margin:0; color:#182a47; font-size:20px; font-weight:800; }
.wz-modal-head p { margin:4px 0 0; color:#8b96a8; font-size:10px; }
.wz-modal-close { width:36px; height:36px; flex:0 0 36px; border:1px solid #e1e7ef; border-radius:10px; background:#fff; color:#728198; display:flex; align-items:center; justify-content:center; }
.wz-modal-body { padding:20px 22px; }
.wz-modal-body .form-control, .wz-modal-body .form-select { min-height:42px; font-size:11px; border-radius:10px; border-color:#dfe6ef; }
.wz-check-row { min-height:42px; display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid #e1e7ef; border-radius:11px; background:#fafcff; cursor:pointer; }
.wz-check-row input { width:16px; height:16px; accent-color:#0b7ff3; }
.wz-check-row strong { display:block; color:#2d3d58; font-size:10px; }
.wz-check-row small { display:block; color:#97a1b1; font-size:8px; margin-top:2px; }
.wz-modal-foot { display:flex; justify-content:flex-end; gap:9px; padding:15px 22px; border-top:1px solid #edf1f5; background:#fbfcfe; }

/* Automation 2.0 */
.wz-hr-automation-v2 .wz-hr-command-hero { position:relative; overflow:hidden; display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; padding:22px 22px; margin-bottom:18px; border:1px solid #e1e8f1; border-radius:19px; background:linear-gradient(110deg,#fff 0%,#f8fbff 72%,#eef7ff 100%); box-shadow:0 13px 34px rgba(25,45,76,.05); }
.wz-hr-command-hero h4 { margin:0 0 4px !important; font-size:27px !important; font-weight:800 !important; letter-spacing:-.035em; }
.wz-hr-command-hero p { margin:0; max-width:680px; color:#7b879b; font-size:11px; }
.wz-automation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.wz-automation-card { position:relative; min-height:132px; display:flex; align-items:center; gap:13px; padding:16px; overflow:hidden; border:1px solid #e1e8f1; border-radius:16px; background:#fff; color:inherit; box-shadow:0 8px 24px rgba(25,45,76,.045); transition:.16s var(--wz-ease); }
.wz-automation-card:hover { color:inherit; transform:translateY(-2px); box-shadow:0 13px 30px rgba(25,45,76,.075); border-color:#cfe0f4; }
.wz-automation-card::after { content:""; position:absolute; width:105px; height:105px; border-radius:50%; right:-48px; top:-52px; background:rgba(11,127,243,.055); }
.wz-automation-icon { width:48px; height:48px; flex:0 0 48px; display:flex; align-items:center; justify-content:center; border-radius:15px; font-size:20px; }
.wz-automation-card.primary .wz-automation-icon { background:#eaf3ff; color:#0b7ff3; }
.wz-automation-card.warning .wz-automation-icon { background:#fff6e9; color:#de8a12; }
.wz-automation-card.danger .wz-automation-icon { background:#fff0f0; color:#d84d4d; }
.wz-automation-card.info .wz-automation-icon { background:#eaf8fb; color:#0a94ad; }
.wz-automation-card.success .wz-automation-icon { background:#eaf8f2; color:#0e9b71; }
.wz-automation-content small { display:block; color:#94a0b1; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.wz-automation-content strong { display:block; margin-top:3px; color:#152743; font-size:26px; line-height:1; font-weight:800; letter-spacing:-.04em; }
.wz-automation-content em { display:block; margin-top:5px; color:#64728a; font-size:10px; font-style:normal; font-weight:700; }
.wz-automation-arrow { margin-left:auto; color:#9aa5b4; font-size:17px; }
.wz-automation-secondary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.wz-automation-secondary-card { display:flex; align-items:center; gap:10px; min-height:84px; padding:13px; border:1px solid #e1e8f1; border-radius:14px; background:#fff; box-shadow:0 7px 20px rgba(25,45,76,.035); color:inherit; transition:.15s var(--wz-ease); }
.wz-automation-secondary-card:hover { color:inherit; transform:translateY(-1px); border-color:#cfe0f4; }
.wz-secondary-icon { width:37px; height:37px; flex:0 0 37px; display:flex; align-items:center; justify-content:center; border-radius:11px; background:#f0f6ff; color:#0b7ff3; }
.wz-automation-secondary-card small { display:block; color:#8995a8; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.wz-automation-secondary-card strong { display:block; color:#1a2b47; font-size:18px; line-height:1.05; margin-top:2px; }
.wz-automation-secondary-card em { display:block; color:#a1aab8; font-size:8px; font-style:normal; margin-top:3px; }
.wz-filter-total { display:flex; flex-direction:column; justify-content:center; min-height:43px; padding:0 12px; border:1px solid #e1e7ef; border-radius:11px; background:#fbfdff; }
.wz-filter-total small { color:#8995a7; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.wz-filter-total strong { color:#22344f; font-size:17px; }

@media (max-width:1199px) {
    .wz-finance-signal-grid, .wz-biz-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wz-finance-control-grid { grid-template-columns:1fr; }
    .wz-finance-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wz-automation-secondary { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991px) {
    .wz-automation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .wz-hr-command-hero, .wz-biz-hero { align-items:flex-start !important; }
}
@media (max-width:767px) {
    .wz-finance-signal-grid, .wz-biz-metric-grid, .wz-automation-grid, .wz-automation-secondary { grid-template-columns:1fr; }
    .wz-finance-form-grid { grid-template-columns:1fr; }
    .wz-finance-control-v2 .wz-biz-hero h1, .wz-branch-v4 .wz-biz-hero h1, .wz-hr-command-hero h4 { font-size:22px !important; }
    .wz-biz-search { width:100%; }
    .wz-modal-backdrop { padding:10px; }
    .wz-modal-head, .wz-modal-body, .wz-modal-foot { padding-left:15px; padding-right:15px; }
}

/* V2.3.7 — interactive HR dashboard period control */
.wz-hr-dashboard-v2 .wz-hr-filter-btn { cursor:pointer; }
.wz-hr-dashboard-v2 .wz-hr-filter-btn select {
    appearance:none;
    -webkit-appearance:none;
    border:0;
    outline:0;
    background:transparent;
    color:#2c3851;
    font:inherit;
    font-size:11px;
    font-weight:600;
    padding:0;
    min-width:155px;
    cursor:pointer;
}

/* V2.3.7 — functional HR dashboard controls */
.wz-hr-dashboard-v2 .wz-hr-mini-select { cursor: pointer; }
.wz-hr-dashboard-v2 .wz-hr-mini-select select {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    outline: 0;
    background: transparent;
    color: #46546d;
    font: inherit;
    font-size: 10px;
    font-weight: 600;
    padding: 0;
    min-width: 115px;
    cursor: pointer;
}
.wz-hr-dashboard-v2 .wz-hr-mini-select select:focus { outline: 0; }
.wz-hr-dashboard-v2 .wz-inline-search input {
    border: 0;
    outline: 0;
    background: transparent;
    color: #273650;
    font: inherit;
    font-size: 10px;
    width: 100%;
    min-width: 0;
}
.wz-hr-dashboard-v2 .wz-inline-search input::placeholder { color: #93a0b3; opacity: 1; }
.wz-hr-dashboard-v2 .wz-employee-tabs button {
    border: 0;
    background: transparent;
    color: #67758e;
    text-decoration: none;
    font-size: 10px;
    font-weight: 600;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
}
.wz-hr-dashboard-v2 .wz-employee-tabs button.active { background: #eaf3ff; color: #0d6efd; }


/* V2.3.8.14 Branch Directory typography normalization */
.wz-branch-v4 .wz-biz-toolbar h2{font-size:28px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.025em!important;color:#10213f!important;margin:0!important}
.wz-branch-v4 .wz-biz-toolbar p{font-size:10px!important;line-height:1.45!important;color:#78869e!important;margin:4px 0 0!important}
.wz-branch-v4 .wz-biz-table-card .table thead th{font-size:8px!important;letter-spacing:.065em!important}
.wz-branch-v4 .wz-biz-table-card .table tbody td{font-size:10.5px!important}
@media(max-width:767px){.wz-branch-v4 .wz-biz-toolbar h2{font-size:22px!important}}
