.team .team-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.team .team-list-head,.team .team-row{display:grid;grid-template-columns:minmax(220px,1.4fr) auto auto auto auto auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.team .team-row:last-child{border-bottom:none}.team .team-list-head{background:var(--color-surface-muted);font-size:var(--text-micro);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.team .team-member-identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.team .team-member-info{display:flex;flex-direction:column;gap:2px;min-width:0}.team .team-member-name{font-weight:var(--weight-semibold);font-size:var(--text-body);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team .team-member-self-tag{font-weight:400;margin-left:2px}.team .team-member-email,.team .team-member-self-tag{font-size:var(--text-small);color:var(--color-text-muted)}.team .team-member-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team .th-action{width:32px}.role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:.04em;white-space:nowrap}.role-badge.role-admin{background:#DBEAFE;color:#1E40AF}.role-badge.role-manager{background:#DCFCE7;color:#166534}.role-badge.role-scheduler{background:#FEF3C7;color:#92400E}.role-badge.role-viewer{background:#F3F4F6;color:#6B7280}.library-access-pill,.page-access-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-small);white-space:nowrap}.library-access-pill.is-all,.page-access-pill.is-all{background:#EFF6FF;color:#1D4ED8}.member-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-small);white-space:nowrap}.member-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-pill);background:currentColor}.member-status.is-active{color:#15803D}.member-status.is-pending{color:#B45309}.roles-cheatsheet{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.roles-cheatsheet>summary{cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--color-text);list-style:none;display:inline-flex;align-items:center;gap:var(--space-2)}.roles-cheatsheet>summary::-webkit-details-marker{display:none}.roles-cheatsheet>summary:before{content:"";width:0;height:0;border-left:5px solid var(--color-text-muted);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s ease}.roles-cheatsheet[open]>summary:before{transform:rotate(90deg)}.roles-cheatsheet-grid{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.roles-cheatsheet-row{display:grid;grid-template-columns:110px 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.roles-cheatsheet-row p{margin:0;font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5}.modal .modal-panel.member-form-modal{max-width:560px;padding:var(--space-6);gap:var(--space-4)}.member-form-modal .modal-title{margin:0;font-size:var(--text-h1);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.3;padding-right:var(--space-8)}.member-form-modal .modal-subtitle{margin:0;font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5}.member-form-modal .member-form{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0;overflow-y:auto}.member-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.library-access-picker,.page-access-picker,.role-picker{display:flex;flex-direction:column;gap:var(--space-2)}.library-access-mode,.page-access-mode,.role-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.library-access-mode:hover,.page-access-mode:hover,.role-option:hover{border-color:var(--color-border-strong)}.library-access-mode.is-selected,.page-access-mode.is-selected,.role-option.is-selected{border-color:var(--color-primary);background:#F5F8FF}.library-access-mode input[type=radio],.page-access-mode input[type=radio],.role-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.library-access-mode-name,.page-access-mode-name,.role-option-name{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:2px;display:flex;align-items:center;gap:var(--space-2)}.library-access-mode-desc,.page-access-mode-desc,.role-option-desc{font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5}.library-access-list,.page-access-list{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.library-access-list[hidden],.page-access-list[hidden]{display:none}.library-access-option,.page-access-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease}.library-access-option:hover,.page-access-option:hover{background:var(--color-surface-muted)}.library-access-option input[type=checkbox],.page-access-option input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.library-access-option-name,.page-access-option-name{flex:1 1;font-size:var(--text-body);color:var(--color-text)}.library-access-option-meta,.page-access-option-meta{flex:0 0 auto;font-size:var(--text-small);color:var(--color-text-muted)}.library-access-option-icon{flex:0 0 auto;width:18px;height:18px;color:var(--color-text-muted)}.member-form-empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-small);color:var(--color-text-muted)}