/**
 * Owner Portal visual alignment — DEP-01.1 foundations + DEP-01.2 primitives + DEP-01.3 shell.
 * Hex-free. Maps PX1 Figma Lock onto existing theme-loader tokens.
 * Brand/primary and brand/accent both consume --color-accent (ACCEPTED_ADAPTATION).
 * Do not mix rastan-* / rbn-* classes into Owner markup.
 */

/* ── DEP-01.1 Foundations ─────────────────────────────────────────── */
.owner-portal-body {
  --color-accent: var(--color-primary, CanvasText);
  --color-on-accent: var(--owner-surface);
  --owner-text: var(--color-text, CanvasText);
  --owner-surface: var(--color-surface, Canvas);
  --owner-canvas: var(--color-background, Canvas);
  --owner-border: var(--color-muted, color-mix(in srgb, CanvasText 18%, Canvas));
  --owner-muted-text: color-mix(in srgb, var(--owner-text) 72%, var(--owner-canvas));
  --owner-muted: var(--owner-border);
  --owner-space-xs: var(--spacing-xs, 0.25rem);
  --owner-space-sm: var(--spacing-sm, 0.5rem);
  --owner-space-md: var(--spacing-md, 1rem);
  --owner-space-lg: var(--spacing-lg, 1.5rem);
  --owner-space-xl: var(--spacing-xl, 2.5rem);
  --owner-radius-sm: var(--radius-sm, 0.5rem);
  --owner-radius-md: var(--radius-md, 0.75rem);
  --owner-radius-lg: var(--radius-lg, 1.25rem);
  --owner-type-title: 1.125rem;
  --owner-type-body: 0.875rem;
  --owner-type-label: 0.875rem;
  --owner-motion: 160ms;
  --owner-target: 2.75rem;
  margin: 0;
  min-block-size: 100vh;
  color: var(--owner-text);
  background-color: var(--owner-canvas);
  background-image: none;
  font-family: var(--font-sans, var(--font-family-sans, system-ui, sans-serif));
  font-size: var(--font-scale-base, 1rem);
  line-height: 1.5;
  text-align: start;
}

html[dir="rtl"] .owner-portal-body,
html[dir="ltr"] .owner-portal-body {
  text-align: start;
}

.owner-skip-link {
  position: absolute;
  inset-inline-start: var(--owner-space-sm);
  inset-block-start: var(--owner-space-sm);
  transform: translateY(-200%);
  padding: var(--owner-space-xs) var(--owner-space-sm);
  background-color: var(--owner-surface);
  color: var(--owner-text);
  z-index: 20;
}

.owner-skip-link:focus {
  transform: translateY(0);
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.owner-gate,
.owner-app {
  min-block-size: 100vh;
}

.owner-gate {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--owner-space-lg);
}

.owner-gate[hidden],
.owner-app[hidden],
.owner-gate__form[hidden],
.owner-banner[hidden],
#owner-locale-retry[hidden],
.owner-nav a[hidden],
.owner-more[hidden],
.owner-header__org-switch[hidden] {
  display: none;
}

.owner-help {
  margin: 0;
  font-size: var(--owner-type-body);
  font-weight: 400;
  color: var(--owner-muted-text);
}

/* ── DEP-01.2 PX1/Card ────────────────────────────────────────────── */
.owner-gate__card,
.owner-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--owner-space-md);
  padding: var(--owner-space-lg);
  border: 1px solid var(--owner-border);
  border-radius: var(--owner-radius-md);
  background-color: var(--owner-surface);
}

.owner-gate__card {
  inline-size: min(40rem, 100%);
}

.owner-main .owner-card {
  inline-size: 100%;
  max-inline-size: none;
}

.owner-card--raised {
  box-shadow: 0 4px 8px color-mix(in srgb, var(--owner-text) 8%, transparent);
}

