/* Personnel worklists: white / teal / dark-blue, desktop 1440/1024, mobile 390. */
.psn-page { max-width: 1440px; }
.psn-toolbar { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: center; margin: 0 0 12px; }
.psn-toolbar .scope-toolbar { margin: 0; flex: 1 1 520px; }
.psn-search { min-width: min(100%, 240px); }
.psn-sub { color: var(--ink-3); font-size: 13px; margin: 0 0 10px; }

.psn-queues { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.psn-queue {
  display: inline-flex; align-items: baseline; gap: 8px;
  padding: 7px 12px; border: 1px solid var(--rule); border-radius: 7px;
  background: #fff; color: var(--ink); font-size: 13px;
}
.psn-queue:hover { border-color: #8CBAB7; background: #EAF3F2; }
.psn-queue.on { background: #20323B; border-color: #20323B; color: #fff; }
.psn-queue-count { font-variant-numeric: tabular-nums; color: var(--ink-3); font-size: 12px; }
.psn-queue.on .psn-queue-count { color: #B8CBCE; }

.psn-count { margin: 0 0 10px; color: var(--ink-2); font-size: 13px; }
.psn-worklist { background: #fff; border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
.psn-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.psn-table th {
  text-align: left; font-size: 12px; color: var(--ink-3); font-weight: 600;
  padding: 10px 12px; border-bottom: 1px solid var(--rule); background: #F3F6F7;
}
.psn-table td {
  padding: 10px 12px; border-bottom: 1px solid var(--rule-2); vertical-align: top;
  font-size: 13px; color: var(--ink); word-break: break-word;
}
.psn-table tbody tr.psn-row:hover { background: #F5F9F9; }
.psn-table tbody tr.is-selected { background: #EAF3F2; }
.psn-name { font-weight: 650; }
.psn-meta { color: var(--ink-3); font-size: 12px; margin-top: 3px; }
.psn-badge { margin: 2px 4px 0 0; }
.psn-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.psn-actions .btn { padding: 6px 10px; font-size: 12px; }
.psn-note { font-size: 12px; color: var(--ink-2); line-height: 1.45; }
.psn-toggle[aria-expanded="true"] { background: #EAF3F2; }
.psn-drawer td { background: #F8FBFC; padding: 0; }
.psn-drawer-body { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 16px; padding: 12px 14px 14px; }
.psn-drawer-body h4 { margin: 0 0 4px; font-size: 12px; color: var(--ink-3); font-weight: 650; }
.psn-drawer-body p { margin: 0 0 4px; font-size: 13px; }
.psn-empty { padding: 28px 16px; text-align: center; color: var(--ink-3); background: #fff; border: 1px solid var(--rule); border-radius: 10px; }
.psn-pager { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 12px 0 0; }
.psn-form-context { font-size: 13px; color: var(--ink-2); margin: 0 0 10px; padding: 8px 10px; background: #F3F6F7; border-radius: 7px; }
.psn-form-error { color: #A83F3F; font-size: 13px; min-height: 1.2em; }

.psn-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 16px; }
.psn-metric {
  display: flex; flex-direction: column; gap: 4px; text-align: left;
  padding: 12px 14px; border: 1px solid var(--rule); border-radius: 8px; background: #fff; color: inherit; font: inherit;
}
.psn-metric .v { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; color: #20323B; line-height: 1.1; }
.psn-metric .l { font-size: 12px; color: var(--ink-2); }
.psn-metric .a { font-size: 12px; color: #176B67; }
.psn-metric.risk .v { color: #A83F3F; }
button.psn-metric { cursor: pointer; }
button.psn-metric:hover { border-color: #8CBAB7; background: #F5F9F9; }
button.psn-metric[aria-expanded="true"] { outline: 2px solid #176B67; outline-offset: -2px; }

.psn-store-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
.psn-store-table th, .psn-store-table td { padding: 9px 10px; text-align: left; font-size: 13px; border-bottom: 1px solid var(--rule-2); }
.psn-store-table th { font-size: 12px; color: var(--ink-3); background: #F3F6F7; }
.psn-store-table .num { font-variant-numeric: tabular-nums; text-align: right; }
.psn-store-expand td { background: #F8FBFC; }
.hc-detail-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.hc-detail-title { font-size: 14px; font-weight: 650; }
.hc-tp-sub { font-size: 14px; font-weight: 650; margin: 12px 0 8px; display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.hc-tp-group { font-size: 12px; color: var(--ink-3); margin: 8px 0 4px; }
.hc-tp-row, .ds-rd-item { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px dotted var(--rule-2); font-size: 13px; flex-wrap: wrap; }
.hc-rd-meta { font-size: 12px; color: var(--ink-3); }

.stf-dossier { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; padding: 16px; }
.stf-dossier-main { flex: 1; min-width: 0; }
.stf-dossier-name { font-size: 22px; font-weight: 700; line-height: 1.25; }
.stf-sec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stf-kv { display: grid; grid-template-columns: minmax(88px, 120px) minmax(0, 1fr); gap: 6px 12px; font-size: 14px; align-items: baseline; }
.stf-kv-pair { display: contents; }
.stf-kv .k { color: var(--ink-3); font-size: 12px; }
.stf-kv .v { color: var(--ink); word-break: break-word; }
.stf-src { margin-left: 6px; }
.stf-evt { padding: 10px 0; border-bottom: 1px dotted var(--rule); }
.stf-evt-hd { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.stf-evt-ttl { font-weight: 650; font-size: 14px; min-width: 0; }
.stf-evt-dt { font-size: 12.5px; color: var(--ink-2); margin-top: 4px; }
.stf-evt-acts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 0; }

.pr-page { max-width: 1440px; }
.pr-filters { display: grid; grid-template-columns: minmax(142px, 160px) minmax(0, 1fr) minmax(180px, 240px); gap: 8px; align-items: center; margin: 14px 0 12px; }
.pr-filters .scope-sel { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; align-items: center; min-width: 0; }
.pr-worklist { display: flex; flex-direction: column; gap: 10px; }
.pr-store { border: 1px solid var(--rule); background: #fff; border-radius: 8px; overflow: hidden; }
.pr-person { width: 100%; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(80px, .8fr) minmax(72px, .6fr) auto; gap: 10px; align-items: center; border: 0; border-bottom: 1px solid var(--rule-2); background: transparent; color: var(--ink); text-align: left; padding: 8px 12px; cursor: pointer; font: inherit; }
.pr-person:hover { background: #F5F9F9; }
.pr-person .nm { font-weight: 650; }
.pr-person.pending .st { color: #A83F3F; }
.pr-person.done .st { color: #287653; }

@media (min-width: 1024px) {
  .psn-table col, .psn-table th:nth-child(1), .psn-table td:nth-child(1) { width: 16%; }
  .psn-overview { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 1440px) {
  .psn-drawer-body { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .psn-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .psn-table thead { display: none; }
  .psn-table, .psn-table tbody, .psn-table tr.psn-row, .psn-table tr.psn-drawer, .psn-table td { display: block; width: 100%; }
  .psn-table td { padding: 6px 12px; border-bottom: 0; }
  .psn-table tr.psn-row { padding: 10px 0 8px; border-bottom: 1px solid var(--rule); }
  .psn-table td::before {
    content: attr(data-label); display: block; font-size: 11px; color: var(--ink-3); margin-bottom: 2px;
  }
  .psn-drawer-body { grid-template-columns: 1fr; }
  .stf-sec-grid { grid-template-columns: 1fr; }
  .stf-kv { grid-template-columns: minmax(72px, 96px) minmax(0, 1fr); }
  .pr-filters { grid-template-columns: 1fr; }
  .pr-person { grid-template-columns: 1fr auto; }
}
@media (max-width: 390px) {
  .psn-page, .psn-worklist, .psn-table { max-width: 100%; overflow-x: hidden; }
  .psn-metric .v { font-size: 20px; }
  .stf-dossier { flex-direction: column; }
}

/* Performance base styles, kept with the personnel layout. */

  .pr-page{max-width:860px;margin:0 auto}
  body.app-embedded .pr-page{max-width:760px}
  .pr-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:12px}
  .pr-sub{font-family:var(--mono);font-size:10px;color:var(--ink-3);letter-spacing:.06em}
  .pr-filters{display:grid;grid-template-columns:minmax(142px,160px) minmax(0,1fr);gap:8px;align-items:center;margin:14px 0 12px}
  .pr-filters .scope-sel{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:center;min-width:0}
  .pr-filters .scope-ctl,.pr-filters .scope-dd,.pr-filters .scope-search{width:100%;min-width:0;height:38px;box-sizing:border-box;padding:0 10px;border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px;appearance:none;-webkit-appearance:none}
  .pr-filters select.scope-ctl,.pr-filters .scope-dd{padding-right:24px}
  .pr-filters .scope-ctl:focus,.pr-filters .scope-dd:focus,.pr-filters .scope-search:focus{outline:none;border-color:var(--oxblood);box-shadow:inset 0 0 0 1px var(--oxblood)}
  .pr-filters .scope-fixed{display:inline-flex;align-items:center;height:38px;padding:0 12px;font-size:13px;font-weight:650;color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-sm)}
  .pr-summary{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;border:1px solid var(--rule);border-radius:var(--r-sm);overflow:hidden;background:var(--paper);margin:12px 0}
  .pr-stat{display:block;text-align:left;padding:10px 12px;min-width:0;border:0;border-right:1px solid var(--rule);background:transparent;color:inherit;font:inherit}
  button.pr-stat{cursor:pointer}
  button.pr-stat:hover{background:var(--paper-2)}
  button.pr-stat:focus-visible{outline:2px solid var(--oxblood);outline-offset:-2px}
  .pr-stat.on{background:var(--ink);color:var(--paper)}
  .pr-stat.on .v,.pr-stat.on .l{color:var(--paper)}
  .pr-stat:last-child{border-right:0}
  .pr-stat .v{font-family:var(--serif);font-size:24px;font-weight:650;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
  .pr-stat .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:var(--ink-3);margin-top:5px}
  .pr-stat.pending .v{color:var(--oxblood)}
  .pr-stat.done .v{color:var(--forest)}
  .pr-stat.on.pending .v,.pr-stat.on.done .v{color:var(--paper)}
  .pr-flow{display:flex;flex-direction:column;gap:10px;margin-top:12px}
  .pr-store{border:1px solid var(--rule);background:var(--paper);border-radius:var(--r-sm);overflow:hidden;box-shadow:none}
  .pr-store-hd{padding:11px 12px 10px;border-bottom:1px solid var(--rule);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--paper)}
  .pr-store-name{font-size:16px;font-weight:750;color:var(--ink);line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pr-store-pct{font-family:var(--mono);font-size:11px;color:var(--ink-2);white-space:nowrap;padding-top:1px}
  .pr-bar{height:3px;background:var(--paper-2)}
  .pr-bar span{display:block;height:100%;background:var(--forest)}
  .pr-review-block{padding:10px 12px}
  .pr-review-block+.pr-review-block{border-top:1px solid var(--rule)}
  .pr-review-block.done{background:rgba(46,93,58,.035)}
  .pr-review-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-3);margin-bottom:6px}
  .pr-review-title .num{font-weight:800;color:var(--ink)}
  .pr-people{display:flex;flex-direction:column}
  .pr-person{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;color:var(--ink);text-align:left;padding:7px 0;border-bottom:1px dotted var(--rule);cursor:pointer;font:inherit}
  .pr-person:hover .nm{text-decoration:underline;text-underline-offset:3px}
  .pr-person:last-child{border-bottom:0}
  .pr-person .nm{font-size:13px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pr-person .ps{font-family:var(--mono);font-size:9.5px;color:var(--ink-3);white-space:nowrap;flex-shrink:0}
  .pr-list-empty{font-size:12px;color:var(--ink-3);padding:3px 0 5px}
  .pr-excluded{font-family:var(--mono);font-size:9px;color:var(--ink-3);padding:7px 12px;border-top:1px dashed var(--rule);background:rgba(0,0,0,.015)}
  @media(max-width:720px){
    .pr-head{display:block}
    .pr-filters{grid-template-columns:1fr}
    .pr-filters .scope-sel{grid-template-columns:1fr 1fr}
    .pr-filters .scope-search,.pr-filters .scope-dd[data-scope="store"]{grid-column:1/-1}
    .pr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pr-stat:nth-child(2){border-right:0}
    .pr-stat:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  }
  @media(max-width:430px){
    .pr-store-hd{align-items:flex-start}
    .pr-store-name{white-space:normal}
  }

/* Shared worklists and compact desktop overview. */
.psn-page [hidden], .stf-dossier [hidden], .psn-store-expand[hidden] {display:none!important}
.som-operations-shell .psn-toolbar {align-items:flex-end;margin:12px 0}
.psn-toolbar .psn-search {margin:0;flex:1 1 230px;max-width:360px}
.psn-toolbar .psn-search input {height:38px}
.psn-page .psn-actions {display:flex;gap:6px;flex-wrap:wrap}
.psn-table .psn-row td {line-height:1.65}
.psn-table th:nth-child(1) {width:16%}
.psn-table th:nth-child(2) {width:15%}
.psn-table th:nth-child(3) {width:18%}
.psn-table th:nth-child(4) {width:19%}
.psn-table th:nth-child(5) {width:17%}
.psn-table th:nth-child(6) {width:15%}
.psn-table .psn-row td:nth-child(1) {width:auto}
.hc-primary.psn-overview {grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 10px}
.hc-primary .psn-metric {min-height:98px}
.hc-attention {display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:8px 0;border-bottom:1px solid var(--rule)}
.hc-attention-label,.hc-health>span:first-child {font-size:13px;color:var(--ink-3)}
.hc-attention .psn-metric {display:flex;flex-direction:row-reverse;align-items:center;gap:8px;border:0;background:transparent;padding:6px 0;border-radius:0}
.hc-attention .psn-metric .v {font-size:16px}
.hc-attention .psn-metric .l {font-size:13px}
.hc-health {display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;font-size:12px;padding:8px 0 14px}
.hc-health-link {background:transparent;border:0;font:inherit;color:var(--oxblood);padding:4px 0;cursor:pointer}
.hc-health-link strong {font-size:14px;margin-left:4px}
.hc-table-title {margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}
.hc-table-title .muted {font-size:12px;font-weight:400}
.psn-store-scroll {overflow:auto;max-width:100%;border:1px solid var(--rule);border-radius:10px;background:#fff}
.psn-store-table {min-width:760px;border:0}
.psn-store-table th {white-space:nowrap}
.psn-store-table th:first-child {min-width:165px}
.psn-store-table .btn {white-space:nowrap}
.hc-scroll-hint {display:none;color:var(--ink-3);font-size:12px;margin:4px 0 8px}
.som-disclosure-body {padding:14px 16px}

/* Compact dossier: fields use the full row; empty groups are omitted. */
.stf-dossier.card {display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 16px;align-items:start;padding:18px}
.stf-dossier>.ds-avatar-lg {width:64px;height:64px;font-size:25px;grid-row:1 / 3}
.stf-dossier .stf-dossier-main {display:contents}
.stf-dossier .stf-dossier-name,.stf-dossier-main>div:nth-child(2) {grid-column:2}
.stf-dossier .stf-sec-grid {grid-column:1 / -1;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);margin-top:10px;align-items:start}
.stf-dossier .stf-sec-grid.has-no-ops {grid-template-columns:1fr}
.stf-dossier .stf-sec {margin:0}
.som-operations-shell .stf-dossier .stf-kv,.app-embedded .stf-dossier .stf-kv {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.stf-dossier .stf-kv-pair {display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px}
.stf-dossier .stf-kv .v {font-size:13px}
.stf-review-period {max-width:240px;margin:14px 0}

.som-operations-shell .pr-page .pr-filters {grid-template-columns:160px minmax(180px,1fr) minmax(180px,300px);align-items:end}
.som-operations-shell .pr-page .pr-flow {display:flex;flex-direction:column;gap:14px}
.pr-worklist {display:table;width:100%;border-collapse:collapse;table-layout:fixed}
.pr-worklist th,.pr-worklist td {text-align:left;font-size:13px;padding:10px 14px;border-bottom:1px solid var(--rule)}
.pr-worklist th {font-size:12px;color:var(--ink-3);background:var(--paper-2);font-weight:500}
.pr-worklist .pr-person {display:inline-flex;width:auto;padding:5px 10px;border:1px solid var(--rule);border-radius:6px;color:var(--oxblood);font-size:12px}
.pr-worklist tr:last-child td {border-bottom:0}
.pr-worklist .nm {font-weight:600}
.pr-pending {color:var(--ink-2)}
.pr-done {color:var(--forest)}
.pr-page .pr-stat .l {font-family:var(--sans);font-size:12px;letter-spacing:0}
.pr-page .pr-stat .v {font-family:var(--sans)}
.pr-page .pr-sub,.pr-page .pr-excluded {font-family:var(--sans);font-size:12px;letter-spacing:0}
@media(max-width:1023px) {
  .hc-primary.psn-overview {grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc-scroll-hint {display:block}
  .stf-dossier .stf-sec-grid {grid-template-columns:1fr}
  .som-operations-shell .stf-dossier .stf-kv,.app-embedded .stf-dossier .stf-kv {grid-template-columns:1fr}
  .stf-dossier .stf-kv-pair {grid-template-columns:80px minmax(0,1fr)}
  .psn-table th,.psn-table td {width:100%!important}
  .som-operations-shell .pr-page .pr-filters {grid-template-columns:1fr}
  .pr-worklist th,.pr-worklist td {padding:9px 8px;font-size:12px}
  .pr-worklist th:nth-child(1) {width:27%}
  .pr-worklist th:nth-child(2) {width:27%}
  .pr-worklist th:nth-child(3) {width:22%}
  .pr-worklist th:nth-child(4) {width:24%}
  .pr-worklist .pr-person {white-space:nowrap;padding:5px 7px}
}
@media(max-width:440px) {
  .stf-dossier.card {grid-template-columns:52px minmax(0,1fr);padding:14px;gap:4px 12px}
  .stf-dossier>.ds-avatar-lg {width:52px;height:52px;font-size:22px}
  .stf-dossier .stf-dossier-name {font-size:20px}
  .psn-toolbar .psn-search {max-width:none;flex-basis:100%}
  .psn-table .psn-row td {padding:5px 12px}
}
