@layer styles {
  /* Persistent floral feedback. Color never carries the message alone: every
     treatment also has an icon and an explicit title. */
  .ui-floral-feedback {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    min-width: 0;
    max-width: 100%;
    padding: var(--space-sm);
    border: 1px solid var(--floral-line);
    border-radius: var(--floral-control-radius);
    background: var(--floral-paper);
    color: var(--floral-ink);
    font-family: var(--floral-sans);
    font-size: var(--floral-control-text);
    line-height: 1.5;
  }

  .ui-floral-feedback__icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    min-height: 1.75rem;
  }

  .ui-floral-feedback__content {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .ui-floral-feedback__title {
    margin: 0;
    font-weight: 600;
    line-height: 1.4;
  }

  .ui-floral-feedback__message,
  .ui-floral-feedback__meta {
    margin: var(--space-3xs) 0 0;
    line-height: 1.5;
  }

  .ui-floral-feedback__meta { color: var(--floral-muted); }

  .ui-floral-feedback__items,
  .ui-floral-feedback__links {
    margin: var(--space-2xs) 0 0;
    padding-left: 1.1rem;
  }

  .ui-floral-feedback__links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2xs) var(--space-sm);
    padding-left: 0;
    list-style: none;
  }

  .ui-floral-feedback__items a,
  .ui-floral-feedback__links a {
    display: inline-flex;
    align-items: center;
    min-height: max(44px, var(--floral-control-height));
    min-width: 44px;
    color: var(--floral-rose);
    font-size: var(--floral-control-text);
    font-weight: 600;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }

  .ui-floral-feedback__items a:focus-visible,
  .ui-floral-feedback__links a:focus-visible {
    outline: 2px solid var(--floral-ink);
    outline-offset: 2px;
  }

  .ui-floral-feedback--success {
    border-color: var(--floral-line);
    background: var(--floral-leaf);
  }

  .ui-floral-feedback--warning {
    border-color: var(--floral-danger-line);
    background: var(--floral-blush);
  }

  .ui-floral-feedback--error,
  .ui-floral-feedback--conflict {
    border-color: var(--floral-danger-line);
    background: var(--floral-rose-paper);
    color: var(--floral-danger);
  }

  .ui-floral-feedback--empty {
    border-style: dashed;
    background: transparent;
    color: var(--floral-muted);
  }

  .ui-floral-feedback--loading {
    background: var(--floral-sage-paper);
  }

  .ui-floral-feedback__spinner svg { animation: ui-floral-feedback-spin 1s linear infinite; }

  @keyframes ui-floral-feedback-spin {
    to { transform: rotate(360deg); }
  }

  @media (prefers-reduced-motion: reduce) {
    .ui-floral-feedback__spinner svg { animation: none; }
  }
}