.owner-header__title,
.owner-gate__card h1,
.owner-card h2,
.owner-card h3,
.owner-overview-header h2,
.owner-overview-hero h3,
.owner-venue-header h2,
.owner-members-header h2,
.owner-orgs-header h2,
.owner-support-header h2,
.owner-security-header h2,
.owner-invite-header h2 {
  margin: 0;
  font-size: var(--owner-type-title);
  font-weight: 500;
  line-height: 1.25;
  color: var(--owner-text);
}

.owner-card p,
.owner-gate__card p {
  margin: 0;
  font-size: var(--owner-type-body);
}

/* ── DEP-01.2 PX1/Button ──────────────────────────────────────────── */
.owner-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 2.75rem;
  padding-block: var(--owner-space-sm);
  padding-inline: var(--owner-space-md);
  font: inherit;
  font-size: var(--owner-type-label);
  font-weight: 500;
  line-height: 1.25;
  color: var(--owner-text);
  background-color: var(--owner-surface);
  border: 1px solid var(--owner-border);
  border-radius: var(--owner-radius-sm);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--owner-motion) ease,
    border-color var(--owner-motion) ease,
    color var(--owner-motion) ease,
    opacity var(--owner-motion) ease;
}

.owner-btn--primary {
  background-color: var(--color-accent);
  color: var(--color-on-accent, var(--owner-canvas));
  border-color: var(--color-accent);
}

.owner-btn--sm {
  padding-inline: var(--owner-space-sm);
}

.owner-btn:hover,
.owner-btn:focus,
.owner-btn:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.owner-btn:disabled,
.owner-btn[aria-busy="true"] {
  opacity: 0.6;
  cursor: not-allowed;
}

.owner-btn[aria-busy="true"] {
  pointer-events: none;
}

/* ── DEP-01.2 PX1/Field ───────────────────────────────────────────── */
.owner-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--owner-space-xs);
}

.owner-field:has(input[type="checkbox"]) {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--owner-space-sm);
}

.owner-field label {
  font-size: var(--owner-type-label);
  font-weight: 500;
  color: var(--owner-text);
}

.owner-field--error label,
.owner-field--error .owner-field__message {
  color: var(--color-danger, var(--color-accent));
}

.owner-field input,
.owner-field select,
.owner-header__context select,
.owner-field textarea {
  box-sizing: border-box;
  inline-size: 100%;
  min-block-size: 2.75rem;
  padding-block: var(--owner-space-sm);
  padding-inline: var(--owner-space-sm);
  font: inherit;
  font-size: var(--owner-type-body);
  color: var(--owner-text);
  background-color: var(--owner-canvas);
  border: 1px solid var(--owner-border);
  border-radius: var(--owner-radius-sm);
  transition:
    border-color var(--owner-motion) ease,
    outline-color var(--owner-motion) ease;
}

.owner-field textarea {
  min-block-size: 5.5rem;
}

.owner-field input:focus,
.owner-field select:focus,
.owner-header__context select:focus,
.owner-field textarea:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.owner-field--error input,
.owner-field--error select,
.owner-field--error textarea {
  border-width: 2px;
  border-color: var(--color-danger, var(--color-accent));
}

.owner-field input:disabled,
.owner-field select:disabled,
.owner-field textarea:disabled {
  opacity: 0.6;
}

.owner-field__message {
  margin: 0;
  font-size: 0.75rem;
}

