.optional-fields { border:1px solid var(--border,#dfe5eb); border-radius:12px; padding:14px; }
.optional-fields summary { cursor:pointer; font-weight:600; padding:4px; }
.optional-fields[open] summary { margin-bottom:12px; }
.recipient-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; max-height:200px; overflow:auto; padding:12px 0; }
.recipient-options label { display:flex; gap:8px; align-items:center; cursor:pointer; }
.recipient-options input { width:18px; height:18px; }
[data-recipient-picker] { margin-top:10px; }
.calendar-events { max-height:160px; overflow-y:auto; }
body:has(.modal-backdrop) .toast-root { top:18px; bottom:auto; }
.toast { pointer-events:none; }
.toast-close { pointer-events:auto; }

.audit-toolbar { grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,.7fr)) auto; }
@media (max-width:1250px) {
  .audit-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .audit-toolbar .search-control, .audit-toolbar button { grid-column:1 / -1; }
  .audit-toolbar button { justify-self:end; }
}

/* Constrain intrinsic grid widths; keep table/calendar scrolling inside their own panel. */
.page-stack { grid-template-columns:minmax(0,1fr); }
.page-stack > *, .toolbar-main > *, .user-row > *, .audit-row > * { min-width:0; }
.user-identity > span:last-child { min-width:0; }
.user-identity small, .user-identity strong { overflow-wrap:anywhere; white-space:normal; }
.user-scope strong, .user-scope small { display:block; overflow-wrap:anywhere; }
@media (min-width:1451px) { .user-row { grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr) minmax(0,.9fr) auto auto; } }
@media (min-width:981px) and (max-width:1450px) {
  .toolbar-main.filters-open { grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); }
  .toolbar-main.filters-open .search-control { grid-column:span 2; }
  .user-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
  .user-row > :first-child { grid-column:1 / -1; }
  .user-row > :nth-child(6) { grid-column:3; grid-row:2 / 4; }
  .audit-row { grid-template-columns:minmax(100px,.8fr) minmax(180px,1.5fr) minmax(100px,.8fr) auto; }
}
