.wf-wrap{display:grid;gap:18px}.wf-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.wf-toolbar select,.wf-toolbar input,.wf-toolbar button,.wf-toolbar a{min-height:40px}.wf-card{background:var(--surface,rgba(255,255,255,.04));border:1px solid var(--border,rgba(148,163,184,.22));border-radius:16px;padding:16px}.wf-table-wrap{overflow:auto;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:14px;background:var(--surface,rgba(255,255,255,.02))}.wf-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}.wf-table th,.wf-table td{padding:11px 12px;border-right:1px solid var(--border,rgba(148,163,184,.16));border-bottom:1px solid var(--border,rgba(148,163,184,.16));text-align:left;white-space:nowrap}.wf-table th{font-weight:700;background:rgba(148,163,184,.09);position:sticky;top:0;z-index:1}.wf-table tr:hover td{background:rgba(148,163,184,.05)}.wf-num{text-align:right!important;font-variant-numeric:tabular-nums}.wf-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border,rgba(148,163,184,.25));border-radius:10px;padding:9px 12px;background:transparent;color:inherit;text-decoration:none;cursor:pointer;font-weight:650}.wf-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.wf-btn.danger{background:#dc2626;color:#fff;border-color:#dc2626}.wf-btn.success{background:#16a34a;color:#fff;border-color:#16a34a}.wf-btn.sm{padding:6px 9px;font-size:12px}.wf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.wf-admin-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:16px;padding:18px;min-height:120px;background:var(--surface,rgba(255,255,255,.03));transition:.18s transform,.18s border-color}.wf-admin-card:hover{transform:translateY(-2px);border-color:#3b82f6}.wf-admin-card h3{margin:0 0 8px}.wf-admin-card p{margin:0;color:var(--muted,#94a3b8)}.wf-kpi{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.wf-kpi .wf-card{padding:14px}.wf-kpi small{display:block;color:var(--muted,#94a3b8);margin-bottom:5px}.wf-kpi b{font-size:20px;font-variant-numeric:tabular-nums}.wf-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;background:rgba(59,130,246,.12);color:#60a5fa}.wf-badge.ok{background:rgba(34,197,94,.12);color:#4ade80}.wf-badge.warn{background:rgba(245,158,11,.12);color:#fbbf24}.wf-badge.bad{background:rgba(239,68,68,.12);color:#f87171}.wf-empty{padding:28px;text-align:center;color:var(--muted,#94a3b8)}.wf-modal{position:fixed;inset:0;background:rgba(2,6,23,.66);display:none;align-items:center;justify-content:center;padding:18px;z-index:1000}.wf-modal.open{display:flex}.wf-modal-card{width:min(560px,100%);background:var(--surface-strong,#111827);border:1px solid var(--border,rgba(148,163,184,.25));border-radius:18px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.wf-form{display:grid;gap:12px}.wf-form label{display:grid;gap:6px;font-size:13px;font-weight:650}.wf-form input,.wf-form select,.wf-form textarea,.wf-toolbar select,.wf-toolbar input{width:100%;border:1px solid var(--border,rgba(148,163,184,.25));background:transparent;color:inherit;border-radius:10px;padding:10px 11px}.wf-form textarea{min-height:90px;resize:vertical}.wf-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.wf-calendar{display:grid;grid-template-columns:repeat(7,38px);gap:6px;justify-content:center}.wf-day{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;background:rgba(148,163,184,.13);position:relative}.wf-day.green{background:#22c55e;color:#052e16}.wf-day.yellow{background:#facc15;color:#422006}.wf-day.blue{background:#38bdf8;color:#082f49}.wf-day.red{background:#ef4444;color:#fff}.wf-day.gray{opacity:.45}.wf-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wf-download{position:relative}.wf-download-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;background:var(--surface-strong,#111827);border:1px solid var(--border,rgba(148,163,184,.25));border-radius:12px;padding:6px;display:none;z-index:8}.wf-download.open .wf-download-menu{display:grid}.wf-download-menu a{padding:9px 10px;border-radius:8px;text-decoration:none;color:inherit}.wf-download-menu a:hover{background:rgba(148,163,184,.08)}@media(max-width:800px){.wf-kpi{grid-template-columns:1fr 1fr}.wf-table{min-width:680px}.wf-toolbar>*{flex:1 1 160px}}

/* V3 compact management UI */
.wf-download:hover .wf-download-menu,.wf-download:focus-within .wf-download-menu{display:grid}.wf-download-menu{z-index:80;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.wf-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.wf-section-head h3,.wf-card h3{margin:0 0 6px}.wf-section-head p,.wf-card>p{margin:0;color:var(--muted,#94a3b8)}
.wf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wf-form-span{grid-column:1/-1}.wf-cell-input{min-width:90px;width:100%;padding:7px 8px;border:1px solid transparent;background:transparent;color:inherit;border-radius:8px}.wf-cell-input:focus{border-color:#3b82f6;background:rgba(59,130,246,.06)}
.wf-admin-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:14px;background:var(--surface,rgba(255,255,255,.03))}.wf-tab{border:0;background:transparent;color:inherit;padding:9px 12px;border-radius:10px;cursor:pointer;font-weight:700}.wf-tab.active{background:#2563eb;color:white}.wf-pane{display:none}.wf-pane.active{display:block}.wf-split{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:14px}.wf-compact-list{display:grid;gap:8px}.wf-compact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;align-items:center;padding:9px;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:12px;background:var(--surface,rgba(255,255,255,.02))}.wf-compact-row input,.wf-compact-row select,.wf-card input,.wf-card select,.wf-card textarea{border:1px solid var(--border,rgba(148,163,184,.25));background:transparent;color:inherit;border-radius:9px;padding:8px 9px}.wf-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important}
.wf-kpi-admin-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr);gap:14px}.wf-divider{height:1px;background:var(--border,rgba(148,163,184,.2));margin:14px 0}.wf-template-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.wf-template-chip{display:grid;gap:6px;padding:10px;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:12px;background:rgba(148,163,184,.04)}.wf-template-chip input{min-width:0;width:100%;border:0;border-bottom:1px solid var(--border,rgba(148,163,184,.2));background:transparent;color:inherit;padding:4px}.wf-template-chip-title{font-size:12px;font-weight:800;color:#60a5fa}.wf-summary{cursor:pointer;font-weight:800}.wf-dialog{width:min(820px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid var(--border,rgba(148,163,184,.25));border-radius:18px;padding:20px;background:var(--surface-strong,#111827);color:inherit}.wf-dialog::backdrop{background:rgba(2,6,23,.7)}
.wf-access-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wf-access-list{display:grid;gap:6px}.wf-access-row{display:grid;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border,rgba(148,163,184,.18));border-radius:11px}.wf-access-main small{display:block;color:var(--muted,#94a3b8)}.wf-access-title,.wf-edit-check{display:flex;align-items:center;gap:7px;white-space:nowrap}.wf-filter-picker{position:relative}.wf-filter-picker summary{list-style:none;cursor:pointer;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:9px;padding:6px 9px;font-size:12px}.wf-filter-menu{position:absolute;right:0;top:calc(100% + 5px);z-index:90;min-width:240px;max-height:300px;overflow:auto;padding:8px;background:var(--surface-strong,#111827);border:1px solid var(--border,rgba(148,163,184,.25));border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.25)}.wf-filter-menu label{display:flex;gap:7px;padding:6px;align-items:center}.wf-filter-menu input{width:auto}
@media(max-width:900px){.wf-split,.wf-kpi-admin-grid,.wf-access-columns{grid-template-columns:1fr}.wf-form-grid{grid-template-columns:1fr}.wf-form-span{grid-column:auto}.wf-access-row{grid-template-columns:1fr auto}.wf-filter-picker{grid-column:1/-1}}
.wf-calendar-modal{width:min(720px,100%)}.wf-calendar{grid-template-columns:repeat(7,minmax(38px,1fr));gap:7px;margin-top:18px}.wf-day{border:0;cursor:default}.wf-day.selected{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #2563eb}.wf-calendar-modal .wf-day{cursor:pointer}.wf-legend{justify-content:center;margin:16px 0}

/* ========================================================================
   WORKFORCE V4 — compact lists, person card dialogs, stable dropdowns
   ======================================================================== */
.wf-download-menu{left:0!important;right:auto!important;min-width:240px;max-width:min(320px,calc(100vw - 24px));white-space:nowrap}
.wf-download-menu a{display:block;min-width:0;white-space:nowrap;overflow:visible;text-overflow:clip}
.wf-modal-lock{overflow:hidden!important}
.wf-calendar-modal{width:min(660px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;padding:0 18px 18px}
.wf-modal-sticky-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 -18px 8px;padding:14px 18px;background:var(--surface-strong,#111827);border-bottom:1px solid var(--border,rgba(148,163,184,.18))}
.wf-calendar{grid-template-columns:repeat(7,42px);gap:7px;margin:12px auto 8px}.wf-calendar-modal .wf-day{width:42px;height:42px}
.wf-day.selected{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #2563eb;transform:translateY(-1px)}
.wf-att-batch-form{margin-top:10px;padding:14px}.wf-att-batch-form .wf-form-grid{grid-template-columns:1.2fr 1fr 1fr}
.wf-click-table tbody tr{cursor:pointer}.wf-click-table tbody tr:focus-visible td{background:rgba(59,130,246,.09)}

.wf-directory-table{width:100%;border-collapse:collapse;min-width:720px;font-size:13px}
.wf-directory-table th,.wf-directory-table td{padding:10px 12px;border-bottom:1px solid var(--border,rgba(148,163,184,.15));text-align:left;white-space:nowrap}
.wf-directory-table th{font-size:12px;color:var(--muted,#94a3b8);font-weight:750;background:rgba(148,163,184,.06);position:sticky;top:0;z-index:1}
.wf-directory-table tbody tr{cursor:pointer;transition:background .14s ease}
.wf-directory-table tbody tr:hover td,.wf-directory-table tbody tr:focus-visible td{background:rgba(59,130,246,.055)}
.wf-directory-table tbody tr[aria-selected="true"] td{background:rgba(59,130,246,.08)}
.wf-directory-primary{font-weight:750;color:inherit}
.wf-directory-muted{color:var(--muted,#94a3b8)}

.wf-person-dialog{width:min(860px,calc(100vw - 34px));max-height:calc(100dvh - 34px);padding:0;border:1px solid var(--border,rgba(148,163,184,.24));border-radius:18px;background:var(--surface-strong,#111827);color:inherit;box-shadow:0 30px 90px rgba(0,0,0,.4);overflow:hidden}
.wf-person-dialog::backdrop{background:rgba(2,6,23,.68);backdrop-filter:blur(2px)}
.wf-person-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 34px)}
.wf-person-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border,rgba(148,163,184,.18))}
.wf-person-head h3{margin:0;font-size:16px}.wf-person-head p{margin:2px 0 0;color:var(--muted,#94a3b8);font-size:12px}
.wf-person-close{width:36px;height:36px;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:10px;background:transparent;color:inherit;cursor:pointer;font-size:20px;line-height:1}
.wf-person-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;padding:18px;min-height:360px;overflow:auto}
.wf-person-photo{width:210px;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--border,rgba(148,163,184,.2));background:rgba(148,163,184,.08)}
.wf-person-photo-meta{display:grid;gap:8px;margin-top:10px}.wf-person-photo-meta .wf-badge{justify-self:start}
.wf-person-main{min-width:0}.wf-person-name{font-size:22px;line-height:1.15;margin:0 0 5px;font-weight:800}.wf-person-sub{color:var(--muted,#94a3b8);margin-bottom:16px}
.wf-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--border,rgba(148,163,184,.16));border-left:1px solid var(--border,rgba(148,163,184,.16));border-radius:12px;overflow:hidden}
.wf-person-field{padding:10px 12px;border-right:1px solid var(--border,rgba(148,163,184,.16));border-bottom:1px solid var(--border,rgba(148,163,184,.16));min-width:0}
.wf-person-field small{display:block;font-size:11px;color:var(--muted,#94a3b8);margin-bottom:2px}.wf-person-field b,.wf-person-field span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.wf-person-extra{margin-top:12px}.wf-person-extra summary{cursor:pointer;color:var(--muted,#94a3b8);font-size:12px;font-weight:700}.wf-person-extra .wf-person-grid{margin-top:8px}
.wf-person-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--border,rgba(148,163,184,.18));background:rgba(148,163,184,.025)}
.wf-person-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wf-person-actions form{margin:0}.wf-person-actions select,.wf-person-actions textarea{min-height:36px;border:1px solid var(--border,rgba(148,163,184,.22));background:transparent;color:inherit;border-radius:9px;padding:7px 9px}
.wf-card-loading{display:grid;place-items:center;min-height:340px;color:var(--muted,#94a3b8)}

@media(max-width:760px){
  .wf-calendar-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .wf-calendar{grid-template-columns:repeat(7,minmax(34px,1fr));width:100%}.wf-calendar-modal .wf-day{width:100%;height:38px}
  .wf-att-batch-form .wf-form-grid{grid-template-columns:1fr}
  .wf-person-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .wf-person-shell{max-height:calc(100dvh - 16px)}
  .wf-person-body{grid-template-columns:120px minmax(0,1fr);gap:14px;padding:14px;min-height:0}
  .wf-person-photo{width:120px}.wf-person-grid{grid-template-columns:1fr}.wf-person-name{font-size:18px}
}

/* ========================================================================
   WORKFORCE V5 — in-header filters, full person cards, payroll detail
   ======================================================================== */
.wf-filter-row th{position:sticky;top:39px;z-index:2;padding:6px 7px;background:var(--surface-strong,#111827)}
.wf-head-input,.wf-head-select,.wf-head-filter{box-sizing:border-box;width:100%;min-width:110px;border:1px solid var(--border,rgba(148,163,184,.24));border-radius:8px;padding:7px 8px;background:var(--surface-strong,#111827);color:inherit;font:inherit}
.wf-head-static{display:block;min-height:32px;padding:8px;color:var(--muted,#94a3b8);font-size:12px}.wf-th-label{display:block;margin-bottom:5px}.wf-month-input{max-width:190px;margin-left:auto}.wf-loading{opacity:.58;pointer-events:none}
.wf-table[hidden],.wf-table-wrap[hidden]{display:none!important}.wf-empty.compact{padding:10px 12px}

.wf-person-card{width:min(900px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0 18px 18px;overflow:auto;overflow-x:hidden}
.wf-person-layout{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:20px;align-items:start}.wf-person-left{min-width:0}.wf-person-left .wf-person-photo{width:100%;max-width:220px;aspect-ratio:3/4;object-fit:cover}.wf-person-left-data,.wf-person-left-fields{display:grid;gap:8px;margin-top:12px;min-width:0}.wf-person-main{min-width:0;display:grid;gap:16px}.wf-person-main section h4,.wf-person-main>h4{margin:0 0 10px}.wf-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border,rgba(148,163,184,.16));border-left:1px solid var(--border,rgba(148,163,184,.16));border-radius:12px;overflow:hidden;min-width:0}.wf-kv{min-width:0;padding:9px 11px;border-right:1px solid var(--border,rgba(148,163,184,.16));border-bottom:1px solid var(--border,rgba(148,163,184,.16));overflow-wrap:anywhere}.wf-kv span{display:block;color:var(--muted,#94a3b8);font-size:11px;margin-bottom:3px}.wf-kv b{display:block;font-size:13px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.wf-person-side{min-width:0}.wf-person-edit{display:grid;gap:12px;min-width:0}.wf-candidate-edit textarea{min-width:0;max-width:100%}
.wf-doc-block{border:1px solid rgba(59,130,246,.22);border-radius:14px;padding:13px;background:rgba(59,130,246,.04)}.wf-doc-danger{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.05)}.wf-archive-card{border-color:rgba(239,68,68,.35)!important}

.wf-termination-modal,.wf-compact-modal{width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0 18px;overflow:auto;overflow-x:hidden}.wf-termination-form{padding:8px 0 0}.wf-modal-sticky-actions{position:sticky;bottom:0;z-index:6;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:8px -18px 0;padding:12px 18px;background:var(--surface-strong,#111827);border-top:1px solid var(--border,rgba(148,163,184,.18))}.wf-search-hints,.wf-hints{display:grid;gap:4px;max-height:230px;overflow:auto;margin-top:4px}.wf-hint{display:grid;width:100%;gap:2px;text-align:left;border:1px solid var(--border,rgba(148,163,184,.18));background:rgba(148,163,184,.04);color:inherit;border-radius:9px;padding:8px 10px;cursor:pointer}.wf-hint:hover{border-color:#3b82f6}.wf-hint span{font-size:11px;color:var(--muted,#94a3b8)}.wf-selected-person{padding:10px 12px}.wf-selected-person small{display:block;margin-top:5px;color:var(--muted,#94a3b8)}.wf-selected-chips{display:flex;gap:6px;flex-wrap:wrap}.wf-chip{border:1px solid rgba(59,130,246,.3);background:rgba(59,130,246,.08);color:inherit;border-radius:999px;padding:6px 9px;cursor:pointer}

.wf-salary-detail{width:min(820px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0 18px 18px;overflow:auto;overflow-x:hidden}.wf-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 18px}.wf-summary-grid>div{padding:12px;border:1px solid var(--border,rgba(148,163,184,.18));border-radius:12px;min-width:0}.wf-summary-grid span{display:block;color:var(--muted,#94a3b8);font-size:11px}.wf-summary-grid b{display:block;margin-top:4px;font-size:17px;overflow-wrap:anywhere}.wf-detail-section{margin:16px 0}.wf-detail-list{display:grid;gap:7px}.wf-detail-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--border,rgba(148,163,184,.16));border-radius:11px;background:rgba(148,163,184,.025)}.wf-detail-item>div{min-width:0}.wf-detail-item strong{white-space:nowrap;font-variant-numeric:tabular-nums}.wf-negative{color:#ef4444}.wf-exempt-note{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.06)}

.wf-template-stack{display:grid;gap:10px;max-height:680px;overflow:auto}.wf-template-edit{padding:11px;border:1px solid var(--border,rgba(148,163,184,.18));border-radius:12px}.wf-template-edit .wf-form-grid{display:grid;gap:8px}.wf-template-edit label{display:grid;gap:5px;font-size:12px}.wf-template-edit input,.wf-template-edit select{width:100%;box-sizing:border-box}.wf-subcard{margin-top:12px;background:rgba(148,163,184,.025)}.wf-rule-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) minmax(120px,.7fr) auto;gap:8px;align-items:center}.wf-kpi-rule-filter{margin-bottom:12px}.wf-note a{font-weight:700}.wf-inline-edit{width:100%;min-width:160px;box-sizing:border-box}.wf-inline-number{width:90px;box-sizing:border-box}

.wf-pager{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.wf-card-close{cursor:pointer}.wf-admin-candidate{cursor:pointer}
@media(max-width:760px){
  .wf-person-card,.wf-salary-detail,.wf-termination-modal,.wf-compact-modal{width:calc(100vw - 14px);max-height:calc(100dvh - 14px)}
  .wf-person-layout{grid-template-columns:120px minmax(0,1fr);gap:12px}.wf-person-left .wf-person-photo{width:120px}.wf-kv-grid{grid-template-columns:1fr}.wf-summary-grid{grid-template-columns:1fr 1fr}.wf-detail-item{display:grid;gap:5px}.wf-rule-row{grid-template-columns:1fr}.wf-filter-row th{top:36px}.wf-month-input{margin:0;max-width:none}
}

/* ========================================================================
   WORKFORCE V6 — compact header filters, reliable dialogs, inline editors
   ======================================================================== */
.wf-directory-table{min-width:0;table-layout:auto}
.wf-directory-table th{vertical-align:middle;padding:8px 10px}
.wf-th-inline{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.wf-th-inline .wf-th-label{display:inline;margin:0;flex:0 0 auto;font-size:12px;color:inherit}
.wf-th-inline .wf-head-filter{width:auto;min-width:0;height:30px;min-height:30px;padding:4px 7px;border-radius:7px;font-size:12px;flex:1 1 105px;max-width:190px}
.wf-th-inline select.wf-head-filter{max-width:180px}
.wf-th-inline input.wf-head-filter{max-width:165px}
.wf-filter-compact-row th{padding:7px 9px!important}
.wf-filter-compact-row .wf-head-filter{height:30px;min-height:30px;padding:4px 7px;font-size:12px;min-width:90px}
.wf-filter-compact-row .wf-month-input{height:30px;min-height:30px;max-width:155px;margin:0}

.wf-modal-card.wf-person-card,.wf-modal-card.wf-salary-detail,.wf-modal-card.wf-admin-candidate-card{
  width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface-strong,#111827)
}
.wf-modal-scroll{overflow:auto;overflow-x:hidden;padding:18px;min-height:0}
.wf-modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--border,rgba(148,163,184,.18));background:var(--surface-strong,#111827)}
.wf-modal-sticky-head{margin:0;padding:12px 18px;position:relative;top:auto}
.wf-modal-close{min-width:92px}
.wf-person-layout{padding:0}
.wf-person-left-data .wf-kv,.wf-person-left-fields .wf-person-field{border:1px solid var(--border,rgba(148,163,184,.16));border-radius:9px;padding:8px 10px}
.wf-person-field b,.wf-person-field span{white-space:normal!important;text-overflow:clip!important;overflow-wrap:anywhere}
.wf-person-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wf-person-edit-grid label{display:grid;gap:5px;font-size:12px;font-weight:650}
.wf-person-edit-grid input,.wf-person-edit-grid select,.wf-person-edit-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--border,rgba(148,163,184,.25));background:transparent;color:inherit;border-radius:9px;padding:8px 9px}
.wf-person-edit-grid .wf-span-2{grid-column:1/-1}
.wf-overdue-row td{background:rgba(239,68,68,.09)!important}.wf-overdue-row:hover td{background:rgba(239,68,68,.13)!important}
.wf-overdue-text{color:#f87171;font-weight:750}
.wf-role-picker{position:relative}.wf-role-picker summary{cursor:pointer;list-style:none;border:1px solid var(--border,rgba(148,163,184,.25));border-radius:9px;padding:9px 10px}.wf-role-picker summary::-webkit-details-marker{display:none}.wf-role-menu{display:grid;gap:6px;margin-top:6px;padding:10px;max-height:260px;overflow:auto;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:10px;background:var(--surface-strong,#111827)}.wf-role-menu label{display:flex!important;align-items:center;gap:8px}.wf-role-menu input{width:auto!important}
.wf-role-manager{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr);gap:12px}.wf-role-list{display:grid;gap:7px}.wf-role-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--border,rgba(148,163,184,.18));border-radius:9px;text-decoration:none;color:inherit}.wf-role-list a.active{border-color:#3b82f6;background:rgba(59,130,246,.08)}
.wf-advance-confirm-grid{display:flex;gap:8px;flex-wrap:wrap}.wf-branch-check{display:flex;align-items:center;gap:6px;border:1px solid var(--border,rgba(148,163,184,.18));border-radius:9px;padding:7px 9px}
@media(max-width:900px){.wf-directory-table{min-width:760px}.wf-role-manager{grid-template-columns:1fr}.wf-person-edit-grid{grid-template-columns:1fr}.wf-person-edit-grid .wf-span-2{grid-column:auto}}

/* V6 archive card: readable, centered and always closable. */
.wf-archive-card-v6{width:min(980px,calc(100vw - 32px));height:min(760px,calc(100vh - 32px));max-height:calc(100vh - 32px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.wf-archive-card-v6 .wf-modal-scroll{overflow:auto;min-height:0;padding:18px 20px}
.wf-archive-card-v6 .wf-modal-footer{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--border,#263244);background:var(--panel,#111927)}
.wf-archive-card-v6 .wf-person-layout{grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:22px}
@media(max-width:760px){.wf-archive-card-v6{width:calc(100vw - 16px);height:calc(100vh - 16px)}.wf-archive-card-v6 .wf-person-layout{grid-template-columns:1fr}.wf-archive-card-v6 .wf-person-left{max-width:none}}

/* V6 compact header filters: controls sit beside labels instead of becoming a second toolbar. */
.wf-directory-table .wf-th-inline,.wf-table .wf-th-inline{display:inline-flex;align-items:center;gap:6px;width:auto;max-width:100%;white-space:nowrap}
.wf-directory-table .wf-th-inline .wf-head-filter,.wf-table .wf-th-inline .wf-head-filter{flex:0 1 auto;width:112px;max-width:112px;min-width:64px;height:28px;min-height:28px;padding:3px 7px;font-size:12px;border-radius:6px}
.wf-directory-table .wf-th-inline select.wf-head-filter,.wf-table .wf-th-inline select.wf-head-filter{width:120px;max-width:120px}
.wf-directory-table .wf-th-inline input[type="month"].wf-head-filter,.wf-table .wf-th-inline input[type="month"].wf-head-filter{width:135px;max-width:135px}

/* ========================================================================
   WORKFORCE V8 — stable SPA styles, genuinely compact filters and dialogs
   ======================================================================== */
/* Header filters must stay tiny even when legacy/global input rules use width:100%. */
.wf-directory-table,.wf-compact-filter-table{width:100%!important;min-width:0!important;table-layout:auto!important}
.wf-directory-table th,.wf-compact-filter-table th{padding:6px 8px!important;vertical-align:middle!important;white-space:nowrap!important}
.wf-directory-table .wf-th-inline,.wf-compact-filter-table .wf-th-inline,.wf-table .wf-th-inline{
  display:inline-flex!important;align-items:center!important;gap:4px!important;width:auto!important;max-width:100%!important;min-width:0!important;white-space:nowrap!important
}
.wf-directory-table .wf-th-label,.wf-compact-filter-table .wf-th-label,.wf-table .wf-th-label{
  display:inline!important;margin:0!important;font-size:11px!important;line-height:24px!important;white-space:nowrap!important
}
.wf-directory-table .wf-head-filter,.wf-compact-filter-table .wf-head-filter,.wf-table .wf-head-filter{
  box-sizing:border-box!important;display:inline-block!important;flex:0 0 86px!important;width:86px!important;max-width:86px!important;min-width:58px!important;
  height:24px!important;min-height:24px!important;padding:1px 5px!important;border-radius:5px!important;font-size:11px!important;line-height:20px!important;margin:0!important
}
.wf-directory-table input.wf-head-filter[name="q"],.wf-directory-table input.wf-head-filter[name="phone"],
.wf-compact-filter-table input.wf-head-filter,.wf-table input.wf-head-filter:not([type="month"]){flex-basis:92px!important;width:92px!important;max-width:92px!important}
.wf-directory-table select.wf-head-filter,.wf-compact-filter-table select.wf-head-filter,.wf-table select.wf-head-filter{flex-basis:98px!important;width:98px!important;max-width:98px!important;padding-right:18px!important}
.wf-directory-table input[type="month"].wf-head-filter,.wf-compact-filter-table input[type="month"].wf-head-filter,.wf-table input[type="month"].wf-head-filter{flex-basis:122px!important;width:122px!important;max-width:122px!important}
.wf-directory-table td,.wf-compact-filter-table td{padding:8px 9px!important;font-size:12px!important}

/* Dialogs are centered, sized to the viewport, with fixed header/footer and one scroll area. */
.wf-modal{padding:12px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.wf-modal-card.wf-termination-modal{width:min(720px,calc(100vw - 24px))!important;height:min(720px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;padding:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;background:var(--surface-strong,#111827)!important}
.wf-termination-modal .wf-termination-form{padding:14px 18px 0!important;overflow:auto!important;min-height:0!important;display:grid!important;gap:10px!important}
.wf-termination-modal .wf-modal-sticky-actions{margin:4px -18px 0!important;padding:10px 18px!important}
.wf-termination-modal .wf-search-hints{max-height:160px!important}
.wf-termination-modal .wf-hint{padding:7px 9px!important}
.wf-termination-modal textarea{min-height:72px!important}

.wf-modal-card.wf-admin-candidate-card,.wf-modal-card.wf-salary-detail{
  width:min(980px,calc(100vw - 24px))!important;height:min(780px,calc(100dvh - 24px))!important;max-height:calc(100dvh - 24px)!important;
  padding:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;background:var(--surface-strong,#111827)!important
}
.wf-admin-candidate-card .wf-modal-scroll,.wf-salary-detail .wf-modal-scroll{padding:16px 18px!important;overflow:auto!important;min-height:0!important}
.wf-admin-candidate-card .wf-person-layout{grid-template-columns:minmax(190px,230px) minmax(0,1fr)!important;gap:18px!important}
.wf-admin-candidate-card .wf-person-photo{width:100%!important;max-width:230px!important}
.wf-admin-candidate-card .wf-kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.wf-salary-detail .wf-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.wf-detail-item{min-width:0!important}.wf-detail-item .muted{white-space:normal!important;overflow-wrap:anywhere!important}

/* Employee inline editing: left and right columns remain editable inside the same card. */
.wf-person-edit-shell{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;gap:18px!important;width:100%!important;min-width:0!important}
.wf-person-edit-side,.wf-person-edit-main{display:grid!important;gap:10px!important;align-content:start!important;min-width:0!important}
.wf-person-edit-side label,.wf-person-edit-main label{display:grid!important;gap:4px!important;margin:0!important;font-size:11px!important;font-weight:650!important}
.wf-person-edit-side input,.wf-person-edit-side select,.wf-person-edit-main input,.wf-person-edit-main select,.wf-person-edit-main textarea{
  width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px solid var(--border,rgba(148,163,184,.25))!important;background:transparent!important;color:inherit!important;border-radius:8px!important;padding:7px 8px!important;font-size:12px!important
}
.wf-person-edit-main-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.wf-person-edit-main-grid .wf-span-2{grid-column:1/-1!important}

/* Role manager: explicit selector + compact CRUD controls. */
.wf-role-manager-v8{display:grid!important;grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;gap:14px!important}
.wf-role-selector{display:grid!important;gap:7px!important}.wf-role-selector select{height:38px!important;min-height:38px!important;padding:7px 10px!important}
.wf-role-crud{display:grid!important;gap:10px!important}.wf-role-crud .wf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.wf-role-create{display:grid!important;grid-template-columns:minmax(120px,.7fr) minmax(170px,1fr) auto!important;gap:8px!important;align-items:end!important}
.wf-role-create label{margin:0!important}.wf-role-create input{min-height:38px!important;padding:8px 10px!important}

/* KPI role multiselect: no huge left padding/gaps. */
.wf-role-picker{margin-top:5px!important}.wf-role-picker summary{padding:7px 9px!important;min-height:34px!important;display:flex!important;align-items:center!important}
.wf-role-menu{gap:2px!important;padding:6px!important;max-height:220px!important}.wf-role-menu label{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:6px!important;align-items:center!important;margin:0!important;padding:5px 6px!important;min-height:30px!important;border-radius:6px!important}
.wf-role-menu label:hover{background:rgba(148,163,184,.07)!important}.wf-role-menu input[type="checkbox"]{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;padding:0!important}.wf-role-menu small{display:inline!important;margin-left:4px!important}

/* Advance confirmation state. */
.wf-advance-state{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;padding:10px 12px!important;border:1px solid var(--border,rgba(148,163,184,.18))!important;border-radius:10px!important;background:rgba(148,163,184,.025)!important}
.wf-advance-state.pending{border-color:rgba(245,158,11,.35)!important;background:rgba(245,158,11,.06)!important}.wf-advance-state.confirmed{border-color:rgba(34,197,94,.35)!important;background:rgba(34,197,94,.06)!important}

@media(max-width:800px){
  .wf-directory-table,.wf-compact-filter-table{min-width:650px!important}
  .wf-modal-card.wf-admin-candidate-card,.wf-modal-card.wf-salary-detail,.wf-modal-card.wf-termination-modal{width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important}
  .wf-admin-candidate-card .wf-person-layout,.wf-person-edit-shell{grid-template-columns:120px minmax(0,1fr)!important}
  .wf-admin-candidate-card .wf-kv-grid,.wf-person-edit-main-grid{grid-template-columns:1fr!important}
  .wf-salary-detail .wf-summary-grid{grid-template-columns:1fr 1fr!important}
  .wf-role-manager-v8{grid-template-columns:1fr!important}.wf-role-create{grid-template-columns:1fr!important}
}

/* V8.1 KPI access picker: avoid invalid nested labels and wasted space. */
.wf-kpi-role-field{display:grid!important;gap:4px!important;min-width:0!important;align-content:start!important}
.wf-kpi-role-title{font-size:12px!important;font-weight:650!important;line-height:1.25!important;margin:0!important}
.wf-kpi-role-field .wf-role-picker{margin:0!important;min-width:0!important}
.wf-kpi-role-field .wf-role-picker summary{min-height:32px!important;padding:5px 8px!important;font-size:12px!important}
.wf-kpi-role-field .wf-role-menu{margin-top:4px!important;max-height:200px!important;padding:5px!important}
.wf-kpi-role-field .wf-role-menu label{font-size:12px!important;font-weight:500!important;line-height:1.2!important}