.owner-form {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-handoff {
  display: grid;
  gap: var(--owner-space-md);
}

.owner-handoff-fallback summary {
  cursor: pointer;
  font-weight: 600;
  margin-block-end: var(--owner-space-sm);
}

.owner-handoff-fallback .owner-secret-once {
  overflow-wrap: anywhere;
  direction: ltr;
  text-align: start;
}

/* ── DEP-01.2 PX1/Banner ──────────────────────────────────────────── */
.owner-banner {
  margin: 0;
  padding: var(--owner-space-sm);
  border-radius: var(--owner-radius-sm);
  border: 1px solid var(--owner-border);
  background-color: var(--owner-surface);
  font-size: var(--owner-type-body);
  font-weight: 500;
  color: var(--owner-text);
}

.owner-banner--info {
  font-weight: 500;
  color: var(--owner-text);
}

.owner-banner--alert {
  border-color: var(--color-danger, var(--color-accent));
  font-weight: 500;
  color: var(--color-danger, var(--color-accent));
}

.owner-banner--empty {
  font-weight: 400;
  font-style: italic;
  color: var(--owner-muted-text);
}

.owner-banner--warn {
  border-color: var(--color-warning, var(--color-accent));
  font-weight: 500;
  color: var(--owner-text);
}

/* ── DEP-01.2 PX1/NavItem (+ DEP-01.3 shell nav) ───────────────────── */
.owner-nav {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--owner-space-sm);
  min-inline-size: 0;
}

.owner-nav a,
.owner-more__nav a,
.owner-bottom-nav a,
.owner-bottom-nav button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  inline-size: 100%;
  min-block-size: var(--owner-target);
  min-inline-size: var(--owner-target);
  padding: var(--owner-space-sm);
  border-radius: var(--owner-radius-sm);
  color: var(--owner-text);
  text-decoration: none;
  text-align: start;
  font: inherit;
  font-size: var(--owner-type-label);
  font-weight: 500;
  border: 1px solid transparent;
  background-color: transparent;
  cursor: pointer;
  transition:
    border-color var(--owner-motion) ease,
    background-color var(--owner-motion) ease,
    color var(--owner-motion) ease;
}

.owner-nav a[aria-current="page"],
.owner-more__nav a[aria-current="page"],
.owner-bottom-nav a[aria-current="page"],
.owner-bottom-nav button[aria-current="page"] {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
  color: var(--color-on-accent, var(--owner-canvas));
}

.owner-nav a:focus,
.owner-nav a:focus-visible,
.owner-more__nav a:focus,
.owner-more__nav a:focus-visible,
.owner-bottom-nav a:focus,
.owner-bottom-nav a:focus-visible,
.owner-bottom-nav button:focus,
.owner-bottom-nav button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

html[dir="rtl"] .owner-nav a,
html[dir="ltr"] .owner-nav a,
html[dir="rtl"] .owner-more__nav a,
html[dir="ltr"] .owner-more__nav a,
html[dir="rtl"] .owner-bottom-nav a,
html[dir="ltr"] .owner-bottom-nav a {
  text-align: start;
}

/* ── DEP-01.2 PX1/StatusDot ───────────────────────────────────────── */
.owner-status-dot {
  display: inline-block;
  inline-size: 0.625rem;
  block-size: 0.625rem;
  border-radius: 50%;
  background-color: var(--owner-border);
  margin-inline-end: var(--owner-space-sm);
  vertical-align: middle;
}

.owner-status-dot[data-tone="neutral"] {
  background-color: var(--owner-border);
}

.owner-status-dot[data-tone="ok"] {
  background-color: var(--color-success, var(--color-accent));
}

.owner-status-dot[data-tone="warn"] {
  background-color: var(--color-warning, var(--color-accent));
}

.owner-status-dot[data-tone="alert"] {
  background-color: var(--color-danger, var(--color-accent));
}

/* ── DEP-01.3 / DEP-01I.1 Shell: header / rail / mobile chrome ─────── */
.owner-app {
  display: flex;
  flex-direction: column;
  min-block-size: 100vh;
  background-color: var(--owner-canvas);
}

.owner-header {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "brand more"
    "context context";
  align-items: center;
  gap: var(--owner-space-sm) var(--owner-space-md);
  padding-block: var(--owner-space-sm);
  padding-inline: var(--owner-space-md);
  border-block-end: 1px solid var(--owner-border);
  background-color: var(--owner-surface);
  position: sticky;
  inset-block-start: 0;
  z-index: 6;
}

.owner-header__brand {
  grid-area: brand;
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  min-inline-size: 0;
}

