/**
 * Owner Portal visual alignment — DEP-01.1 foundations + DEP-01.2 primitives + DEP-01.3 shell.
 * Existing presentation primitives plus the Owner-approved unified workspace.
 * Historical PX1/PX2 records stay accepted; current visual authority is the
 * approved minimal public site / workspace Owner combination.
 * Brand/primary and brand/accent both consume --color-accent (ACCEPTED_ADAPTATION).
 * Workspace additions are scoped to this Owner surface.
 */

/* ── 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;
}

/* Keep the fixed host remainder on the right in both writing directions. */
.owner-public-address-input {
  display: grid;
  grid-template-columns: minmax(4.5rem, 1fr) minmax(0, 1.5fr);
  align-items: center;
  gap: .5rem;
  min-inline-size: 0;
  direction: ltr;
}
.owner-public-address-input input {
  min-inline-size: 0;
  inline-size: 100%;
  text-align: left;
}
.owner-public-address-suffix {
  font-size: .8125rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-align: left;
}
.owner-public-address-preview {
  margin: .35rem 0 0;
  font-size: .875rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.owner-public-address-url {
  display: block;
  direction: ltr;
  unicode-bidi: isolate;
  text-align: start;
}
@media (max-width: 47.99em) {
  /* Native focus must leave room for the complete longest Branch URL beneath
     its input, including a 48-character parent and the production hostname. */
  .rastan-workspace #owner-main #owner-public-profile-slug {
    scroll-margin-block-end: calc(16rem + env(safe-area-inset-bottom, 0px));
  }
}

.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;
  }
}

/* Owner-approved unified workspace: the same identity as the public front door. */
.owner-portal-body.rastan-workspace {
  --color-accent: var(--rst-accent);
  --color-on-accent: var(--rst-on-accent, white);
  --owner-text: var(--rst-ink);
  --owner-muted-text: var(--rst-muted);
  --owner-border: var(--rst-line);
  --owner-muted: var(--rst-line);
  --owner-canvas: var(--rst-bg);
  --owner-surface: var(--rst-surface);
  --owner-radius-sm: 0.65rem;
  --owner-radius-md: 1rem;
  --owner-radius-lg: 1.25rem;
  font-family: var(--rst-font, 'Vazirmatn', system-ui, sans-serif);
  line-height: 1.65;
}

.rastan-workspace .owner-header {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "brand actions" "context more";
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  z-index: 9;
}

.rastan-workspace .owner-header__brand {
  gap: 0.15rem;
}

.rastan-workspace .owner-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  inline-size: fit-content;
  min-block-size: var(--owner-target);
  color: var(--owner-text);
  text-decoration: none;
  font-family: var(--rst-font, 'Vazirmatn', system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.rastan-workspace .owner-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  border-radius: 0.7rem;
  background: var(--color-accent);
  color: var(--color-on-accent);
}

.rastan-workspace .owner-brand-mark svg { inline-size: 1.2rem; block-size: 1.2rem; }
.rastan-workspace .owner-header__title { font-size: 0.75rem; color: var(--owner-muted-text); }
.rastan-workspace .owner-header__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  min-inline-size: 0;
  margin: 0;
}

.rastan-workspace .owner-header__context {
  position: relative;
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  gap: 0.1rem 0.6rem;
  background: var(--rst-soft);
  border: 1px solid var(--owner-border);
  border-radius: 0.7rem;
  padding: 0.45rem 0.65rem;
  min-inline-size: 0;
}

.rastan-workspace .owner-context-icon { grid-column: 1; grid-row: 1 / span 2; align-self: center; color: var(--color-accent); }
.rastan-workspace .owner-header__context label { grid-column: 2; font-size: 0.7rem; color: var(--owner-muted-text); }
.rastan-workspace .owner-header__org-name { grid-column: 2; font-weight: 600; overflow-wrap: anywhere; }
.rastan-workspace .owner-header__context select {
  grid-column: 2;
  background: var(--owner-surface);
  font-weight: 500;
  padding-inline: 0.4rem;
}
.rastan-workspace .owner-header__org-switch { grid-column: 2; }
.rastan-workspace .owner-header__more-trigger { align-self: stretch; gap: 0.4rem; }
.rastan-workspace #owner-locale-toggle { border-color: transparent; padding-inline: 0.5rem; font-size: 0.75rem; }

