.kitchen-members-panel,
.kitchen-members-page {
  --ui-focus-outline: var(--color-heeler);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  background: var(--color-paper);
  border: var(--line);
  border-radius: var(--radius-xl);
  box-sizing: border-box;
}
.kitchen-members-panel {
  position: fixed;
  inset: 5rem auto auto 1.5rem;
  margin: 0;
  width: min(390px, calc(100vw - 24px));
  max-height: calc(100dvh - 6.5rem);
  overflow-y: auto;
  padding: var(--space-lg);
  box-shadow: none;
}
.kitchen-members-page {
  width: min(100% - 24px, 440px);
  margin: var(--space-lg) auto;
  padding: var(--space-lg);
}
.kitchen-sharing-content { min-width: 0; }
body:has(.kitchen-members-page) { background: var(--color-cream); }
.app-shell:has(.kitchen-members-page) { background: var(--color-cream); }
.app-shell:has(.kitchen-members-page) .app-main { min-height: 0; }
html:has(.kitchen-members-panel:popover-open) { overflow: hidden; scrollbar-gutter: stable; }
.kitchen-members-heading { display: flex; align-items: start; justify-content: space-between; gap: var(--space-sm); }
.kitchen-members-heading :is(h1, h2) {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-headline);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-title);
  letter-spacing: 0;
}
.kitchen-members-close {
  display: grid; place-items: center; flex: 0 0 44px;
  width: 44px; min-height: 44px; margin: calc(var(--space-sm) * -1) calc(var(--space-sm-md) * -1) 0 0;
  border: 0; border-radius: var(--radius-round); background: transparent; color: var(--color-ink-soft);
  font: inherit; font-size: var(--text-headline); text-decoration: none; cursor: pointer;
}
.kitchen-sharing-intro { margin: var(--space-sm) 0 var(--space-lg); font-size: var(--text-body); color: var(--color-ink-soft); }
.kitchen-invite-form { display: grid; gap: var(--space-md); }
.kitchen-invite-field { display: grid; gap: var(--space-sm); }
.kitchen-invite-form input[type=email],
.kitchen-invite-form input[type=password],
.kitchen-members-section select {
  width: 100%; min-height: 48px; box-sizing: border-box; padding: var(--input-padding);
  border: var(--line); border-radius: var(--radius-md); background: var(--color-paper);
  font: inherit; color: var(--color-ink);
}
.kitchen-invite-form input:is([type=email], [type=password]) { scroll-margin-block: calc(var(--space-sm) * 15) var(--space-lg); }
.kitchen-invite-form input::placeholder { color: var(--color-ink-soft); opacity: 1; }
.kitchen-invite-access { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm-md); padding: 0; border: 0; margin: 0; min-width: 0; }
.kitchen-invite-access legend { margin-bottom: var(--space-sm); padding: 0; }
.kitchen-invite-access label {
  display: flex; align-items: center; gap: var(--space-sm-md); min-height: 52px;
  border: var(--line); border-radius: var(--radius-md); padding: var(--space-sm-md) var(--space-sm-md);
  box-sizing: border-box; cursor: pointer;
}
.kitchen-invite-access label:has(:checked) { background: var(--color-hover); outline: 1.5px solid var(--color-heeler); outline-offset: -1.5px; }
.kitchen-invite-access input,
.kitchen-scope-confirm input { accent-color: var(--color-heeler); width: 20px; height: 20px; flex-shrink: 0; margin: 0; }
.kitchen-scope-review { border-block: 1px solid var(--color-border); background: transparent; padding: 0; }
.kitchen-scope-review p { font-size: var(--text-label); color: var(--color-ink-soft); }
.kitchen-scope-review summary,
.kitchen-sharing-settings > summary { display: flex; justify-content: space-between; align-items: center; min-height: 48px; list-style: none; cursor: pointer; }
.kitchen-scope-review summary::after,
.kitchen-sharing-settings > summary::after { content: ""; width: 7px; height: 7px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); margin-right: var(--space-xs); }
.kitchen-scope-review[open] summary::after,
.kitchen-sharing-settings[open] > summary::after { transform: rotate(135deg); }
.kitchen-scope-confirm { display: flex; align-items: center; gap: var(--space-sm-md); min-height: 44px; font-size: var(--text-body); cursor: pointer; }
.kitchen-sharing-scope,
.kitchen-members-hint { font-size: var(--text-label); color: var(--color-ink-soft); margin: 0; }
.kitchen-invite-expiry { text-align: center; line-height: var(--leading-body); }
.kitchen-members-button {
  display: inline-flex; justify-content: center; align-items: center; gap: var(--space-sm);
  min-height: 48px; padding: var(--space-sm-md) var(--space-lg); border: var(--line);
  border-radius: var(--radius-control); background: var(--color-heeler); color: var(--color-paper); font-weight: var(--weight-semibold); font-size: var(--text-body); line-height: var(--leading-title); font-family: var(--font-display);
  cursor: pointer; text-decoration: none; box-sizing: border-box;
  transition: background-color 140ms ease, border-color 140ms ease;
}
.kitchen-invite-form > input[type=submit] { width: 100%; }
.kitchen-members-button--quiet { background: var(--color-paper); color: var(--color-ink); border-color: var(--line-color); }
.kitchen-members-button:active:not(:disabled) { transform: scale(0.98); }
.kitchen-members-button:disabled { background: var(--color-cream-dark); border-color: var(--color-border); color: var(--color-ink-soft); cursor: default; }
.kitchen-members-list { list-style: none; padding: 0; margin: 0; }
.kitchen-member-row, .kitchen-invitation-row {
  display: flex; align-items: center; gap: var(--space-sm-md); padding: var(--space-lg) 0;
  border-bottom: 1px solid var(--color-border); min-width: 0;
}
.kitchen-member-avatar { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; background: var(--color-hover); font-size: var(--text-body); color: var(--color-ink-soft); }
.kitchen-member-avatar--joined { background: var(--color-ink); color: var(--color-paper); }
.kitchen-member-avatar--pending { background: transparent; border: 1.5px dashed var(--color-ink-faint); box-sizing: border-box; }
.kitchen-member-identity { display: grid; gap: var(--space-2xs); flex: 1; min-width: 0; }
.kitchen-member-email { font-weight: var(--weight-medium); overflow-wrap: anywhere; }
.kitchen-member-address { font-size: var(--text-label); color: var(--color-ink-soft); overflow-wrap: anywhere; }
.kitchen-member-role { color: var(--color-ink-soft); white-space: nowrap; font-size: var(--text-body); }
.kitchen-invitation-status { font-size: var(--text-label); color: var(--color-ink-soft); display: flex; gap: var(--space-sm); align-items: center; }
.kitchen-invitation-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--color-ink-faint); }
.kitchen-pending-section h3 { font: inherit; font-size: var(--text-label); color: var(--color-ink-soft); margin: var(--space-lg) 0 0; }
.kitchen-row-actions { position: relative; flex: 0 0 44px; }
.kitchen-row-actions > summary { display: grid; place-items: center; width: 44px; min-height: 44px; list-style: none; border: var(--line); border-radius: var(--radius-round); cursor: pointer; }
.kitchen-row-actions > summary span {  }
.kitchen-row-menu { position: absolute; z-index: 5; right: 0; top: calc(100% + 6px); width: min(260px, calc(100vw - 72px)); background: var(--color-paper); border: var(--line); border-radius: var(--radius-lg); padding: var(--space-sm); box-shadow: none; }
.kitchen-row-menu { max-height: min(420px, calc(100dvh - 160px)); overflow-y: auto; overscroll-behavior: contain; }
.kitchen-row-menu p { font-size: var(--text-label); color: var(--color-ink-soft); padding: var(--space-xs) var(--space-sm); margin: 0 0 var(--space-sm); }
.kitchen-row-menu form { margin: 0; }
.kitchen-row-menu .kitchen-scope-confirm { align-items: start; padding: var(--space-sm); font-size: var(--text-label); }
.kitchen-row-menu .kitchen-members-button { width: 100%; font-size: var(--text-body); }
.kitchen-menu-action, .kitchen-resend-review > summary { display: flex; align-items: center; width: 100%; min-height: 44px; padding: var(--space-sm-md) var(--space-sm-md); box-sizing: border-box; background: transparent; border: 0; border-radius: var(--radius-sm); color: var(--color-ink); font: inherit; text-align: left; cursor: pointer; }
.kitchen-row-menu .button_to { border-top: 1px solid var(--color-border); }
.kitchen-resend-review > summary { list-style: none; }
.kitchen-invite-disclosure { margin-top: var(--space-xl); }
.kitchen-invite-disclosure > summary { display: flex; justify-content: center; align-items: center; list-style: none; min-height: 48px; padding: var(--space-sm) var(--space-md); border: var(--line); border-radius: var(--radius-control); font-weight: var(--weight-semibold); font-size: var(--text-body); line-height: var(--leading-title); font-family: var(--font-display); cursor: pointer; }
.kitchen-invite-disclosure[open] > summary { margin-bottom: var(--space-lg); }
.kitchen-sharing-settings { border-top: 1px solid var(--color-border); margin-top: var(--space-xl); padding-top: var(--space-sm); }
.kitchen-sharing-settings > summary { color: var(--color-ink-soft); font-size: var(--text-body); }
.kitchen-members-section { margin-top: var(--space-md); padding-top: var(--space-md); border-top: 1px solid var(--color-border); }
.kitchen-members-section h3 { font-family: var(--font-display); font-size: var(--text-title); font-weight: var(--weight-semibold); }
.kitchen-members-section summary { min-height: 44px; cursor: pointer; }
.kitchen-members-section p { font-size: var(--text-label); color: var(--color-ink-soft); }
.kitchen-members-notice, .kitchen-members-error { margin: 0 0 var(--space-lg); padding: var(--space-sm-md) var(--space-md); border: var(--line); border-radius: var(--radius-md); font-size: var(--text-body); }
.kitchen-members-notice { border-color: var(--line-color); color: var(--color-ink-soft); background: var(--color-cream-dark); }
/* Alerts keep the ink line (DESIGN.md Ink edges). */
.kitchen-members-error { border-color: var(--color-ink); color: var(--color-tomato-ink); background: var(--color-tomato-light); }
.kitchen-members-create { display: flex; align-items: center; margin-top: var(--space-md); color: var(--color-heeler-dark); min-height: 44px; }
.kitchen-invitation-review { display: grid; gap: var(--space-md); }
.kitchen-invitation-review > * { margin: 0; }
.kitchen-invitation-review .kitchen-members-heading :is(h1) { overflow-wrap: anywhere; }
.kitchen-invitation-lede { color: var(--color-ink); }
.kitchen-invitation-review .button_to .kitchen-members-button,
.kitchen-invitation-review > .kitchen-members-button { width: 100%; }
.kitchen-proof-code > summary { min-height: 44px; display: flex; align-items: center; color: var(--color-heeler-dark); cursor: pointer; list-style: none; font-size: var(--text-body); }
.kitchen-proof-code input[type=text] { width: 100%; min-height: 48px; box-sizing: border-box; padding: var(--input-padding); border: var(--line); border-radius: var(--radius-md); background: var(--color-paper); font: inherit; }
.kitchen-invitation-row { align-items: start; }
.kitchen-invitation-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-md); margin-top: var(--space-sm); }
.kitchen-invitation-actions .button_to { margin: 0; }
.kitchen-invitation-actions:has(.kitchen-resend-review[open]) .button_to { display: none; }
.kitchen-resend-review[open] { flex-basis: 100%; }
.kitchen-invitation-actions .kitchen-resend-review > summary,
.kitchen-row-link { display: inline-flex; align-items: center; width: auto; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--color-heeler-dark); font: inherit; font-size: var(--text-body); font-weight: var(--weight-medium); cursor: pointer; list-style: none; }
.kitchen-resend-review form { display: grid; gap: var(--space-sm-md); padding: var(--space-sm-md); margin-top: var(--space-xs); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-cream); }
.kitchen-resend-review form .kitchen-members-button { width: 100%; }
.kitchen-members-panel :focus-visible,
.kitchen-members-page :focus-visible { outline: 2px solid var(--color-heeler-dark); outline-offset: 3px; }
.kitchen-members-panel summary::-webkit-details-marker,
.kitchen-members-page summary::-webkit-details-marker { display: none; }
@supports (top: anchor(bottom)) {
  .kitchen-members-panel { position-anchor: --kitchen-header-context; top: calc(anchor(bottom) + 10px); left: anchor(left); }
}
@media (max-width: 640px) {
  .kitchen-members-panel { inset: 110px 12px auto; width: auto; max-height: calc(100dvh - 122px); padding: var(--space-lg); }
  .kitchen-members-page { margin-top: var(--space-md); padding: var(--space-lg); }
  .kitchen-member-row, .kitchen-invitation-row { gap: var(--space-sm); }
}
@media (max-width: 350px) {
  .kitchen-invite-access label { gap: var(--space-sm); padding-inline: var(--space-sm); font-size: var(--text-body); white-space: nowrap; }
}
@media (hover: hover) and (pointer: fine) {
  .kitchen-members-button:hover:not(:disabled) { background: var(--color-heeler-dark); }
  .kitchen-members-button--quiet:hover:not(:disabled) { background: var(--color-hover); }
  .kitchen-members-close:hover, .kitchen-invite-disclosure > summary:hover,
  .kitchen-menu-action:hover, .kitchen-row-actions > summary:hover, .kitchen-resend-review > summary:hover { background: var(--color-hover); }
}
@media (prefers-reduced-motion: reduce) {
  .kitchen-members-button:active:not(:disabled) { transform: none; }
}