.owner-header__more-trigger {
  grid-area: more;
  min-inline-size: var(--owner-target);
}

.owner-header__eyebrow {
  margin: 0;
  color: var(--owner-muted-text);
  font-size: var(--owner-type-body);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.owner-header__title {
  font-size: 1rem;
  font-weight: 500;
}

.owner-identity {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  margin: 0;
  font-size: var(--owner-type-body);
  color: var(--owner-muted-text);
  overflow-wrap: anywhere;
}

.owner-identity__role {
  color: var(--owner-text);
  font-weight: 500;
}

.owner-header__context,
.owner-header__actions,
.owner-dialog__actions,
.owner-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--owner-space-sm);
  align-items: center;
}

.owner-header__context {
  grid-area: context;
  flex-direction: column;
  align-items: stretch;
  min-inline-size: 0;
}

.owner-header__context label {
  font-size: var(--owner-type-label);
  font-weight: 500;
  color: var(--owner-text);
}

.owner-header__org-name {
  margin: 0;
  font-size: var(--owner-type-body);
  font-weight: 500;
  color: var(--owner-text);
}

.owner-header__context select {
  box-sizing: border-box;
  inline-size: 100%;
  min-block-size: var(--owner-target);
  padding-block: var(--owner-space-sm);
  padding-inline: var(--owner-space-sm);
  font: inherit;
  font-size: var(--owner-type-body);
  color: var(--owner-text);
  background-color: var(--owner-canvas);
  border: 1px solid var(--owner-border);
  border-radius: var(--owner-radius-sm);
}

.owner-app--single-org .owner-header__context select,
.owner-app--single-org .owner-header__org-switch {
  display: none;
}

.owner-app--multi-org .owner-header__org-name {
  display: none;
}

.owner-header .owner-help {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.owner-header__actions {
  display: none;
}

.owner-layout {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "main";
  gap: var(--owner-space-md);
  flex: 1 1 auto;
  padding: var(--owner-space-md);
  padding-block-end: 5.5rem;
  min-inline-size: 0;
}

.owner-nav {
  display: none;
  grid-area: nav;
}

.owner-nav__group {
  margin: var(--owner-space-sm) 0 0;
  padding-inline: var(--owner-space-sm);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--owner-muted-text);
}

.owner-main {
  grid-area: main;
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-md);
  min-inline-size: 0;
}

.owner-main:focus {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

#owner-page {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-md);
  min-inline-size: 0;
}

.owner-bottom-nav {
  box-sizing: border-box;
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 7;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--owner-space-xs);
  padding: var(--owner-space-xs) var(--owner-space-sm);
  padding-block-end: max(var(--owner-space-xs), env(safe-area-inset-bottom, 0px));
  border-block-start: 1px solid var(--owner-border);
  background-color: var(--owner-surface);
}

.owner-bottom-nav a,
.owner-bottom-nav button {
  justify-content: center;
  text-align: center;
  font-size: 0.75rem;
}

.owner-more {
  position: fixed;
  inset: 0;
  z-index: 12;
}

.owner-more__backdrop {
  position: absolute;
  inset: 0;
  background-color: color-mix(in srgb, var(--owner-text) 40%, transparent);
}

.owner-more__sheet {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  max-block-size: min(90vh, 40rem);
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-md);
  padding: var(--owner-space-md);
  padding-block-end: max(var(--owner-space-md), env(safe-area-inset-bottom, 0px));
  border-start-start-radius: var(--owner-radius-lg);
  border-start-end-radius: var(--owner-radius-lg);
  background-color: var(--owner-surface);
  color: var(--owner-text);
}

.owner-more__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--owner-space-sm);
}

.owner-more__header h2 {
  margin: 0;
  font-size: var(--owner-type-title);
  font-weight: 500;
}

.owner-more__nav {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
}

.owner-more__account {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
  padding-block-start: var(--owner-space-sm);
  border-block-start: 1px solid var(--owner-border);
}

