/* Person colors are independent of the shared business status palette. */
.user-badge { display: inline-flex; align-items: center; gap: .5rem; max-width: 100%; padding: .3rem .55rem .3rem .3rem; border: 1px solid var(--border); border-radius: .65rem; background: var(--surface-solid, #fff); color: var(--text); font-size: .8rem; line-height: 1.3; vertical-align: middle; }
.user-badge-avatar { display: grid; place-items: center; flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; border-radius: .45rem; background: var(--user-color); color: var(--user-foreground); font-weight: 800; box-shadow: inset 0 0 0 1px rgb(127 127 127 / .25); }
.user-badge-copy { display: grid; min-width: 0; overflow-wrap: anywhere; }
.user-badge-copy small { color: var(--text-soft); font-size: .65rem; font-weight: 700; }
.document-people, .user-assignees { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-block: .65rem; min-width: 0; }
.document-people-unknown { color: var(--text-soft); font-size: .75rem; }
.workspace-data-table .workspace-table-person { width: 12rem; }
.workspace-data-table .workspace-table-person .user-badge { margin: 0; vertical-align: top; }
.workspace-entity-card > .document-people { margin: .75rem 1rem; }
.personal-profile-page { max-width: 72rem; }
.personal-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.personal-profile-fields label { display: block; margin-bottom: .5rem; }
.personal-profile-preview, .personal-profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-block: .5rem 1.5rem; }
.personal-profile-color { display: flex; align-items: center; gap: .75rem; }
.personal-profile-color input[type=color] { width: 5rem; height: 3rem; padding: .25rem; cursor: pointer; }
.personal-profile-color output { font-family: monospace; }
.personal-profile-actions { margin-bottom: 0; }
.profile-avatar[data-user-avatar], .organization-user-avatar[data-user-avatar] { background: var(--user-color); color: var(--user-foreground); }
.operations-calendar-assignees { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: .15rem; }
.operations-calendar-person { display: inline-flex; align-items: center; gap: .25rem; min-width: 0; max-width: 100%; font-size: .68rem; line-height: 1.3; }
.operations-calendar-person > span:last-child { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.operations-person-dot { display: inline-block; flex: 0 0 .65rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--user-color); box-shadow: 0 0 0 1px rgb(127 127 127 / .5); }
.fc-daygrid-event-dot { border-color: var(--assignee-color, var(--calendar-accent, var(--brand))); }
.operations-calendar-timed { border-inline-start: .3rem solid var(--assignee-color, var(--calendar-accent, var(--brand))); }
.operations-calendar-timed .operations-calendar-event > strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: .75rem; line-height: 1.2; }
.operations-calendar-timed .operations-calendar-event > small { display: none; }
.fc .operations-event-cancelled { opacity: 1; }
@media (max-width: 700px) { .personal-profile-fields { grid-template-columns: 1fr; } .document-people .user-badge { font-size: .72rem; } }
