.proposal-invitation {
  position: fixed;
  inset: auto 20px 20px auto;
  z-index: 45;
  width: min(360px, calc(100% - 32px));
  padding: 22px;
  border: 1px solid #bec5ca;
  border-radius: 16px;
  background: var(--paper-2);
  color: var(--dark-ink);
  box-shadow: 0 8px 28px #10202f24;
}
.proposal-invitation h2 { font-size: 1.5rem; margin-bottom: 8px; }
.proposal-invitation p { font-size: .94rem; line-height: 1.5; }
.proposal-invitation :focus-visible { outline-color: #854607; }
.proposal-invitation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.proposal-invitation-actions .btn { padding: 10px 16px; border: 0; border-radius: 8px; font: inherit; font-weight: 650; cursor: pointer; }
.proposal-dismiss { min-width: 68px; min-height: 44px; padding: 8px 12px; background: transparent; border: 1px solid #767c83; border-radius: 8px; color: var(--dark-ink); font: inherit; cursor: pointer; }
.proposal-dismiss:hover { background: #e8e2d8; }
.proposal-dialog {
  margin: auto;
  padding: 0;
  width: min(640px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #bec5ca;
  border-radius: 16px;
  background: var(--paper-2);
  color: var(--dark-ink);
}
.proposal-dialog::backdrop { background: #10202f85; }
.proposal-dialog-heading { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 22px; border-bottom: 1px solid #d9dddf; background: var(--paper-2); }
.proposal-dialog-heading h2 { font-size: 1.6rem; }
.proposal-dialog .ask { border: 0; border-radius: 0; padding: 22px; }
.proposal-dialog .ask input { scroll-margin-top: 100px; }
.proposal-dialog .ask .ask-note { font-size: .88rem; }
.proposal-dialog-open { overflow: hidden; }
@media (max-width: 600px) {
  .proposal-invitation { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 18px; }
  .proposal-dialog-heading, .proposal-dialog .ask { padding: 16px; }
}
/* There are no entrance animations or automatic scrolling. Keep this
   explicit if transitions are added to shared button styles later. */
@media (prefers-reduced-motion: reduce) {
  .proposal-invitation, .proposal-invitation *, .proposal-dialog, .proposal-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