.owner-portal-body.owner-more-open {
  overflow: hidden;
}

.owner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--owner-space-md);
}

.owner-dl {
  display: grid;
  grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr);
  gap: var(--owner-space-xs) var(--owner-space-sm);
  margin: 0;
  font-size: var(--owner-type-body);
}

.owner-dl dt {
  font-weight: 600;
}

.owner-dl dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.owner-table-wrap {
  overflow-x: auto;
}

.owner-table {
  inline-size: 100%;
  border-collapse: collapse;
}

.owner-table th,
.owner-table td {
  text-align: start;
  padding: var(--owner-space-xs);
  border-block-end: 1px solid var(--owner-border);
  overflow-wrap: anywhere;
  font-size: var(--owner-type-body);
}

.owner-dialog {
  inline-size: min(32rem, calc(100vw - 2rem));
  border: 1px solid var(--owner-border);
  border-radius: var(--owner-radius-md);
  background-color: var(--owner-surface);
  color: var(--owner-text);
  padding: var(--owner-space-md);
}

.owner-dialog::backdrop {
  background-color: color-mix(in srgb, var(--owner-text) 40%, transparent);
}

.owner-secret-once {
  font-family: var(--font-mono, monospace);
  overflow-wrap: anywhere;
}

.owner-unavailable {
  opacity: 0.85;
}

@media (min-width: 48em) {
  .owner-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    min-block-size: 4.5rem;
    padding-inline: var(--owner-space-lg);
  }

  .owner-header__more-trigger,
  .owner-header__org-switch,
  .owner-bottom-nav,
  .owner-more {
    display: none;
  }

  .owner-app--multi-org .owner-header__org-name {
    display: none;
  }

  .owner-header__context {
    flex: 1 1 12rem;
    min-inline-size: min(16rem, 100%);
    max-inline-size: 24rem;
  }

  .owner-header__actions {
    display: flex;
    margin-inline-start: auto;
  }

  .owner-layout {
    grid-template-columns: 9rem minmax(0, 1fr);
    grid-template-areas: "nav main";
    padding-inline: var(--owner-space-lg);
    padding-block-end: var(--owner-space-md);
    align-items: start;
  }

  .owner-nav {
    display: flex;
    position: sticky;
    inset-block-start: var(--owner-space-md);
    inline-size: 9rem;
  }

  .owner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64em) {
  .owner-header {
    flex-wrap: nowrap;
    padding-inline: var(--owner-space-xl);
    min-block-size: 4.5rem;
  }

  .owner-layout {
    grid-template-columns: 12rem minmax(0, 1fr);
    padding-block: var(--owner-space-md);
    padding-inline: var(--owner-space-xl);
  }

  .owner-nav {
    inline-size: 12rem;
  }

  .owner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── DEP-01I.2 Overview / Dashboard ───────────────────────────────── */
.owner-overview {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-lg);
}

.owner-overview-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--owner-space-md);
}

.owner-overview-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  flex: 1 1 12rem;
  min-inline-size: min(16rem, 100%);
}

.owner-overview-header h2 {
  font-size: 1.75rem;
  font-weight: 700;
}

.owner-overview-hero {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
  padding: var(--owner-space-lg);
  border: 2px solid var(--color-accent);
  border-radius: var(--owner-radius-md);
  background-color: var(--owner-surface);
}

.owner-overview-hero--warn {
  border-color: var(--color-warning, var(--color-accent));
}

.owner-overview-hero--alert {
  border-color: var(--color-danger, var(--color-accent));
}

.owner-overview-status-pair,
.owner-overview-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--owner-space-sm);
}

.owner-overview-status-pair {
  gap: var(--owner-space-md);
}

.owner-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--owner-space-md);
}

.owner-overview-action {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--owner-space-sm);
  min-block-size: var(--owner-target);
  padding-block: var(--owner-space-sm);
  padding-inline: var(--owner-space-md);
  border-radius: var(--owner-radius-sm);
  background-color: var(--owner-canvas);
  color: var(--owner-text);
  text-decoration: none;
  font-size: var(--owner-type-body);
  font-weight: 500;
}

