/* Explicit primary-three opt-in. Hidden state and native specialist layouts remain authoritative. */
html[data-flowstack-page-states] body[data-flowstack-interface] :is(.fs-page-state, .page-message, .inline-notice, .manage-users-empty-state):not([hidden]):not(:empty):not(.fs-cap-blocker) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  margin: 12px 0;
  padding: 16px;
  border: 1px solid #cad9dc;
  border-left: 4px solid var(--fs-state-accent,#0f766e);
  border-radius: 8px;
  background: var(--fs-state-bg,#f3f8f8);
  color: var(--fs-state-text,#172026);
  font: 400 16px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state:not([hidden]) { display: flex; align-items: flex-start; gap: 12px; }
html[data-flowstack-page-states] body[data-flowstack-interface] :is([data-fs-state="error"],.page-message.error,.page-message[data-tone="error"],.inline-notice[data-tone="danger"]) { --fs-state-accent: #b42318; --fs-state-bg: #fff5f4; --fs-state-text: #7a271a; }
html[data-flowstack-page-states] body[data-flowstack-interface] :is([data-fs-state="success"],.page-message.success,.page-message[data-tone="success"]) { --fs-state-accent: #087443; --fs-state-bg: #f0faf5; --fs-state-text: #14532d; }
html[data-flowstack-page-states] body[data-flowstack-interface] :is([data-fs-state="warning"],.inline-notice[data-tone="warning"]) { --fs-state-accent: #946200; --fs-state-bg: #fffaeb; --fs-state-text: #714b00; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state[hidden] { display: none; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__icon { flex: 0 0 24px; width: 24px; height: 24px; border: 1px solid currentColor; border-radius: 50%; text-align: center; font-weight: 700; font-size: 16px; line-height: 22px; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__body { min-width: 0; flex: 1; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__body p { margin: 0; color: inherit; font: inherit; white-space: pre-wrap; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__body strong { display: block; margin-bottom: 4px; font-size: 16px; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__actions button { position: static; width: auto; min-height: 44px; margin: 0; padding: 8px 16px; border: 1px solid #60777c; border-radius: 6px; background: #fff; color: #12343b; font: inherit; cursor: pointer; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__actions button:disabled { opacity: .6; cursor: wait; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state__actions button:focus-visible { outline: 2px solid #0f766e; outline-offset: 2px; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-state-notifications { position: fixed; z-index: 10000; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: min(480px, calc(100vw - 32px)); max-height: 50dvh; overflow: auto; }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-state-notifications .fs-page-state { margin: 8px 0 0; box-shadow: 0 3px 14px rgb(10 30 35 / 15%); }
html[data-flowstack-page-states] body[data-flowstack-interface] .fs-state-startup { width: min(640px, calc(100% - 32px)); margin: 48px auto; }
@media (prefers-reduced-motion: reduce) { html[data-flowstack-page-states] body[data-flowstack-interface] .fs-page-state { animation: none; transition: none; } }
@media print { html[data-flowstack-page-states] body[data-flowstack-interface] .fs-state-notifications { display: none; } }
