#access-dialog {
  width: min(760px, calc(100vw - 2rem));
}

.access-shell {
  padding: 1.6rem;
}

.access-shell h2 {
  margin: 0;
  font: 600 1.8rem Georgia, serif;
}

.access-shell h3 {
  margin: 1.4rem 0 .65rem;
  font: 600 1.05rem Georgia, serif;
}

.invite-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.3rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f5f8f5;
}

.invite-panel h3 { margin: 0 0 .25rem; }
.invite-panel p { margin: 0; color: var(--muted); font-size: .78rem; }
.invite-result { display: grid; grid-template-columns: 1fr auto; gap: .6rem; margin-top: .75rem; }
.access-list { display: grid; gap: .5rem; }

.access-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 54px;
  padding: .65rem .75rem;
  border: 1px solid #d9e2dc;
  border-radius: 9px;
  background: #fffefa;
}

.access-row strong, .access-row small { display: block; }
.access-row small { margin-top: .2rem; color: var(--muted); font-size: .72rem; }
.access-actions { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.access-actions select { width: auto; min-width: 118px; padding: .48rem; }
.compact { padding: .5rem .65rem; font-size: .72rem; }
.activity-list { display: grid; gap: .2rem; max-height: 180px; overflow: auto; }
.activity-list p { margin: 0; padding: .45rem 0; border-bottom: 1px solid #ebe7df; font-size: .78rem; }
.activity-list small { display: block; margin-top: .18rem; color: var(--muted); font-size: .68rem; }
.photo-picker.readonly { pointer-events: none; }

@media (max-width: 650px) {
  .invite-panel, .access-row { align-items: flex-start; flex-direction: column; }
  .access-actions { width: 100%; flex-wrap: wrap; justify-content: flex-start; }
  .invite-result { grid-template-columns: 1fr; }
}