.owner-overview-action:hover,
.owner-overview-action:focus,
.owner-overview-action:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.owner-overview-action__chevron {
  flex: 0 0 auto;
  color: var(--color-accent);
}

.owner-overview-action__chevron::before {
  content: "→";
}

html[dir="rtl"] .owner-overview-action__chevron::before {
  content: "←";
}

@media (min-width: 48em) {
  .owner-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ── DEP-01I.3 Restaurants / Branches ─────────────────────────────── */
.owner-venue {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-lg);
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.owner-venue-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--owner-space-md);
}

.owner-venue-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  flex: 1 1 12rem;
  min-inline-size: min(16rem, 100%);
}

.owner-venue-header h2 {
  font-size: 1.75rem;
  font-weight: 700;
}

.owner-venue-list {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-venue-list h3,
.owner-venue-create h3 {
  margin: 0;
  font-size: var(--owner-type-label);
  font-weight: 700;
}

.owner-venue-card h4 {
  font-size: 1rem;
  font-weight: 700;
}

.owner-venue-card__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--owner-space-sm);
}

.owner-venue-card__meta {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  min-inline-size: min(12rem, 100%);
  flex: 1 1 12rem;
}

.owner-venue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--owner-space-sm);
}

.owner-venue-create {
  min-inline-size: 0;
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-public-profile {
  border-block-start: 1px solid var(--owner-border);
  padding-block-start: var(--owner-space-md);
}

.owner-public-profile h5 {
  margin: 0;
  font-size: var(--owner-type-label);
}

.owner-public-profile .owner-form,
.owner-public-profile .owner-field {
  min-inline-size: 0;
}

.owner-venue--loading {
  min-block-size: 8rem;
}

@media (max-width: 47.99em) {
  .owner-venue-header,
  .owner-venue-card__top,
  .owner-venue-actions {
    inline-size: 100%;
  }

  .owner-venue-header .owner-btn,
  .owner-venue-actions .owner-btn,
  .owner-venue-create .owner-btn {
    min-inline-size: min(100%, 12rem);
  }
}

/* ── DEP-01I.4 Onboarding ─────────────────────────────────────────── */
.owner-onboard {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-lg);
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.owner-onboard-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--owner-space-md);
}

.owner-onboard-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  flex: 1 1 12rem;
  min-inline-size: min(16rem, 100%);
}

.owner-onboard-header h2,
.owner-onboard-complete h3,
.owner-onboard-review h3,
.owner-onboard-org h3 {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
}

.owner-onboard-complete h3,
.owner-onboard-review h3,
.owner-onboard-org h3 {
  font-size: var(--owner-type-title);
}

.owner-onboard-steps {
  display: flex;
  flex-wrap: wrap;
  gap: var(--owner-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}

.owner-onboard-step {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  min-inline-size: min(10rem, 100%);
  padding: var(--owner-space-sm);
  border: 1px solid var(--owner-border);
  border-radius: var(--owner-radius-sm);
  background-color: var(--owner-surface);
}

.owner-onboard-step[aria-current="step"] {
  font-weight: 700;
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--color-accent);
}

.owner-onboard-step__label,
.owner-onboard-step__state {
  display: block;
}

.owner-onboard-step__state {
  color: var(--owner-muted-text);
  font-size: var(--owner-type-body);
  font-weight: 500;
}

.owner-onboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--owner-space-sm);
}

.owner-onboard-conflict {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--owner-space-sm);
}

.owner-onboard-conflict p {
  margin: 0;
}