.rastan-workspace .owner-account { position: relative; min-inline-size: 0; }
.rastan-workspace .owner-account__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.35rem;
  min-block-size: var(--owner-target);
  min-inline-size: var(--owner-target);
  max-inline-size: 100%;
  background: transparent;
  border: 1px solid var(--owner-border);
  border-radius: 0.8rem;
  color: var(--owner-text);
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.rastan-workspace .owner-account__avatar {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 2.05rem;
  inline-size: 2.05rem;
  block-size: 2.05rem;
  background: var(--rst-soft);
  border-radius: 50%;
  color: var(--color-accent);
  font-size: 0.85rem;
  font-weight: 600;
}
.rastan-workspace .owner-account__trigger .owner-identity,
.rastan-workspace .owner-account__chevron { display: none; }
.rastan-workspace .owner-account__panel {
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: calc(100% + 0.6rem);
  inline-size: min(18rem, calc(100vw - 2rem));
  box-sizing: border-box;
  padding: 0.55rem;
  background: var(--owner-surface);
  border: 1px solid var(--owner-border);
  border-radius: 1rem;
  box-shadow: 0 12px 36px color-mix(in srgb, var(--owner-text) 12%, transparent);
  z-index: 10;
}
.rastan-workspace .owner-account__panel[hidden] { display: none; }
.rastan-workspace .owner-account__heading { margin: 0; padding: 0.45rem 0.65rem 0.65rem; font-size: 0.8rem; font-weight: 600; color: var(--owner-muted-text); }
.rastan-workspace .owner-account__identity { display: flex; flex-direction: column; gap: 0.1rem; padding: 0 0.65rem 0.75rem; margin: 0 0 0.35rem; border-block-end: 1px solid var(--owner-border); overflow-wrap: anywhere; font-size: 0.85rem; }
.rastan-workspace #owner-account-role { font-size: 0.75rem; color: var(--owner-muted-text); }
.rastan-workspace .owner-account__panel nav { display: grid; gap: 0.15rem; }
.rastan-workspace .owner-account__panel a {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  min-block-size: var(--owner-target);
  padding-inline: 0.65rem;
  text-decoration: none;
  color: var(--owner-text);
  border-radius: 0.65rem;
  font-size: var(--owner-type-label);
}
.rastan-workspace .owner-account__panel a:hover,
.rastan-workspace .owner-account__panel a[aria-current="page"],
.rastan-workspace .owner-account__trigger[aria-expanded="true"] { background: var(--rst-soft); color: var(--color-accent); }
.rastan-workspace .owner-account__logout { inline-size: 100%; justify-content: flex-start; gap: 0.65rem; margin-block-start: 0.45rem; border-inline: 0; border-block-end: 0; border-radius: 0; }
.rastan-workspace .owner-account__trigger:focus-visible,
.rastan-workspace .owner-account__panel a:focus-visible,
.rastan-workspace .owner-brand-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }

