.access-preview-confirm{display:flex;align-items:flex-start;gap:.6rem;font-size:.8rem;line-height:1.5}
.access-preview-confirm input[type=checkbox]{width:1rem;min-width:1rem;margin-top:.15rem}
/* Scoped account access, invitation, and revision surfaces. */
.access-page {
  --access-ink: #000;
  --access-paper: #fff;
  --access-gold: #ffcb73;
  --access-aqua: #bcd9dd;
  --access-muted: rgb(0 0 0 / 67%);
  max-width: 1120px;
  margin: 0 auto;
  color: var(--access-ink);
}
.access-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin:8px 0 27px; }
.access-heading h1 { margin:8px 0; }
.access-heading p { max-width:650px; }
.access-account-mark { padding:9px 12px; border:1px solid var(--access-ink); background:var(--access-gold); font-size:9px; font-weight:850; letter-spacing:.12em; white-space:nowrap; }
.team-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr); gap:18px; align-items:start; }
.team-side { display:grid; gap:17px; }
.access-card { min-width:0; padding:23px; border:1px solid var(--access-aqua); border-radius:13px; background:var(--access-paper); }
.access-card h2 { margin:6px 0 9px; }
.access-card > .eyebrow { display:block; }
.access-section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.access-section-title h2 { margin:4px 0 0; }
.access-count,.access-role,.access-state,.invitation-status { display:inline-flex; align-items:center; padding:5px 9px; border:1px solid var(--access-aqua); border-radius:999px; font-size:10px; font-weight:750; white-space:nowrap; }
.access-count { background:var(--access-aqua); }
.team-list { margin-top:18px; border-top:1px solid var(--access-aqua); }
.team-person { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; align-items:center; padding:15px 0; border-bottom:1px solid var(--access-aqua); }
.team-initial { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--access-ink); border-radius:50%; background:var(--access-gold); font-size:13px; font-weight:850; }
.team-person-copy { min-width:0; display:grid; gap:3px; }
.team-person-copy strong,.team-person-copy span { overflow-wrap:anywhere; }
.team-person-copy strong { font-size:13px; }
.team-person-copy span,.team-person-status { color:var(--access-muted); font-size:11px; }
.team-person-status { display:grid; justify-items:end; gap:5px; }
.access-role { background:var(--access-aqua); color:var(--access-ink); }
.access-role.role-lead { background:var(--access-gold); border-color:var(--access-ink); }
.team-actions { grid-column:2 / -1; display:flex; flex-wrap:wrap; gap:8px; }
.team-actions form,.invitation-actions form { margin:0; }
.team-actions .button,.invitation-actions .button { padding:8px 10px; font-size:10px; }
.danger-button { border-color:var(--access-ink)!important; }
.access-history { margin-top:23px; padding-top:17px; border-top:2px solid var(--access-ink); }
.access-history h3 { margin-bottom:7px; font-size:15px; }
.access-history article { padding:11px 0; border-top:1px solid var(--access-aqua); }
.access-history article strong { font-size:11px; }
.access-history article p { margin:3px 0; font-size:11px; }
.access-history article span { color:var(--access-muted); font-size:10px; }
.invite-card > p,.revision-default-card > p { margin:9px 0; font-size:12px; }
.access-notice { margin:0 0 17px; padding:14px 16px; border:1px solid var(--access-ink); border-left:5px solid var(--access-gold); background:var(--access-aqua); }
.access-notice strong { font-size:12px; }
.access-notice p { margin-top:3px; color:var(--access-ink); font-size:11px; }
.access-notice.compact { margin:13px 0; padding:11px; }
.invitations-card { margin-top:19px; }
.invitation-list { margin-top:15px; border-top:1px solid var(--access-aqua); }
.invitation-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:15px; align-items:start; padding:16px 0; border-bottom:1px solid var(--access-aqua); }
.invitation-main { min-width:0; display:grid; gap:4px; }
.invitation-main strong { font-size:12px; }
.invitation-main > span,.invitation-main small { color:var(--access-muted); font-size:10px; overflow-wrap:anywhere; }
.invitation-status { background:var(--access-aqua); text-transform:capitalize; }
.status-uncertain,.status-delivery-error { background:var(--access-gold); border-color:var(--access-ink); }
.status-revoked,.status-expired { background:#f4f1eb; }
.access-error { color:var(--access-ink); font-size:11px; }
.copy-link-row { display:flex; gap:7px; margin-top:6px; }
.copy-link-row input { min-width:0; padding:8px; font-size:10px; }
.copy-link-row .button { flex:none; padding:8px 10px; }
.invitation-actions { display:flex; gap:6px; flex-wrap:wrap; }
.access-empty { padding:18px; border:1px dashed var(--access-aqua); background:rgb(188 217 221 / 24%); }
.access-empty strong { font-size:12px; }
.access-empty p { margin-top:4px; font-size:11px; }
.access-narrow { max-width:620px; padding-top:28px; }
.access-auth-card { padding:clamp(24px,5vw,46px); border-top:4px solid var(--access-gold); }
.access-auth-card h1 { margin:10px 0; font-size:clamp(28px,5vw,42px); }
.access-auth-card > p { margin:11px 0 20px; }
.access-form { margin-top:20px; }
.access-form label { margin:17px 0; }
.access-resend-form { margin-top:10px; }
.access-status { padding:10px 12px; border-left:3px solid var(--access-gold); background:var(--access-aqua); color:var(--access-ink); font-size:12px; }
.revision-panel { margin-top:17px; padding:16px; border:1px solid var(--access-ink); background:var(--access-paper); }
.revision-panel-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.revision-panel-head h3 { margin-top:4px; font-size:17px; }
.revision-remaining { padding:7px 9px; background:var(--access-gold); font-size:11px; font-weight:850; white-space:nowrap; }
.revision-warning,.revision-lock { margin:13px 0; padding:12px; border-left:4px solid var(--access-gold); background:var(--access-aqua); }
.revision-warning strong,.revision-lock strong { display:block; font-size:12px; }
.revision-warning p { margin-top:4px; color:var(--access-ink); font-size:11px; }
.revision-lock { background:#fff4df; }
.revision-submit-form label { margin:12px 0; }
.revision-confirm { display:flex!important; align-items:flex-start; gap:9px!important; font-size:11px!important; line-height:1.45; }
.revision-confirm input { flex:none; width:16px; height:16px; margin:1px 0 0; accent-color:var(--access-ink); }
.revision-history { margin-top:18px; padding-top:14px; border-top:1px solid var(--access-aqua); }
.revision-history h4 { margin:0 0 8px; font-size:12px; }
.revision-history ol { margin:0; padding:0; list-style:none; }
.revision-history li { padding:11px 0; border-top:1px solid var(--access-aqua); }
.revision-history-meta { display:flex; justify-content:space-between; gap:8px; font-size:10px; }
.revision-history-meta span { color:var(--access-muted); text-align:right; }
.revision-history li p { margin-top:5px; font-size:11px; white-space:pre-wrap; }
.revision-empty { margin-top:12px; }
.revision-admin-settings { margin-top:16px; padding-top:12px; border-top:1px solid var(--access-aqua); }
.revision-admin-settings summary { cursor:pointer; font-size:11px; font-weight:800; }
.revision-admin-settings form { margin-top:13px; padding-top:10px; border-top:1px solid var(--access-aqua); }
.revision-admin-settings label { margin:9px 0; }
.revision-admin-settings .revision-confirm { margin:12px 0; }
[data-confirm] button { touch-action:manipulation; }
@media(max-width:760px) {
  .team-layout { grid-template-columns:1fr; }
  .access-heading { align-items:flex-start; flex-direction:column; }
  .access-account-mark { align-self:flex-start; }
  .invitation-row { grid-template-columns:minmax(0,1fr) auto; }
  .invitation-actions { grid-column:1 / -1; }
}
@media(max-width:520px) {
  .team-person { grid-template-columns:34px minmax(0,1fr); }
  .team-initial { width:34px; height:34px; }
  .team-person-status { grid-column:2; justify-items:start; display:flex; align-items:center; flex-wrap:wrap; }
  .team-actions { grid-column:2; }
  .invitation-row { grid-template-columns:1fr; gap:8px; }
  .invitation-status { justify-self:start; }
  .invitation-actions { grid-column:auto; }
  .copy-link-row { flex-direction:column; }
  .copy-link-row .button { width:100%; }
  .revision-panel-head { align-items:flex-start; flex-direction:column; }
}

/* Team access controls: compact, labeled disclosure surfaces. */
.member-manage {
  grid-column:2 / -1;
  min-width:0;
  padding:8px 10px;
  border:1px solid var(--access-aqua);
  border-radius:8px;
  background:rgb(188 217 221 / 18%);
}
.member-manage summary,
.advanced-policy summary {
  cursor:pointer;
  color:var(--access-ink);
  font-size:11px;
  font-weight:800;
}
.member-manage summary { width:max-content; max-width:100%; }
.member-manage[open] summary { margin-bottom:10px; }
.member-preferences { margin:0 0 10px; }
.member-preferences fieldset { display:grid; gap:7px; margin:0; padding:0; border:0; }
.member-preferences legend { margin-bottom:7px; font-size:10px; font-weight:800; }
.member-preferences label { display:flex; align-items:flex-start; gap:7px; margin:0; font-size:10px; line-height:1.4; }
.member-preferences input[type=checkbox] { flex:none; width:15px; height:15px; margin:0; accent-color:var(--access-ink); }
.member-preferences .micro,.member-lead-lock { margin:8px 0; font-size:10px; }
.team-actions { margin-top:9px; }
.access-contact-note { color:var(--access-muted); }
.invite-card select {
  display:block;
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid var(--access-aqua);
  border-radius:7px;
  background:var(--access-paper);
  color:var(--access-ink);
  font:inherit;
}
.invite-lead-note { margin:7px 0 13px; font-size:10px; }
.advanced-policy { padding:15px 17px; }
.advanced-policy summary { display:grid; gap:4px; list-style-position:inside; }
.advanced-policy summary strong { font-size:14px; }
.advanced-policy summary span:last-child { color:var(--access-muted); font-size:10px; font-weight:500; }
.advanced-policy[open] summary { margin-bottom:12px; }
.advanced-policy > p { margin:9px 0; font-size:12px; }
.invitation-role-badge {
  width:max-content;
  max-width:100%;
  padding:4px 7px;
  border:1px solid var(--access-ink);
  border-radius:999px;
  background:var(--access-gold);
  color:var(--access-ink);
  font-size:9px!important;
  font-weight:800;
}
@media(max-width:520px) {
  .member-manage { grid-column:1 / -1; }
  .team-actions { grid-column:auto; }
  .member-manage .team-actions { display:grid; grid-template-columns:1fr; }
  .member-manage .team-actions .button { width:100%; }
  .advanced-policy summary { list-style-position:outside; }
}
