/* Keep the page width fixed when dialog scroll locking hides the scrollbar. */
html{scrollbar-gutter:stable;background:var(--page)}
html:has(.activity-modal[open]){overflow:hidden}
.activity-modal{scrollbar-gutter:stable;overscroll-behavior:contain}
.member-details{position:relative;padding-right:0}.member-identity{display:flex;align-items:center;justify-content:space-between;gap:18px}.member-identity>div{min-width:0}
.process-status{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;max-width:45%;padding:9px 12px;border:1px solid var(--border);border-radius:100px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:650;line-height:1.4;text-align:left}
button.process-status:hover{border-color:var(--muted)}.process-status:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}
.process-status[data-status=active]{--status-color:#fb923c;--status-glow:#fb923c30;border-color:var(--status-color);box-shadow:0 0 10px var(--status-glow),inset 0 0 6px var(--status-glow)}
.process-status[data-status=active][data-reason=relieving]{--status-color:#facc15;--status-glow:#facc1530}
.process-status[data-status=active]:before{background:#a3e635;box-shadow:0 0 7px #a3e63580}
[data-bs-theme=light] .process-status[data-status=active]{--status-color:#ea7c16;--status-glow:#ea7c1626}
[data-bs-theme=light] .process-status[data-status=active][data-reason=relieving]{--status-color:#d3aa09;--status-glow:#eab30830}
.activity-log-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;margin-right:-10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;letter-spacing:0}.activity-log-button:hover{background:var(--surface-2);color:var(--text)}.activity-log-button svg{width:17px;height:17px}
.activity-modal{position:fixed;width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 40px);margin:auto;padding:38px 30px 30px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 28px 100px #0005;overflow:auto}.activity-modal::backdrop{background:#0b0d10a6;backdrop-filter:blur(7px)}.activity-modal .eyebrow{font-size:9px;letter-spacing:.19em}.activity-modal h2{font-size:27px;font-weight:750;letter-spacing:-.045em;margin:13px 0 9px}.activity-modal p{font-size:13px;color:var(--muted);margin:0 0 25px}.modal-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:26px;font-weight:400}.modal-close:hover{background:var(--surface-2);color:var(--text)}
.activity-choices{display:grid;gap:12px}.activity-choices button{display:flex;align-items:center;gap:15px;width:100%;padding:20px 16px;text-align:left;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--text)}.activity-choices button:hover{border-color:var(--muted)}.activity-choices strong{display:block;font-size:14px;font-weight:700}.activity-choices small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px}.choice-icon{font-size:23px;color:var(--muted)}.activity-choices button:disabled{opacity:.5;cursor:wait}.activity-modal .activity-error{margin:16px 0 0;color:var(--text)}
.activity-log{display:grid;gap:18px}.activity-entry{display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:12px}.activity-direction{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:10px;font-weight:750}.activity-direction.is-in{color:var(--text)}.activity-person{font-size:13px;font-weight:700;overflow-wrap:anywhere}.activity-detail{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:2px}.activity-entry time{color:var(--muted);font-size:10px;padding-top:3px;white-space:nowrap}.activity-empty{padding:24px 5px;text-align:center;font-size:13px;color:var(--muted)}.activity-notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);padding:14px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);z-index:10;box-shadow:var(--card-shadow);font-size:13px}
@media(max-width:480px){.member-identity{flex-wrap:wrap;gap:12px}.process-status{max-width:100%}.activity-modal{padding:35px 22px 24px}.activity-modal h2{font-size:25px}}
@media(prefers-reduced-motion:no-preference){.activity-modal[open]{animation:activity-appear .24s ease-out}@keyframes activity-appear{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}}
.log-more-link{display:flex;align-items:center;justify-content:space-between;margin-top:24px;min-height:44px}
.activity-log-modal{max-height:min(650px,calc(100dvh - 32px))}
.card-footer-actions{display:flex;align-items:center;gap:12px}.card-footer-actions .activity-log-button{margin-right:0;white-space:nowrap}.card-footer-actions .activity-log-button:last-child{margin-right:-10px}
.support-modal{max-width:500px}.support-list{display:grid;gap:10px;max-height:clamp(120px,28dvh,240px);overflow:auto;margin:18px 0 0;padding:3px}
.support-person{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:70px;padding:12px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface-2)}
.support-person:hover,.support-person[aria-pressed=true]{border-color:var(--muted);background:var(--wash)}.support-person[aria-pressed=true]{box-shadow:inset 3px 0 var(--accent)}
.support-avatar{width:40px;height:40px;flex-shrink:0;object-fit:cover;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:12px}.support-person strong{display:block;font-size:13px}.support-person small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.support-confirm{margin-top:20px}.support-confirm p{margin-bottom:12px}.support-confirm .btn{display:flex;justify-content:space-between;width:100%;margin-top:16px;min-height:44px}
@media(max-width:480px){.card-footer-line{flex-wrap:wrap;gap:8px}.card-footer-actions{margin-left:auto}}
@media(prefers-reduced-motion:no-preference){.process-status[data-status=active]:before{animation:process-dot-pulse 1.9s ease-out infinite}@keyframes process-dot-pulse{0%,100%{box-shadow:0 0 6px #a3e63580,0 0 0 0 #a3e63550}65%{box-shadow:0 0 9px #a3e63570,0 0 0 5px #a3e63500}}}

.primary-mark{display:inline-flex;vertical-align:middle;align-items:center;color:var(--text);margin-left:.2em;line-height:1}.primary-mark svg{width:.65em;height:.65em;flex-shrink:0}.support-designation{display:block;font-size:.65rem;font-weight:500;letter-spacing:.04em;color:var(--muted);margin-top:.4rem}.profile-dots{flex-wrap:wrap;max-width:360px}

.support-person{padding:0;gap:0;align-items:stretch}
.support-select{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:12px;border:0;border-radius:11px;background:transparent;color:inherit;text-align:left}
.support-select>span:last-child{min-width:0}.support-select[aria-pressed=true]{box-shadow:inset 3px 0 var(--accent)}
.support-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.support-name strong{overflow-wrap:anywhere}
.support-active{display:inline-flex;align-items:center;gap:4px;color:#86efac;font-size:10px;font-weight:700;white-space:nowrap}
.support-active:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
[data-bs-theme=light] .support-active{color:#187747}
.support-more{position:relative;align-self:center;margin-right:6px;flex-shrink:0}
.support-more summary{display:grid;place-items:center;list-style:none;cursor:pointer;width:44px;height:44px;border-radius:8px;color:var(--muted);font-size:14px}
.support-more summary::-webkit-details-marker{display:none}
.support-more summary:hover,.support-more[open] summary{background:var(--surface);color:var(--text)}
.support-more button{position:absolute;right:0;top:0;transform:translateX(-44px);z-index:1;white-space:nowrap;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:12px;box-shadow:0 4px 14px #0003}
.support-select:focus-visible,.support-more summary:focus-visible,.support-more button:focus-visible{outline:2px solid var(--muted);outline-offset:2px}