.rastan-workspace .owner-layout { gap: 1.5rem; padding: 1.25rem 1rem 6.25rem; }
.rastan-workspace .owner-nav a,
.rastan-workspace .owner-more__nav a { gap: 0.7rem; padding-inline: 0.75rem; color: var(--owner-muted-text); }
.rastan-workspace .owner-nav a svg,
.rastan-workspace .owner-more__nav a svg,
.rastan-workspace .owner-account__panel svg,
.rastan-workspace .owner-card__heading svg { flex: 0 0 auto; }
.rastan-workspace .owner-nav a:hover,
.rastan-workspace .owner-more__nav a:hover { background: var(--rst-soft); color: var(--owner-text); }
.rastan-workspace .owner-nav a[aria-current="page"],
.rastan-workspace .owner-more__nav a[aria-current="page"] { background: var(--rst-soft); border-color: transparent; color: var(--color-accent); font-weight: 600; }
.rastan-workspace .owner-nav__group { margin-block-start: 1rem; padding-block-start: 0.9rem; border-block-start: 1px solid var(--owner-border); }
.rastan-workspace .owner-bottom-nav a,
.rastan-workspace .owner-bottom-nav button { flex-direction: column; gap: 0.2rem; padding: 0.4rem 0.1rem; border: 0; min-block-size: 3.3rem; }
.rastan-workspace .owner-bottom-nav a[aria-current="page"],
.rastan-workspace .owner-bottom-nav button[aria-current="page"] { color: var(--color-accent); background: var(--rst-soft); }
.rastan-workspace .owner-more__account .owner-btn { gap: 0.6rem; }
.rastan-workspace .owner-card { padding: 1.25rem; box-shadow: 0 2px 4px color-mix(in srgb, var(--owner-text) 2%, transparent); }
.rastan-workspace .owner-card__heading { display: flex; align-items: center; gap: 0.65rem; }
.rastan-workspace .owner-card__heading svg { color: var(--color-accent); }
.rastan-workspace .owner-overview { gap: 1.25rem; }
.rastan-workspace .owner-overview-header h2 { font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 700; line-height: 1.45; }
.rastan-workspace .owner-overview-header .owner-help { line-height: 1.8; }
.rastan-workspace .owner-overview-hero { border-width: 1px; background: var(--rst-soft); padding: 1.35rem; }
.rastan-workspace .owner-overview-hero--warn,
.rastan-workspace .owner-overview-hero--alert { background: var(--owner-surface); }
.rastan-workspace .owner-overview-grid { gap: 1.25rem; }
.rastan-workspace .owner-overview-action { background: var(--rst-soft); }
.rastan-workspace .owner-btn--primary { box-shadow: 0 3px 8px color-mix(in srgb, var(--color-accent) 18%, transparent); }
.rastan-workspace .owner-gate__card { max-inline-size: 30rem; padding: clamp(1.25rem, 4vw, 2rem); box-shadow: 0 10px 40px color-mix(in srgb, var(--owner-text) 6%, transparent); }

@media (min-width: 48em) {
  .rastan-workspace .owner-header { display: grid; grid-template-columns: 11.5rem minmax(12rem, 1fr) auto; grid-template-areas: "brand context actions"; gap: 1.25rem; min-block-size: 5rem; padding: 0.6rem 1.25rem; }
  .rastan-workspace .owner-header__brand { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 0.65rem; }
  .rastan-workspace .owner-header__context { inline-size: min(100%, 22rem); max-inline-size: none; min-inline-size: 0; }
  .rastan-workspace .owner-header__actions { margin-inline-start: auto; }
  .rastan-workspace .owner-layout { grid-template-columns: 12rem minmax(0, 1fr); padding: 0; gap: 0; }
  .rastan-workspace .owner-nav { position: sticky; inset-block-start: 5.75rem; box-sizing: border-box; align-self: start; inline-size: 100%; max-block-size: calc(100dvh - 5.75rem); overflow-y: auto; padding: 1.25rem 0.65rem; border-inline-end: 1px solid var(--owner-border); background: var(--owner-surface); gap: 0.25rem; }
  .rastan-workspace .owner-main { padding: 1.75rem; }
}

