/* Users view page (/Users/View) — the profile header and the work card's shift lists. */

/* Side-by-side cards: the shell's stacked-card spacing would drop the second one 16px. */
.leaf-ds .uv-page .lf-grid > .lf-card + .lf-card { margin-top: 0; }

.leaf-ds .uv-identity { display: flex; gap: 16px; align-items: flex-start; }
.leaf-ds .uv-identity .lf-kv { flex: 1; min-width: 0; }
.leaf-ds .uv-avatar { width: 84px; height: 84px; border-radius: var(--r-6); object-fit: cover; border: 1px solid var(--line); flex: none; }
.leaf-ds .uv-avatar-empty { display: flex; align-items: center; justify-content: center; background: var(--surface-3); color: var(--ink-2); font-size: 24px; font-weight: 700; }
@media (max-width: 640px) { /* Side-by-side cards: the shell's stacked-card spacing would drop the second one 16px. */
.leaf-ds .uv-page .lf-grid > .lf-card + .lf-card { margin-top: 0; }

.leaf-ds .uv-identity { flex-direction: column; } }

.leaf-ds .uv-emp { padding: 10px 0; border-top: 1px solid var(--line-2); display: grid; gap: 4px; }
.leaf-ds .uv-emp:first-child { border-top: 0; padding-top: 0; }
.leaf-ds .uv-emp-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.leaf-ds .uv-emp-name { font-weight: 700; font-size: 13.5px; }
.leaf-ds .uv-emp-meta { font-size: 12.5px; color: var(--ink-2); }

.leaf-ds .uv-visits { display: flex; flex-direction: column; }
.leaf-ds .uv-visit {
    display: grid; grid-template-columns: 158px minmax(0, 1fr) auto; gap: 12px; align-items: center;
    padding: 9px 16px; border-top: 1px solid var(--line-2); color: inherit; text-decoration: none;
}
.leaf-ds .uv-visit:first-child { border-top: 0; }
.leaf-ds a.uv-visit:hover { background: var(--surface-2); }
.leaf-ds .uv-visit-when { display: flex; flex-direction: column; font-size: 12.5px; }
.leaf-ds .uv-visit-day { font-weight: 700; font-size: 12.5px; }
.leaf-ds .uv-visit-time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.leaf-ds .uv-visit-zone { font-size: 11.5px; color: var(--ink-3); }
.leaf-ds .uv-visit-where { display: flex; flex-direction: column; min-width: 0; }
.leaf-ds .uv-visit-where .lf-cell-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.leaf-ds .uv-visit-punch { white-space: normal; }
.leaf-ds .uv-visit-tags { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 640px) {
    .leaf-ds .uv-visit { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .leaf-ds .uv-visit-tags { justify-content: flex-start; }
}

/* Print badges (/Users/Badges, BadgeBatchPage) — the batch list and its confirm step. */
.leaf-ds .lf-tb .bb-search { height: 30px; min-width: 0; width: 190px; border-radius: 7px; padding: 0 9px; }
.leaf-ds .bb-table .bb-check { gap: 0; }
.leaf-ds .bb-table td { vertical-align: top; }
.leaf-ds .bb-name { color: inherit; text-decoration: none; }
.leaf-ds .bb-name:hover { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.leaf-ds .bb-serial { font-family: var(--font-mono, monospace); font-size: 12px; white-space: nowrap; }
.leaf-ds .bb-tagline { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.leaf-ds .bb-note { display: block; font-size: 11.5px; color: var(--ink-2); line-height: 1.35; white-space: normal; max-width: 46ch; }
.leaf-ds .bb-group { display: grid; gap: 4px; padding-top: 8px; border-top: 1px solid var(--line-2); }
.leaf-ds .bb-group-head { font-weight: 700; font-size: 13px; }
.leaf-ds .bb-list { margin: 2px 0 0; padding: 0; list-style: none; display: grid; gap: 5px; max-height: 260px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.leaf-ds .bb-list li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 13px; }
.leaf-ds .bb-list .bb-note { flex-basis: 100%; max-width: none; }
.leaf-ds .bb-list-name { font-weight: 600; }
.leaf-ds .bb-progress { height: 8px; border-radius: 4px; background: var(--surface-3); overflow: hidden; }
.leaf-ds .bb-progress > div { height: 100%; background: var(--accent); transition: width .2s; }
