/* Ultra's reusable composition primitives. The vendored Studio components remain unchanged. */
.apple-ui.ultra-ui { --ax-workbench-rail: 236px; --ax-gap: 22px; margin: 0; }
.apple-ui.ultra-ui *, .apple-ui.ultra-ui *::before, .apple-ui.ultra-ui *::after { box-sizing: border-box; }
.apple-ui.ultra-ui [hidden] { display: none !important; }
.apple-ui.ultra-ui :where(h1,h2,h3,p) { margin: 0; }
.apple-ui.ultra-ui h2 { font: 700 var(--ax-fs-title)/var(--ax-lh-title) var(--ax-font-display); letter-spacing: -.014em; }
.apple-ui.ultra-ui h3 { font: 600 var(--ax-fs-head)/var(--ax-lh-head) var(--ax-font); }
.apple-ui.ultra-ui p { overflow-wrap: anywhere; }
.apple-ui .ax-context-label { margin: 0 0 12px; color: var(--ax-label-2); font: 500 var(--ax-fs-cap)/var(--ax-lh-cap) var(--ax-font); letter-spacing: .16em; text-transform: uppercase; }
.apple-ui .ax-lede { margin-top: 12px; color: var(--ax-label-2); font: 400 16px/23px var(--ax-font); max-width: 640px; }
.apple-ui .ax-panel > h2 + p, .apple-ui .ax-panel > p + p { margin-top: 12px; }
.apple-ui .ultra-stage-link { display: flex; align-items: center; gap: 12px; padding: 12px; min-height: 64px; color: var(--ax-label-2); text-decoration: none; border-radius: var(--ax-r-ctrl); transition: background var(--ax-fast) var(--ax-ease), color var(--ax-fast) var(--ax-ease); }
.apple-ui .ultra-stage-link:hover { background: var(--ax-gray-fill); text-decoration: none; }
.apple-ui .ultra-stage-link.is-current { color: var(--ax-label); background: var(--ax-surface); box-shadow: var(--ax-shadow); }
.apple-ui .ultra-stage-link strong { display: block; font: 600 var(--ax-fs-foot)/var(--ax-lh-foot) var(--ax-font); }
.apple-ui .ultra-stage-link small { display: block; color: var(--ax-label-2); font: 400 var(--ax-fs-cap)/var(--ax-lh-cap) var(--ax-font); margin-top: 2px; }
.apple-ui .ultra-stage-number { display: grid; place-items: center; flex: 0 0 26px; height: 26px; font: 500 var(--ax-fs-cap)/var(--ax-lh-cap) var(--ax-mono); color: var(--ax-label-2); }
.apple-ui .ultra-stage-number svg { width: 18px; height: 18px; }
.apple-ui .ultra-stage-number.is-approved { color: var(--ax-green); }
.apple-ui .ultra-stage-link.is-current .ultra-stage-number { color: var(--ax-red-text); }
.apple-ui .ultra-disclosure-body { padding: 0 20px 20px; }
.apple-ui .ultra-disclosure-body ul { padding-left: 20px; line-height: 1.7; }
.apple-ui .ultra-disclosure-body > p { margin-bottom: 14px; }
.apple-ui .ultra-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin-top: 20px; }
.apple-ui .ultra-fields .ax-field + .ax-field { margin-top: 0; }
.apple-ui .ultra-fields + .ax-field, .apple-ui .ultra-fields + .ax-help { margin-top: 20px; }
.apple-ui .ultra-form-actions { margin-top: 24px; }
.apple-ui .ultra-save-state { font: 400 var(--ax-fs-cap)/var(--ax-lh-cap) var(--ax-font); color: var(--ax-orange); margin-top: 12px; }
@media (max-width: 720px) {
  .apple-ui .ultra-fields { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .apple-ui .ax-large-title { font-size: 32px; line-height: 38px; }
}
@media (prefers-reduced-transparency: reduce) {
  .apple-ui .dashboard-topbar { background: var(--ax-page); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .apple-ui .dashboard-topbar { background: var(--ax-page); backdrop-filter: none; }
  .apple-ui .ax-panel, .apple-ui .ax-list, .apple-ui .ax-signin-card { outline: 1px solid var(--ax-boundary); }
}
@media (prefers-reduced-motion: reduce) {
  .apple-ui .ultra-stage-link { transition: color var(--ax-fast) var(--ax-ease), background-color var(--ax-fast) var(--ax-ease); }
}