@media (min-width: 64em) {
  .rastan-workspace .owner-header { grid-template-columns: 14rem minmax(12rem, 1fr) auto; padding-inline: 1.5rem; }
  .rastan-workspace .owner-layout { grid-template-columns: 14rem minmax(0, 1fr); }
  .rastan-workspace .owner-main { padding: 2rem; }
  .rastan-workspace .owner-account__trigger { padding-inline: 0.5rem 0.7rem; }
  .rastan-workspace .owner-account__trigger .owner-identity { display: flex; min-inline-size: 0; max-inline-size: 10rem; gap: 0; }
  .rastan-workspace .owner-account__trigger .owner-identity__name { font-weight: 500; color: var(--owner-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rastan-workspace .owner-account__trigger .owner-identity__role { font-size: 0.7rem; font-weight: 400; color: var(--owner-muted-text); }
  .rastan-workspace .owner-account__chevron { display: inline-flex; }
}

/* Approved workspace composition. Every Owner destination uses this same
   restrained hierarchy; source-backed warnings and permission gates retain
   their existing state and controls. */
.rastan-workspace .owner-main { min-inline-size: 0; }
.rastan-workspace #owner-page[data-owner-design="workspace"] {
  inline-size: 100%; max-inline-size: 66rem; margin-inline: auto; gap: 1.5rem;
}
.rastan-workspace #owner-page :is(.owner-overview, .owner-venue, .owner-onboard,
  .owner-members, .owner-orgs, .owner-plans, .owner-billing, .owner-provisioning,
  .owner-support, .owner-security, .owner-invite) { gap: 1.5rem; min-inline-size: 0; }
.rastan-workspace #owner-page :is(.owner-venue-header, .owner-onboard-header,
  .owner-members-header, .owner-orgs-header, .owner-plans-header, .owner-billing-header,
  .owner-provisioning-header, .owner-support-header, .owner-security-header,
  .owner-invite-header, .owner-workspace-intro) { gap: 1rem; margin-block-end: 0.25rem; }