.owner-onboard-org,
.owner-onboard-review,
.owner-onboard-complete {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-onboard-summary {
  margin: 0;
}

.owner-onboard--loading {
  min-block-size: 8rem;
}

@media (max-width: 47.99em) {
  .owner-onboard-header,
  .owner-onboard-actions {
    inline-size: 100%;
  }

  .owner-onboard-header .owner-btn,
  .owner-onboard-actions .owner-btn {
    min-inline-size: min(100%, 12rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .owner-portal-body *,
  .owner-portal-body *::before,
  .owner-portal-body *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ── DEP-01I.5 Plans / Catalog CURRENT ────────────────────────────── */
.owner-plans {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-lg);
}

.owner-plans-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--owner-space-md);
}

.owner-plans-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  flex: 1 1 12rem;
  min-inline-size: min(16rem, 100%);
}

.owner-plans-header h2,
.owner-plans-summary h3,
.owner-plans-catalog h3,
.owner-plans-card h3 {
  margin: 0;
}

.owner-plans-header h2 {
  font-size: 1.75rem;
  font-weight: 700;
}

.owner-plans-summary,
.owner-plans-card {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-plans-catalog {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-md);
}

.owner-plans-interval {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--owner-space-sm);
}

.owner-plans-interval select {
  min-block-size: var(--owner-target);
  min-inline-size: min(100%, 12rem);
}

.owner-plans-card__top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--owner-space-sm);
}

.owner-plans-card__meta {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  flex: 1 1 12rem;
  min-inline-size: min(16rem, 100%);
}

.owner-plans-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--owner-space-sm);
}

.owner-plans-card__actions .owner-btn {
  min-block-size: var(--owner-target);
  min-inline-size: min(100%, 11rem);
}

.owner-plans--loading {
  min-block-size: 8rem;
}

@media (max-width: 47.99em) {
  .owner-plans-header,
  .owner-plans-card__top,
  .owner-plans-card__actions,
  .owner-plans-interval {
    inline-size: 100%;
  }

  .owner-plans-card__actions .owner-btn,
  .owner-plans-interval select {
    inline-size: 100%;
  }
}

/* ── DEP-01I.6 Billing / Provisioning CURRENT ─────────────────────── */
.owner-billing,
.owner-provisioning {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-lg);
}

.owner-billing-header,
.owner-provisioning-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--owner-space-md);
}

.owner-billing-header__text,
.owner-provisioning-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
}

.owner-billing-summary,
.owner-billing-proforma,
.owner-billing-receipt,
.owner-billing-next,
.owner-provisioning-hero,
.owner-provisioning-item,
.owner-provisioning-next {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--owner-space-sm);
}

.owner-billing-upload,
.owner-billing-upload .owner-field,
.owner-billing-upload .owner-btn,
.owner-billing-summary .owner-btn,
.owner-billing-proforma .owner-btn,
.owner-provisioning-item .owner-overview-action {
  inline-size: min(100%, 24rem);
}

.owner-billing-upload .owner-btn,
.owner-billing-summary .owner-btn,
.owner-billing-proforma .owner-btn,
.owner-provisioning-header .owner-btn,
#owner-billing-retry,
#owner-billing-storage-retry,
#owner-provisioning-retry,
.owner-billing-upload input[type="file"] {
  min-block-size: var(--owner-target);
  min-inline-size: var(--owner-target);
}

.owner-billing-upload-disabled {
  margin: 0;
  padding: var(--owner-space-sm);
  border: 1px dashed var(--owner-border);
  border-radius: var(--owner-radius-sm);
  color: var(--owner-muted-text);
}

.owner-billing--loading,
.owner-provisioning--loading {
  min-block-size: 8rem;
}

.owner-provisioning-list {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-md);
}

.owner-provisioning-item[data-owner-provisioning-item="actionable"] {
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--color-accent);
}

@media (max-width: 47.99em) {
  .owner-billing-header,
  .owner-provisioning-header,
  .owner-billing-upload,
  .owner-billing-upload .owner-btn,
  .owner-billing-summary .owner-btn,
  .owner-billing-proforma .owner-btn {
    inline-size: 100%;
  }
}

