/* A shared, quiet acknowledgement for buyer actions.
   Session 20 owns the base: feedback is plain coloured text, in the page's own tokens, so every
   in-place action (profile, sign out, sign out everywhere) reads as a sentence rather than as a
   panel. Session 22 adds the per-ticket share feedback, which sits inside a card and needs an edge
   to separate it from the card's own copy; that treatment is scoped to `.account-share` alone, so
   taking it never restyles a session 20 line (review-session22.md, blocking item 1). One error
   class serves both: `.action-field-error`. */
.action-feedback { overflow-wrap: anywhere; }
.action-feedback:empty { display: none; }
.action-feedback[data-state="success"] { color: var(--colour-olive); }
.action-feedback[data-state="error"], .action-field-error { color: var(--colour-berry); }
.action-field-error { display: block; font-size: 14px; line-height: 1.5; margin-top: 6px; }
.action-field-error:empty { display: none; }
.action-confirmed { animation: action-confirm var(--motion-reveal, 300ms) ease-out; }
[data-account-action][aria-busy="true"] button { cursor: wait; opacity: .75; }
.account-signed-out { padding-block: 48px; }
.account-signed-out h1 { font-size: clamp(32px, 6vw, 64px); }
@keyframes action-confirm { from { opacity: .45; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

/* Session 22: the share panel inside one ticket card. */
.account-share .action-feedback {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-left: 3px solid var(--colour-olive);
  background: var(--as, #edf0dc);
  color: var(--ai, #211b18);
  font-size: 14px;
  line-height: 1.5;
}
.account-share .action-feedback[data-state="error"] { border-left-color: var(--colour-berry); color: var(--colour-berry); }
.account-share .action-feedback[data-state="success"] { color: var(--ai, #211b18); animation: action-confirm var(--motion-reveal, 250ms) ease-out; }
.account-share .action-feedback:focus-visible { outline: 2px solid var(--colour-olive); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .action-confirmed, .account-share .action-feedback[data-state="success"] { animation: none; }
}