.rastan-workspace #owner-page :is(h2, h3, h4, h5, p) { overflow-wrap: anywhere; }
.rastan-workspace #owner-page :is(.owner-venue-header, .owner-onboard-header,
  .owner-members-header, .owner-orgs-header, .owner-plans-header, .owner-billing-header,
  .owner-provisioning-header, .owner-support-header, .owner-security-header,
  .owner-invite-header, .owner-workspace-intro) h2 {
  margin: 0; font-size: clamp(1.45rem, 2.3vw, 1.9rem); line-height: 1.6; font-weight: 700;
}
.rastan-workspace #owner-page .owner-card {
  min-inline-size: 0; border-radius: var(--rst-radius); border-color: var(--rst-line);
  background: var(--rst-surface); box-shadow: none; gap: 1rem;
  padding: clamp(1.15rem, 2.7vw, 1.75rem);
}
.rastan-workspace #owner-page .owner-card :is(h3, h4) {
  margin: 0; font-size: 1.05rem; line-height: 1.7; font-weight: 650;
}
.rastan-workspace #owner-page .owner-help { line-height: 1.9; color: var(--rst-muted); }
.rastan-workspace #owner-page .owner-btn { min-block-size: 44px; border-radius: 0.75rem; }
.rastan-workspace #owner-page .owner-btn--primary { box-shadow: none; }
.rastan-workspace #owner-page .owner-table-wrap { border-radius: 0.75rem; max-inline-size: 100%; }
.rastan-workspace #owner-page .owner-table :is(th, td) {
  padding: 0.9rem 0.75rem; border-color: var(--rst-line); vertical-align: top;
}
.rastan-workspace #owner-page .owner-field :is(input, select, textarea) { border-radius: 0.7rem; }
.rastan-workspace .owner-nav-advanced { margin-block-start: 0.9rem; padding-block-start: 0.9rem; border-block-start: 1px solid var(--rst-line); }
.rastan-workspace .owner-nav-advanced > summary {
  min-block-size: 44px; padding: 0.7rem 0.75rem; color: var(--rst-muted);
  font-size: 0.85rem; cursor: pointer; border-radius: 0.65rem;
}
.rastan-workspace .owner-nav-advanced__links { display: grid; gap: 0.25rem; margin-block-start: 0.4rem; }
.rastan-workspace .owner-workspace-featured__top {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
}
.rastan-workspace .owner-workspace-featured__top > h3 { color: var(--rst-muted); font-size: 0.85rem !important; font-weight: 500 !important; }
.rastan-workspace .owner-workspace-restaurant { min-inline-size: 0; }
.rastan-workspace .owner-workspace-featured .owner-workspace-restaurant + .owner-workspace-restaurant {
  padding-block-start: 1.25rem; border-block-start: 1px solid var(--rst-line);
}
.rastan-workspace .owner-workspace-restaurant__row {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.rastan-workspace .owner-workspace-identity {
  display: flex; flex: 1 1 auto; align-items: center; gap: 0.9rem; min-inline-size: 0;
}
.rastan-workspace .owner-workspace-mark {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 3rem; inline-size: 3rem; block-size: 3rem;
  border-radius: 0.95rem; background: var(--rst-soft); color: var(--rst-accent);
}
.rastan-workspace .owner-workspace-mark .rst-icon { inline-size: 1.4rem; block-size: 1.4rem; }
.rastan-workspace .owner-workspace-identity__text { flex: 1 1 auto; min-inline-size: 0; }
.rastan-workspace #owner-page .owner-workspace-identity__text :is(h3, h4) { font-size: 1.25rem; }
.rastan-workspace .owner-workspace-identity__text .owner-overview-status {
  margin: 0.25rem 0 0; color: var(--rst-muted); font-size: 0.8rem;
}
.rastan-workspace .owner-workspace-facts { display: flex; flex: 0 0 auto; gap: 1.5rem; margin: 0; }
.rastan-workspace .owner-workspace-facts dt { color: var(--rst-muted); font-size: 0.75rem; }
.rastan-workspace .owner-workspace-facts dd { margin: 0; font-size: 0.95rem; font-weight: 600; }
.rastan-workspace .owner-workspace-secondary {
  border-block-start: 1px solid var(--rst-line); padding-block-start: 0.9rem;
}
.rastan-workspace .owner-workspace-secondary .owner-btn { border-color: transparent; background: transparent; color: var(--rst-muted); }
.rastan-workspace .owner-workspace-secondary .owner-btn:hover { background: var(--rst-soft); color: var(--rst-accent); }
.rastan-workspace .owner-workspace-quicklinks {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem;
}
.rastan-workspace .owner-workspace-quicklink {
  display: flex; align-items: center; gap: 1rem; min-block-size: 5.2rem; min-inline-size: 0;
  padding: 1rem 1.25rem; border: 1px solid var(--rst-line); border-radius: var(--rst-radius);
  color: var(--rst-ink); text-decoration: none; background: var(--rst-surface);
}
.rastan-workspace .owner-workspace-quicklink:hover { border-color: var(--rst-accent); }
.rastan-workspace .owner-workspace-quicklink__icon { display: inline-flex; color: var(--rst-accent); flex: 0 0 auto; }
.rastan-workspace .owner-workspace-quicklink > span:last-child { min-inline-size: 0; }
.rastan-workspace .owner-workspace-quicklink strong { display: block; font-size: 0.9rem; font-weight: 600; }
.rastan-workspace .owner-workspace-quicklink small { display: block; color: var(--rst-muted); font-size: 0.8rem; line-height: 1.8; }
.rastan-workspace .owner-overview-hero {
  background: transparent; border: 1px solid var(--rst-line); border-radius: var(--rst-radius);
  padding: 1.25rem; gap: 0.8rem;
}
.rastan-workspace .owner-overview-hero h3 { font-size: 0.95rem; }
.rastan-workspace .owner-workspace-details { border-block-start: 1px solid var(--rst-line); padding-block-start: 0.4rem; }
.rastan-workspace .owner-workspace-details > summary {
  min-block-size: 44px; padding-block: 0.8rem; cursor: pointer; color: var(--rst-muted);
  font-size: 0.85rem; font-weight: 500;
}
.rastan-workspace .owner-workspace-details .owner-overview-grid { grid-template-columns: minmax(0, 1fr); margin-block-start: 1rem; gap: 1rem; }
.rastan-workspace .owner-workspace-details .owner-overview-action { background: transparent; border: 1px solid var(--rst-line); }
.rastan-workspace #owner-page .owner-public-profile {
  margin-block-start: 0.25rem; border-color: var(--rst-line); padding-block-start: 1.25rem;
}
@media (max-width: 47.99em) {
  .rastan-workspace .owner-layout { padding: 1.25rem 1rem 6.25rem; }
  .rastan-workspace .owner-workspace-restaurant__row { flex-wrap: wrap; gap: 1rem; }
  .rastan-workspace .owner-workspace-restaurant__row > .owner-btn--primary { inline-size: 100%; min-inline-size: 0; }
  .rastan-workspace .owner-workspace-featured__top > .owner-btn { inline-size: 100%; }
  .rastan-workspace .owner-workspace-quicklinks { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
  .rastan-workspace .owner-workspace-identity { flex-wrap: wrap; }
  .rastan-workspace .owner-workspace-facts { flex-basis: 100%; padding-inline-start: 3.9rem; }
  .rastan-workspace .owner-workspace-identity__text { flex-basis: calc(100% - 3.9rem); }
}
/* Caution tones remain explicit after the shared card hierarchy. */
.rastan-workspace .owner-overview-hero--warn { border-color: var(--color-warning, var(--color-accent)); }
.rastan-workspace .owner-overview-hero--alert { border-color: var(--rst-danger); }
.rastan-workspace .owner-workspace-details[open] > summary { color: var(--rst-ink); }

/* A long, genuine organization name must not turn the mobile header into
   a content card. The text stays intact for assistive technology. */
@media (max-width: 47.99em) {
  .rastan-workspace .owner-header {
    grid-template-columns: minmax(0, 1fr) auto 44px;
    grid-template-areas: "brand actions actions" "context context more";
    align-items: center;
    gap: 0.5rem;
  }
  .rastan-workspace .owner-header__title,
  .rastan-workspace .owner-header__context > label,
  .rastan-workspace .owner-header__more-trigger .rst-label {
    position: absolute; inline-size: 1px; block-size: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip-path: inset(50%); white-space: nowrap; border: 0;
  }
  .rastan-workspace .owner-header__context {
    inline-size: 100%; max-inline-size: 100%; min-block-size: 44px;
    padding: 0.35rem 0.6rem; column-gap: 0.5rem; row-gap: 0;
  }
  .rastan-workspace .owner-context-icon { grid-row: 1; }
  .rastan-workspace .owner-header__org-name {
    grid-row: 1; inline-size: 100%; min-inline-size: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    line-height: 1.6; overflow-wrap: normal;
  }
  .rastan-workspace .owner-header__context select { grid-row: 1; min-inline-size: 0; }
  .rastan-workspace .owner-header__org-switch { margin-block-start: 0.4rem; }
  .rastan-workspace .owner-header__more-trigger {
    align-self: center; justify-self: end;
    inline-size: 44px; min-inline-size: 44px; max-inline-size: 44px;
    block-size: 44px; min-block-size: 44px;
    padding: 0; gap: 0;
  }
}
/* Keep keyboard-revealed content above the fixed mobile navigation. The
   viewport reservation and target margin also include the device safe area. */
@media (max-width: 47.99em) {
  html:has(body.rastan-workspace) {
    scroll-padding-block-end: calc(7rem + env(safe-area-inset-bottom, 0px));
  }
  .rastan-workspace #owner-main :is(a, button, input, select, textarea, [tabindex]) {
    scroll-margin-block-end: calc(7rem + env(safe-area-inset-bottom, 0px));
    scroll-margin-block-start: 1rem;
  }
}
