/* Prism semantic component contract 1.0 */
[data-prism-theme="omni-dark"] {
  color: var(--op-color-text-primary);
  background: var(--op-color-background);
  font-family: var(--op-font-family-body);
  font-size: var(--op-font-size-body);
  line-height: var(--op-line-height-body);
}
.op-shell { min-height: 100vh; color: var(--op-color-text-primary); background: var(--op-color-background); }
.op-shell--workspace-sidebar { display: grid; grid-template-columns: var(--op-shell-sidebar-width) minmax(0, 1fr); }
.op-shell__sidebar { background: var(--op-color-surface); border-inline-end: var(--op-border-width) solid var(--op-color-border); }
.op-shell__workspace { min-width: 0; }
.op-shell__header, .op-page__header, .op-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--op-space-4); }
.op-shell__main, .op-page { padding: var(--op-space-6); }
.op-page { display: grid; gap: var(--op-space-6); }
.op-page__title { margin: 0; font-size: var(--op-font-size-heading); }
.op-page__summary, .op-field__help { color: var(--op-color-text-secondary); }
.op-card { display: grid; gap: var(--op-gap-card); padding: var(--op-space-4); background: var(--op-color-surface); border: var(--op-border-width) solid var(--op-color-border); border-radius: var(--op-radius-card); box-shadow: var(--op-shadow-card); }
.op-field { display: grid; gap: var(--op-space-2); }
.op-field__label { font-weight: var(--op-font-weight-semibold); }
.op-input, .op-select { width: 100%; padding: var(--op-space-3); color: inherit; background: var(--op-color-surface-raised); border: var(--op-border-width) solid var(--op-color-border); border-radius: var(--op-radius-control); }
.op-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--op-space-2); padding: var(--op-space-3) var(--op-space-4); color: var(--op-color-accent-contrast); background: var(--op-color-accent); border: 0; border-radius: var(--op-radius-control); transition: filter var(--op-motion-fast); }
.op-button:focus-visible, .op-input:focus-visible, .op-select:focus-visible { outline: var(--op-focus-ring); outline-offset: 2px; }
.op-table { width: 100%; border-collapse: collapse; }
.op-table th, .op-table td { padding: var(--op-space-3); border-bottom: var(--op-border-width) solid var(--op-color-border); text-align: start; }
.op-alert { padding: var(--op-space-3) var(--op-space-4); background: var(--op-color-surface-raised); border-inline-start: var(--op-space-1) solid var(--op-color-accent); border-radius: var(--op-radius-control); }

@media (max-width: 760px) { .op-shell--workspace-sidebar { grid-template-columns: 1fr; } .op-shell__sidebar { display: none; } }
