/* URUS R64B/R64E tenant UI foundation. Legacy unlayered styles retain precedence. */
@layer urus-foundation {
  :where(html[data-urus-surface]) {
    font-family: var(--urus-font-surface, "Plus Jakarta Sans", system-ui, sans-serif);
    text-rendering: optimizeLegibility;
  }

  :where(html[data-urus-surface] *, html[data-urus-surface] *::before, html[data-urus-surface] *::after) {
    box-sizing: border-box;
  }

  :where(html[data-urus-surface] a, html[data-urus-surface] button, html[data-urus-surface] input,
    html[data-urus-surface] select, html[data-urus-surface] textarea, html[data-urus-surface] [tabindex]):focus-visible {
    outline: 2px solid var(--urus-color-info);
    outline-offset: 2px;
    box-shadow: var(--urus-focus-ring);
  }

  :where(.urus-container) {
    width: min(100% - (2 * var(--urus-space-4)), var(--urus-content-width));
    margin-inline: auto;
  }

  :where(.urus-control, .field-control) {
    min-height: var(--urus-control-height-md);
    padding-inline: var(--urus-space-3);
    border: 1px solid var(--urus-border-default);
    border-radius: var(--urus-radius-xl);
    background: rgba(18, 29, 49, 0.92);
    color: var(--urus-text-primary);
    font: inherit;
    transition: border-color var(--urus-motion-base) var(--urus-ease-standard),
      box-shadow var(--urus-motion-base) var(--urus-ease-standard);
  }

  :where(.urus-control:focus, .field-control:focus) {
    border-color: var(--urus-color-brand-primary);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.18);
  }

  :where(.urus-button, .urus-btn) {
    display: inline-flex;
    min-height: var(--urus-control-height-md);
    align-items: center;
    justify-content: center;
    gap: var(--urus-space-2);
    padding-inline: var(--urus-space-4);
    border: 1px solid transparent;
    border-radius: var(--urus-radius-xl);
    font: inherit;
    font-weight: var(--urus-font-weight-semibold);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--urus-motion-base) var(--urus-ease-standard),
      border-color var(--urus-motion-base) var(--urus-ease-standard),
      color var(--urus-motion-base) var(--urus-ease-standard),
      box-shadow var(--urus-motion-base) var(--urus-ease-standard),
      transform var(--urus-motion-fast) var(--urus-ease-standard);
  }

  :where(.urus-button--primary, .urus-btn-primary) {
    background: linear-gradient(to right, #2563eb, #4f46e5);
    color: var(--urus-color-text-inverse);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.25);
  }

  :where(.urus-button--primary:hover, .urus-btn-primary:hover) {
    background: linear-gradient(to right, #1d4ed8, #4338ca);
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35);
    transform: translateY(-1px);
  }

  :where(.urus-button--secondary, .urus-btn-secondary) {
    border-color: var(--urus-border-default);
    background: rgba(20, 31, 52, 0.76);
    color: var(--urus-text-primary);
  }

  :where(.urus-card, .urus-panel) {
    border: 1px solid var(--urus-border-default);
    border-radius: var(--urus-radius-2xl);
    background: var(--urus-surface-panel);
    box-shadow: var(--urus-shadow-sm);
  }

  :where(.urus-alert, .urus-badge) {
    border: 1px solid currentColor;
    border-radius: var(--urus-radius-md);
  }

  :where(.urus-alert) {
    padding: var(--urus-space-3) var(--urus-space-4);
    border-radius: var(--urus-radius-xl);
  }

  :where(.urus-badge) {
    display: inline-flex;
    align-items: center;
    min-height: 1.5rem;
    padding-inline: var(--urus-space-3);
    border-radius: var(--urus-radius-pill);
    font-size: var(--urus-font-size-xs);
    font-weight: var(--urus-font-weight-bold);
    letter-spacing: 0.04em;
  }

  :where(.urus-alert--success, .urus-badge--success) { background: var(--urus-color-success-soft); color: var(--urus-color-success); }
  :where(.urus-alert--warning, .urus-badge--warning) { background: var(--urus-color-warning-soft); color: var(--urus-color-warning); }
  :where(.urus-alert--danger, .urus-badge--danger) { background: var(--urus-color-danger-soft); color: var(--urus-color-danger); }
  :where(.urus-alert--info, .urus-badge--info) { background: var(--urus-color-info-soft); color: var(--urus-color-info); }

  :where(.urus-loading, [data-urus-loading="true"], [aria-busy="true"]) {
    cursor: progress;
  }

  :where(.urus-button:disabled, .urus-control:disabled, [aria-disabled="true"]) {
    opacity: var(--urus-disabled-opacity);
    cursor: not-allowed;
  }
}

@media (prefers-reduced-motion: reduce) {
  @layer urus-foundation {
    :where(html[data-urus-surface] *, html[data-urus-surface] *::before, html[data-urus-surface] *::after) {
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
    }
  }
}
