.access-manager {
  box-sizing: border-box;
  display: grid;
  gap: var(--ui-space-16);
  padding: var(--ui-space-16);
  border: var(--ui-border-0);
  border-radius: var(--ui-radius-12);
  background: var(--ui-bg);
  color: var(--ui-text-primary);
  font: var(--ui-font-weight-body) var(--ui-font-size-body)/var(--ui-line-height-body) var(--ui-font);
  font-variant-numeric: tabular-nums;
}
.access-manager [hidden] { display: none !important; }
.access-manager h2 {
  margin: 0;
  font: var(--ui-font-weight-title) var(--ui-font-size-title)/var(--ui-line-height-title) var(--ui-font);
}
.access-manager h3, .access-direct-review strong {
  margin: 0;
  font: var(--ui-font-weight-headline) var(--ui-font-size-headline)/var(--ui-line-height-headline) var(--ui-font);
}
.access-manager :is([aria-label="邀请链接"] > h2, [data-panel="shares"] > h2) {
  font: var(--ui-font-weight-headline) var(--ui-font-size-headline)/var(--ui-line-height-headline) var(--ui-font);
}
.access-manager section { display: grid; gap: var(--ui-space-12); }
.access-manager section > .ui-button { justify-self: start; }
.access-manager :is(p, fieldset) { margin: 0; }
.access-tabs { width: fit-content; max-width: 100%; overflow-x: auto; }
.access-tabs .ui-segment { flex: none; white-space: nowrap; }
.access-manager label { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-8); }
.access-manager form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ui-space-16); }
.access-manager form > label:not(:has(input[type="checkbox"])) { display: grid; gap: var(--ui-space-4); }
.access-manager :is(.ui-input, .ui-select, .ui-search) { min-width: 0; max-width: 100%; }
.access-manager :is(button, input, select):focus-visible { outline: 2px solid var(--ui-accent); outline-offset: 2px; }
.access-manager label:focus-within,
.access-manager .ui-search input:focus-visible,
.access-manager .ui-select select:focus-visible { outline: none; }
.access-manager :disabled { opacity: .5; cursor: not-allowed; }
.access-manager .access-danger { color: var(--ui-danger); }
.access-manager :is(fieldset) { flex-basis: 100%; border: 0; padding: 0; }
.access-scopes { display: flex; flex-wrap: wrap; gap: var(--ui-space-8) var(--ui-space-12); }
.access-manager ul { display: grid; gap: var(--ui-space-8); list-style: none; margin: 0; padding: 0; }
.access-manager li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ui-space-8);
  padding: var(--ui-space-12);
  border: var(--ui-border-0);
  border-radius: var(--ui-radius-8);
  background: var(--ui-bg-secondary);
}
.access-manager li > span:not(.ui-select) { flex: 1 1 180px; overflow-wrap: anywhere; }
.access-manager .access-role-description { margin-top: var(--ui-space-8); }
.access-manager .access-role-description li { display: block; padding: 0; border: 0; background: transparent; overflow-wrap: anywhere; }
.access-role-details summary { display: inline-flex; align-items: center; gap: var(--ui-space-4); color: var(--ui-accent); cursor: pointer; list-style: none; }
.access-role-details summary::-webkit-details-marker { display: none; }
.access-role-details[open] summary svg { transform: rotate(90deg); }
.access-manager .access-direct-review {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ui-space-8);
  padding: var(--ui-space-12);
  border: var(--ui-border-0);
  border-radius: var(--ui-radius-8);
  background: var(--ui-bg);
}
.access-direct-review strong, .access-direct-review p { flex: 1 1 100%; margin: 0; overflow-wrap: anywhere; }
.access-manager :is(.access-status, .access-member-reason, .access-share-reason, .access-share-create-reason,
  .access-token-reason, .access-disable-reason, .access-role-note, .access-empty, .access-candidate-reason,
  .access-user-reason, .access-token-issue-reason, .access-token-holder-note, [data-invitation-role-reason],
  [data-audit-role-status]) { color: var(--ui-text-secondary); }
.access-manager :is(.access-status, .access-member-reason, .access-share-reason, .access-share-create-reason,
  .access-token-reason, .access-candidate-reason, .access-user-reason, .access-token-issue-reason,
  [data-invitation-status], [data-invitation-role-reason], [data-audit-status], [data-audit-role-status]):empty { display: none; }
.access-manager :is(.access-share-secret, .access-token-secret) {
  margin: 0;
  padding: var(--ui-space-12);
  border-radius: var(--ui-radius-8);
  background: var(--ui-selection-bg);
  overflow-wrap: anywhere;
}
.access-audit li { display: grid; grid-template-columns: minmax(120px, auto) minmax(100px, 1fr) minmax(100px, 1fr); }
.access-audit li small { grid-column: 1 / -1; color: var(--ui-text-secondary); }
dialog:is([data-w7-folder], [data-w7-invitation]) {
  box-sizing: border-box;
  width: min(560px, calc(100vw - var(--ui-space-32)));
  max-width: calc(100vw - var(--ui-space-32));
  max-height: calc(100vh - var(--ui-space-32));
  max-height: calc(100dvh - var(--ui-space-32));
  overflow: auto;
  padding: var(--ui-space-24);
  border: var(--ui-border-0);
  border-radius: var(--ui-radius-16);
  background: var(--ui-bg);
  color: var(--ui-text-primary);
  box-shadow: var(--ui-shadow-3);
  font: var(--ui-font-weight-body) var(--ui-font-size-body)/var(--ui-line-height-body) var(--ui-font);
  font-variant-numeric: tabular-nums;
}
dialog:is([data-w7-folder], [data-w7-invitation])::backdrop { background: var(--ui-text-tertiary); }
dialog[data-w7-folder] > .access-manager,
dialog[data-w7-invitation] [data-invitation-acceptance] > .account-box { padding: 0; border: 0; background: transparent; }
dialog:is([data-w7-folder], [data-w7-invitation]) > .ui-button { margin-top: var(--ui-space-16); }
@media (max-width: 600px) {
  .access-manager form > label { flex: 1 1 100%; }
  .access-manager form > label :is(.ui-input, .ui-select, .ui-search) { width: 100%; }
  .access-audit li { grid-template-columns: 1fr; }
}
