/* Canonical shared control states. Feature styles own layout; coral-app.css owns palettes. */
html[data-vertical="coral"] {
  --coral-control-radius: 10px;
  --coral-control-height: 44px;
}
html[data-vertical="coral"] :is(.coral-btn-action, .coral-btn-primary, .coral-btn-secondary, .coral-btn-auth, .coral-btn-danger) {
  min-height: var(--coral-control-height);
  border-radius: var(--coral-control-radius);
  gap: 8px;
  font-family: inherit;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}
html[data-vertical="coral"] :is(.coral-btn-action, .coral-btn-primary, .analyze-button):not(.coral-btn-secondary) {
  background: var(--coral-action-fill);
  border-color: var(--coral-action-fill);
  color: var(--coral-action-text);
}
html[data-vertical="coral"] :is(.coral-btn-secondary, .coral-btn-auth) {
  background: var(--coral-surface);
  border-color: var(--coral-border);
  color: var(--coral-link);
}
html[data-vertical="coral"] :is(.coral-btn-secondary, .coral-btn-auth):hover:not(:disabled) {
  background: var(--coral-pale);
  border-color: var(--coral-border-focus);
}
html[data-vertical="coral"] .coral-btn-danger {
  background: var(--coral-surface);
  border: 1px solid currentColor;
  color: var(--coral-rust);
}
html[data-vertical="coral"] :is(button, select, input, textarea, summary, a):focus-visible {
  outline: 2px solid var(--coral-border-focus);
  outline-offset: 3px;
}
html[data-vertical="coral"] :is(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .6;
}
html[data-vertical="coral"] button[aria-busy="true"] { cursor: progress; }
html[data-vertical="coral"] :is(.coral-select, .coral-note-input) {
  min-height: var(--coral-control-height);
  border-radius: var(--coral-control-radius);
  color: var(--coral-ink);
  background: var(--coral-surface);
  border-color: var(--coral-border);
  max-width: 100%;
}
.coral-context-pager { display: grid; gap: 8px; margin-top: 8px; font-size: .875rem; }
.coral-context-pager:empty { display: none; }
.coral-context-pager [role="alert"] { color: var(--coral-rust); }
html[data-vertical="coral"] .coral-status { color: var(--coral-link); }
html[data-vertical="coral"] .coral-status[data-error="true"] { color: var(--coral-rust); }
html[data-vertical="coral"] .coral-history-open { min-height: var(--coral-control-height); }
html[data-vertical="coral"] .account-dropdown .coral-btn-secondary { min-height: var(--coral-control-height); }
@media (prefers-reduced-motion: reduce) {
  html[data-vertical="coral"] *, html[data-vertical="coral"] *::before, html[data-vertical="coral"] *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0s !important;
  }
}
