/* Personas: mobile-first directory and contextual work panel. */
#users:has(#people-diners:not([hidden])) > .module-heading { display: none; }
#users:has(#people-diners:not([hidden])) .people-segments { margin-bottom: 16px; }
#users:has(#people-tab-team[hidden]) .people-segments { display: none; }
#people-diners {
  --diner-ink: #272522;
  --diner-muted: #62605b;
  --diner-line: #e4e1dc;
  --diner-accent: #79342b;
  color: var(--diner-ink);
  min-width: 0;
  caret-color: var(--diner-accent);
  scrollbar-color: #b5aea6 #f7f5f0;
}
#people-diners ::selection { color: #55231d; background: #f0d7d1; }
#people-diners :focus-visible { outline: 2px solid var(--diner-accent); outline-offset: 3px; }
#people-diners :is(input, select, textarea) { min-width: 0; background: #fff; color: var(--diner-ink); }
#people-diners input::placeholder { color: var(--diner-muted); opacity: 1; }
#people-diners button { min-height: 44px; transition: transform 120ms cubic-bezier(.23,1,.32,1); }
#people-diners button:active:not(:disabled) { transform: scale(.98); }
#people-diners button:disabled { opacity: .55; cursor: default; }
#people-diners .diner-directory-heading { display: grid; gap: 16px; margin-bottom: 20px; }
#people-diners .diner-directory-heading h2 { margin: 0; font-size: 1.35rem; line-height: 1.3; letter-spacing: -.02em; }
#people-diners .diner-directory-heading p { margin: 4px 0 0; color: var(--diner-muted); font-size: .9rem; }
#people-diners .people-diner-toolbar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
#people-diners .people-diner-toolbar button { font-size: .85rem; padding: 8px 12px; }
#people-diners .people-diner-toolbar .diner-add { flex: 1 1 auto; }
#people-diners .people-diner-toolbar [data-diner-manage="history"],
#people-diners .people-diner-toolbar [data-diner-manage="export"] { background: transparent; border-color: var(--diner-line); color: var(--diner-muted); }
#users #people-diner-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
#people-diner-search > label:first-child { grid-column: 1 / -1; }
#people-diner-search label { font-size: .8rem; color: var(--diner-muted); gap: 6px; }
#people-diner-search input { min-height: 48px; font-size: 1rem; padding-inline: 14px; border-color: #b6b0a8; }
#people-diner-search select { min-height: 44px; font-size: .9rem; }
#people-diner-search > button { padding-inline: 16px; }
#people-diners .diner-search-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; margin: 4px 0 12px; }
#people-diners .diner-search-meta p { margin: 0; font-size: .77rem; color: var(--diner-muted); }
#people-diners #people-diner-clear { padding: 4px 8px; border: 0; background: transparent; font-size: .8rem; flex-shrink: 0; }
#people-diners .workforce-message:empty { display: none; }
#people-diners .workforce-message { margin: 0 0 12px; min-height: 0; color: var(--diner-accent); font-size: .875rem; }
#people-diners .diner-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
#people-diners .diner-directory { min-width: 0; }
#people-diners .diner-results-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; }
#people-diners #people-diner-count { margin: 0; font-size: .85rem; font-weight: 650; color: var(--diner-muted); font-variant-numeric: tabular-nums; }
#people-diners #people-diner-refresh { background: transparent; color: var(--diner-muted); border: 0; padding: 6px 8px; font-size: .8rem; }
#people-diners .people-list-head { display: grid; grid-template-columns: minmax(0,1fr) auto 16px; padding: 10px 12px; gap: 10px; color: var(--diner-muted); background: #f7f5f0; border: 0; border-bottom: 1px solid var(--diner-line); border-radius: 0; font-size: .75rem; }
#people-diners .people-list-head span:nth-child(2) { display: none; }
#people-diners #people-diner-list { display: grid; border: 0; border-radius: 0; overflow: visible; background: #fff; }
#people-diner-list > .user-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 16px;
  gap: 6px 10px;
  align-items: start;
  width: 100%;
  min-height: 88px;
  padding: 14px 12px;
  border: 0;
  border-bottom: 1px solid var(--diner-line);
  border-radius: 0;
  background: #fff;
  color: var(--diner-ink);
  text-align: left;
  font-weight: 400;
}
#people-diners #people-diner-list > .user-row:last-child { border-bottom: 1px solid var(--diner-line); }
#people-diners #people-diner-list > .user-row:active { transform: none; }
#people-diners #people-diner-list > .user-row[aria-expanded="true"] { background: #f5eae6; }
#people-diners #people-diner-list .diner-person { display: grid; grid-column: 1; grid-row: 1; gap: 3px; min-width: 0; white-space: normal; overflow: visible; }
#people-diners #people-diner-list strong { grid-column: auto; grid-row: auto; font-size: .9rem; line-height: 1.4; font-weight: 650; white-space: normal; overflow: visible; overflow-wrap: anywhere; color: var(--diner-ink); }
#people-diners #people-diner-list .diner-identifier { grid-column: auto; grid-row: auto; font-size: .8rem; line-height: 1.4; color: var(--diner-muted); font-variant-numeric: tabular-nums; white-space: normal; }
#people-diners #people-diner-list .diner-assignment { display: grid; grid-column: 1; grid-row: 2; gap: 3px; min-width: 0; white-space: normal; overflow: visible; }
#people-diners #people-diner-list .diner-company-name { grid-column: auto; grid-row: auto; color: #45433f; font-size: .8rem; line-height: 1.4; white-space: normal; }
#people-diners #people-diner-list .diner-meals { grid-column: auto; grid-row: auto; font-size: .77rem; line-height: 1.4; color: var(--diner-muted); white-space: normal; }
#people-diners #people-diner-list .diner-state { grid-column: 2; grid-row: 1; justify-self: end; font-size: .7rem; font-weight: 650; padding: 3px 7px; border-radius: 5px; color: #286044; background: #eaf3ed; white-space: nowrap; }
#people-diners #people-diner-list .diner-state[data-state="inactive"] { background: #f1efed; color: #62605b; }
#people-diners .diner-row-arrow { grid-column: 3; grid-row: 1; width: 16px; height: 20px; margin-top: 2px; color: #77716a; }
#people-diners .diner-empty { display: grid; justify-items: start; gap: 8px; padding: 32px 12px; color: var(--diner-muted); min-height: 180px; align-content: center; }
#people-diners .diner-empty strong { font-size: 1rem; color: var(--diner-ink); }
#people-diners .diner-empty p { margin: 0; max-width: 45ch; font-size: .9rem; }
#people-diners #people-diner-next { display: block; margin: 16px auto 0; }
#people-diners #people-diner-ficha,
#people-diners #people-diner-manage { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; }
#people-diners #people-diner-ficha h2 { margin: 16px 0 6px; font-size: 1.2rem; line-height: 1.4; overflow-wrap: anywhere; }
#people-diners #people-diner-ficha header p { color: var(--diner-muted); font-size: .85rem; margin: 0 0 16px; }
#people-diners #people-diner-ficha h3 { margin: 24px 0 8px; font-size: .95rem; }
#people-diners #people-diner-services { margin: 16px 0; font-size: .9rem; }
#people-diners #diner-facts { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px 16px; margin: 16px 0; font-size: .85rem; }
#people-diners #diner-facts dt { color: var(--diner-muted); }
#people-diners #diner-facts dd { margin: 0; overflow-wrap: anywhere; }
#people-diners #people-diner-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--diner-line); }
#people-diners #people-diner-actions button { font-size: .85rem; }
#people-diners .diner-panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--diner-line); }
#people-diners .diner-panel-heading h2 { margin: 8px 0 0; font-size: 1.15rem; line-height: 1.3; }
#people-diners .diner-panel-heading button { flex-shrink: 0; font-size: .85rem; }
#people-diners #diner-management-status { font-size: .85rem; color: var(--diner-accent); }
#people-diners #diner-management-status:empty { display: none; }
#people-diners #people-diner-manage .workforce-detail { padding: 16px 0 0; border: 0; }
#people-diners #people-diner-manage form { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; margin: 0; padding: 0; border: 0; background: transparent; }
#people-diners #people-diner-manage .form-description { margin: 0 0 4px; font-size: .85rem; color: var(--diner-muted); max-width: 65ch; }
#people-diners #people-diner-manage :is(label, .controlled-options > span) { font-size: .85rem; }
#people-diners #people-diner-manage small { font-weight: 400; line-height: 1.5; color: var(--diner-muted); }
#people-diners #people-diner-manage .diner-form-actions { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--diner-line); }
#people-diners #people-diner-manage .diner-form-actions button { font-size: .85rem; }
#people-diners #people-diner-manage .preview-table { max-width: 100%; overflow-x: auto; }
#people-diners #people-diner-manage .preview-table input { width: 20px; min-height: 20px; accent-color: var(--diner-accent); }
#people-diners #people-diner-manage .workforce-card { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--diner-line); }
#people-diners #people-diner-manage .workforce-card h3 { margin: 0 0 6px; }
#people-diners #people-diner-manage .workforce-card p { color: var(--diner-muted); font-size: .85rem; margin: 4px 0; }
@media (hover: hover) and (pointer: fine) {
  #people-diners #people-diner-list > .user-row:hover { background: #faf7f4; }
  #people-diners #people-diner-list > .user-row[aria-expanded="true"]:hover { background: #f5eae6; }
}
@media (min-width: 600px) {
  #people-diners .people-diner-toolbar { display: flex; flex-wrap: wrap; }
  #users #people-diner-search { grid-template-columns: minmax(0,1.8fr) minmax(160px,1fr) auto; gap: 12px; }
  #people-diner-search > label:first-child { grid-column: auto; }
  #people-diner-search select { min-height: 48px; }
  #people-diner-search > button { min-height: 48px; }
  #people-diners .people-diner-toolbar .diner-add { flex: initial; }
  #people-diners #people-diner-manage :is(#workforce-person-form, #workforce-affiliation-form) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #people-diners #people-diner-manage :is(.form-description, .controlled-options, .diner-form-actions, label:has([name="contractVersionId"]), label:has([name="coldAllowed"]), label:has([name="changeReason"]), label:has([name="personId"])) { grid-column: 1 / -1; }
  #people-diners #people-diner-manage .mapping-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 599px) {
  #users:has(#people-diners:not([hidden])) .people-segments { margin-bottom: 12px; }
  #people-diners .diner-directory-heading { gap: 12px; margin-bottom: 16px; }
  #people-diners .diner-directory-heading p { display: none; }
  #people-diners .people-diner-toolbar button { width: 100%; font-size: .8rem; padding: 8px; }
  #people-diners .diner-search-meta { min-height: 32px; margin-bottom: 8px; }
}
@media (max-width: 1099px) {
  #people-diners:is(.diner-detail-open, .diner-management-open) :is(.diner-directory, #people-diner-search, .diner-search-meta, .diner-directory-heading) { display: none; }
}
@media (min-width: 1100px) {
  #people-diners .diner-directory-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
  #people-diners .people-diner-toolbar { justify-content: flex-end; }
  #people-diners:is(.diner-detail-open, .diner-management-open) .diner-workspace { grid-template-columns: minmax(280px,1fr) minmax(380px,.85fr); }
  #people-diners:is(.diner-detail-open, .diner-management-open) :is(#people-diner-ficha, #people-diner-manage) { padding-left: 24px; border-left: 1px solid var(--diner-line); }
  #people-diners #people-diner-ficha { position: sticky; top: 16px; align-self: start; max-height: calc(100dvh - 32px); overflow-y: auto; scrollbar-width: thin; }
  #people-diners .people-list-head { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) auto 16px; }
  #people-diners .people-list-head span:nth-child(2) { display: block; }
  #people-diners #people-diner-list > .user-row { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) auto 16px; align-items: center; min-height: 76px; gap: 12px; }
  #people-diners #people-diner-list .diner-assignment { grid-column: 2; grid-row: 1; }
  #people-diners #people-diner-list .diner-state { grid-column: 3; }
  #people-diners .diner-row-arrow { grid-column: 4; }
  #people-diners:is(.diner-detail-open, .diner-management-open) .people-list-head { grid-template-columns: minmax(0,1fr) auto 16px; }
  #people-diners:is(.diner-detail-open, .diner-management-open) .people-list-head span:nth-child(2) { display: none; }
  #people-diners:is(.diner-detail-open, .diner-management-open) #people-diner-list > .user-row { grid-template-columns: minmax(0,1fr) auto 16px; gap: 6px 10px; }
  #people-diners:is(.diner-detail-open, .diner-management-open) #people-diner-list .diner-assignment { grid-column: 1; grid-row: 2; }
  #people-diners:is(.diner-detail-open, .diner-management-open) #people-diner-list .diner-state { grid-column: 2; }
  #people-diners:is(.diner-detail-open, .diner-management-open) .diner-row-arrow { grid-column: 3; }
}
@media (prefers-reduced-motion: reduce) {
  #people-diners button { transition: none; }
  #people-diners button:active:not(:disabled) { transform: none; }
}