/* ── DEP-01I.7 Members / Organizations / Support / Security ───────── */
.owner-members,
.owner-orgs,
.owner-support,
.owner-security,
.owner-invite {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-lg);
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.owner-members-header,
.owner-orgs-header,
.owner-support-header,
.owner-security-header,
.owner-invite-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--owner-space-md);
}

.owner-members-header__text,
.owner-orgs-header__text,
.owner-support-header__text,
.owner-security-header__text,
.owner-invite-header__text {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-xs);
  flex: 1 1 12rem;
  min-inline-size: min(16rem, 100%);
}

.owner-members-header h2,
.owner-orgs-header h2,
.owner-support-header h2,
.owner-security-header h2,
.owner-invite-header h2 {
  font-size: 1.75rem;
  font-weight: 700;
}

.owner-members-cards,
.owner-orgs-list,
.owner-support-cards {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-members-card,
.owner-orgs-card,
.owner-support-card,
.owner-security-identity {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-members-card h4,
.owner-orgs-card h3,
.owner-support-card h4,
.owner-members-list h3,
.owner-members-invites h3,
.owner-members-transfer h3,
.owner-support-list h3,
.owner-support-create h3,
.owner-security-identity h3 {
  margin: 0;
  font-size: var(--owner-type-label);
  font-weight: 700;
}

.owner-members .owner-btn,
.owner-orgs .owner-btn,
.owner-support .owner-btn,
.owner-security .owner-btn,
.owner-invite .owner-btn,
.owner-members select,
.owner-support select,
.owner-invite input,
.owner-members input {
  min-block-size: var(--owner-target);
  min-inline-size: var(--owner-target);
}

.owner-secret-once {
  font-family: ui-monospace, monospace;
  overflow-wrap: anywhere;
}

.owner-members--loading,
.owner-support--loading,
.owner-security--loading {
  min-block-size: 8rem;
}

.owner-support-detail__header,
.owner-plan-definitions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--owner-space-md);
  align-items: start;
}

.owner-support-thread,
.owner-support-convert,
.owner-support-reply,
.owner-plan-definition {
  display: flex;
  flex-direction: column;
  gap: var(--owner-space-sm);
}

.owner-support-message {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--owner-space-xs) var(--owner-space-sm);
  padding-block: var(--owner-space-md);
  border-block-end: 1px solid var(--owner-border);
}

.owner-support-message time {
  color: var(--owner-muted-text);
  font-size: var(--owner-type-label);
}

.owner-support-message p {
  grid-column: 1 / -1;
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.owner-support-attachment-note {
  padding: var(--owner-space-sm);
  border: 1px dashed var(--owner-border);
  border-radius: var(--owner-radius-sm);
}

.owner-field-error {
  color: var(--owner-danger);
  font-size: 0.875rem;
  margin: 0.35rem 0 0;
}

[data-owner-support-error-summary]:focus {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
}

.owner-plan-definitions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: var(--owner-space-sm);
}

.owner-plan-definition__list {
  margin: 0;
  padding-inline-start: 1.25rem;
  overflow-wrap: anywhere;
}

/* P4 downstream guard: every identified link/button remains at least 44×44. */
.owner-support-back,
.owner-support-card .owner-btn,
.owner-support-reply .owner-btn,
.owner-more__nav a,
.owner-nav a,
.owner-overview-action {
  min-block-size: 2.75rem;
  min-inline-size: 2.75rem;
}

@media (max-width: 47.99em) {
  .owner-members-header,
  .owner-orgs-header,
  .owner-support-header,
  .owner-security-header,
  .owner-invite-header,
  .owner-members .owner-btn,
  .owner-support .owner-btn,
  .owner-security .owner-btn,
  .owner-invite .owner-btn {
    inline-size: 100%;
  }

  .owner-support-detail__header,
  .owner-plan-definitions,
  .owner-support-message {
    grid-template-columns: 1fr;
  }

  .owner-support-message p {
    grid-column: 1;
  }
}
