/* One workspace shell, with a desktop rail and a mobile tab bar. */
.workspace-shell {
  -webkit-font-smoothing: antialiased;
  position: relative;
  min-height: 100svh;
  --sidebar-width: var(--sidebar-expanded);
  --page-gutter: var(--space-6);
  --page-top: 0;
  --page-bottom: var(--space-12);
  flex: 1 0 auto;
  min-width: 0;
  width: 100%;
  padding-left: var(--sidebar-width);
}
.workspace-shell.sidebar-collapsed { --sidebar-width: var(--sidebar-collapsed); }
@media (min-width: 761px) {
  body:has(> .workspace-shell) .confirm-dialog::backdrop { left: var(--sidebar-expanded); }
  body:has(> .workspace-shell.sidebar-collapsed) .confirm-dialog::backdrop { left: var(--sidebar-collapsed); }
}
.workspace-content { display: flex; flex-direction: column; min-width: 0; min-height: 100svh; }
.workspace-shell > .workspace-content > main, .workspace-shell > .workspace-content > .settings-import-page { flex: 1 0 auto; width: 100%; max-width: none; margin: 0; padding: var(--page-top) var(--page-gutter) var(--page-bottom); }
.workspace-shell > .workspace-content > .flash-stack { width: 100%; max-width: none; margin: var(--space-4) 0 0; padding: 0 var(--page-gutter); }
.workspace-shell > .workspace-content > .admin-preview-banner { padding-inline: var(--page-gutter); }
.workspace-content:focus { outline: none; }
.skip-navigation { position: fixed; top: 12px; left: calc(var(--sidebar-width) + 16px); z-index: 100; padding: var(--space-3) var(--space-4); border-radius: var(--radius-control); background: var(--surface); color: var(--ink); transform: translateY(-150%); }
.skip-navigation:focus { transform: translateY(0); }
.desktop-sidebar { position: absolute; inset: 0 auto 0 0; z-index: 60; width: var(--sidebar-width); min-height: 100svh; background: var(--rail); color: var(--ink); border-right: 1px solid var(--line); }
.desktop-sidebar__content { position: sticky; top: 0; height: 100dvh; overflow-y: auto; display: flex; flex-direction: column; padding: 0 var(--space-4) var(--space-4); }
/* The compact brand doubles as the expand control without adding another row. */
.sidebar-brand { position: relative; flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: var(--space-1); height: var(--topbar-height); margin: 0 calc(-1 * var(--space-4)) var(--space-3); padding: 0 var(--space-4) 0 calc(var(--space-4) + var(--space-3)); border-bottom: 1px solid var(--line); }
.sidebar-mark { display: flex; align-items: center; gap: var(--space-2); min-width: 0; min-height: 24px; padding: 0; border-radius: var(--radius-control); color: var(--accent); text-decoration: none; }
.sidebar-wordmark { display: block; color: var(--accent); }
.sidebar-wordmark .pillar-wordmark-graphic { width: 112px; }
.sidebar-mark:hover { opacity: .85; }
.sidebar-mark:active { opacity: .7; }
.sidebar-toggle, .navigation-more__close { display: grid; place-items: center; flex: 0 0 auto; }
.desktop-sidebar .sidebar-toggle { margin-right: calc(-1 * var(--tab-count-gap)); border: 0; color: var(--accent); }
.sidebar-toggle .nav-icon, .navigation-more__close .nav-icon { color: inherit; }
.nav-icon { flex: 0 0 auto; width: 18px; height: 18px; color: var(--muted); }
.nav-link:is([aria-current="page"], .is-current, .is-current-section, [aria-expanded="true"]) .nav-icon { color: var(--accent); }
.sidebar-toggle .nav-icon { grid-area: 1 / 1; width: 18px; height: 18px; }
.sidebar-toggle .pillar-mark { display: none; grid-area: 1 / 1; width: 24px; height: 24px; }
.sidebar-navigation { flex: 1; min-height: var(--space-12); overflow-y: auto; overflow-x: clip; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
/* Inset the scrollport around the shared focus frame without moving its links. */
.sidebar-navigation { padding: var(--focus-clearance); margin: calc(-1 * var(--focus-clearance)); scroll-padding: var(--focus-clearance); }
.sidebar-group + .sidebar-group { margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line-soft); }
.nav-link { position: relative; display: flex; align-items: center; gap: var(--space-2); width: 100%; height: var(--control-height); min-height: var(--control-height); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-control); background: transparent; color: inherit; text-decoration: none; font-size: var(--text-ui); line-height: var(--line-workspace); text-align: left; }
.sidebar-navigation .nav-link { margin: 0 0 var(--space-1); color: var(--nav-ink); }
.sidebar-navigation .nav-icon { width: var(--sidebar-icon); height: var(--sidebar-icon); }
.desktop-sidebar .nav-link__label { color: var(--muted); font-size: var(--text-meta); line-height: var(--line-meta); }
.desktop-sidebar .nav-link[aria-current="page"] .nav-link__label { color: var(--ink); }
.desktop-sidebar .nav-link:not([aria-current="page"]) > .nav-icon { color: var(--nav-ink); }
.nav-link__badge { margin-left: auto; color: var(--muted); font: 400 var(--text-meta)/var(--line-meta) var(--sans); font-variant-numeric: tabular-nums; }
.nav-link[aria-current="page"] .nav-link__badge { color: var(--accent); }
.nav-link__badge[hidden], .sidebar-collapsed .desktop-sidebar .nav-link__badge { display: none; }
.desktop-sidebar :is(.nav-link, .sidebar-toggle) { transition: background-color 120ms ease, color 120ms ease; }
.desktop-sidebar .nav-link:where(:not(.sidebar-profile, [aria-current="page"], :active)):hover { background: var(--thumbnail-placeholder); }
.nav-link:where(:not(.sidebar-profile, :disabled, [aria-disabled="true"])):hover { color: var(--ink); background: var(--hover); }
.nav-link:where(:not(.sidebar-profile, :disabled, [aria-disabled="true"])):active { color: var(--ink); background: var(--hover); }

.desktop-sidebar .nav-link[aria-current="page"] { background: var(--nav-selected); color: var(--ink); font-weight: 400; }
.sidebar-account { position: relative; display: grid; gap: var(--space-1); flex: 0 0 auto; margin-top: var(--space-6); padding-top: var(--studio-card-rule-gap); }
.sidebar-account::before { content: ""; position: absolute; inset: 0 0 auto; border-top: 1px solid var(--line); }
.sidebar-profile { display: flex; align-items: center; gap: var(--space-3); width: 100%; min-width: 0; height: var(--studio-card-height); min-height: var(--studio-card-height); padding: 0 var(--space-3); border: 0; border-radius: var(--studio-card-radius); background: var(--studio-card); color: var(--ink); }
.sidebar-profile__mark { display: grid; place-items: center; align-self: center; flex: 0 0 var(--avatar-size); width: var(--avatar-size); height: var(--avatar-size); aspect-ratio: 1; margin: 0; padding: 0; border: 0; border-radius: var(--radius-thumbnail); background: var(--ink); color: var(--surface); font-size: var(--text-tiny); font-weight: 600; line-height: 1; letter-spacing: var(--studio-copy-tracking); font-variant-numeric: lining-nums tabular-nums; }
.sidebar-profile__mark > span { display: grid; place-items: center; width: 100%; height: 100%; white-space: nowrap; }
.sidebar-profile__mark .nav-icon { width: 16px; height: 16px; }
.sidebar-profile__mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sidebar-profile__mark[data-surface="light"] { background: var(--surface); }
.sidebar-profile__mark[data-surface="dark"] { border-color: var(--ink); background: var(--ink); }
.sidebar-profile__mark[data-surface="neutral"] { border-color: var(--muted); background: var(--muted); }
.sidebar-profile__mark [hidden] { display: none; }

.sidebar-profile__copy { display: grid; flex: 1; gap: var(--studio-copy-gap); min-width: 0; font-size: var(--text-meta); }
.sidebar-profile__name { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--text-body); font-weight: 600; line-height: var(--line-meta); text-transform: uppercase; color: var(--ink); letter-spacing: var(--studio-copy-tracking); }
.sidebar-profile__user { display: block; overflow: hidden; color: var(--muted); font-size: var(--text-meta); font-weight: 400; line-height: 16px; white-space: nowrap; text-overflow: ellipsis; }
.sidebar-collapsed .sidebar-mark, .sidebar-collapsed .sidebar-group__label, .sidebar-collapsed .desktop-sidebar .nav-link__label, .sidebar-collapsed .desktop-sidebar .sidebar-profile__copy { display: none; }
.sidebar-collapsed .desktop-sidebar .nav-link { justify-content: center; width: 100%; padding: 0; }
/* The live reference retains a 48px avatar card in the compact 72px rail. */
.sidebar-collapsed .desktop-sidebar__content { padding-inline: var(--space-3); }
.sidebar-collapsed .desktop-sidebar .sidebar-profile { --studio-card-height: var(--space-12); justify-content: center; padding: 0; }
.sidebar-collapsed .desktop-sidebar .sidebar-profile:focus-visible { outline: var(--focus-outline); }
/* Keep compact controls clear of the rail border and preserve the icon alignment. */

.sidebar-collapsed .sidebar-brand { justify-content: center; margin-inline: calc(-1 * var(--space-3)); padding-inline: 0; }
.sidebar-collapsed .desktop-sidebar .sidebar-toggle { width: var(--control-height); height: var(--control-height); margin: 0; padding: 0; }

.sidebar-collapsed .sidebar-group + .sidebar-group { margin-top: var(--space-4); padding-top: var(--space-4); }
.sidebar-hint { position: fixed; left: calc(var(--sidebar-width) + 8px); top: var(--sidebar-hint-top); z-index: 80; transform: translateY(-50%); max-width: min(320px, calc(100vw - var(--sidebar-width) - 24px)); padding: var(--space-2) var(--space-3); border-radius: var(--radius-menu); background: var(--ink); color: var(--surface); font-size: var(--text-meta); line-height: var(--line-meta); overflow-wrap: anywhere; }
.sidebar-hint::before { content: ""; position: absolute; right: 100%; top: calc(50% + var(--sidebar-hint-control-offset, 0px)); width: var(--sidebar-hint-gap); height: var(--sidebar-hint-control-height); transform: translateY(-50%); }
.mobile-navigation { display: none; }
.navigation-more { width: min(100%, var(--drawer-width)); max-width: 100%; max-height: 85dvh; margin: auto auto 0; padding: var(--panel-gutter) var(--panel-gutter) max(var(--panel-gutter), env(safe-area-inset-bottom)); border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius-panel); background: var(--surface); color: var(--ink); box-shadow: none; overscroll-behavior: contain; }
.navigation-more::backdrop { background: transparent; }
.navigation-more__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-4); border-bottom: 1px solid var(--line); }
.navigation-more__header h2 { overflow-wrap: anywhere; }
.navigation-more__close { width: var(--control-height); height: var(--control-height); margin-top: calc(-1 * var(--space-2)); margin-right: calc(-1 * var(--space-2)); color: var(--muted); }
.navigation-more__links { padding: var(--space-3) 0; }
.navigation-more .nav-link { min-height: 44px; }
.navigation-more .nav-link[aria-current="page"] { background: var(--hover); color: var(--ink); }
.nav-link:where(:not(.sidebar-profile, :disabled, [aria-disabled="true"]):is([aria-current="page"], .is-current, .is-current-section, [aria-expanded="true"])):hover { background: var(--hover); color: var(--ink); }
.nav-link:where(:not(.sidebar-profile, :disabled, [aria-disabled="true"]):is([aria-current="page"], .is-current, .is-current-section, [aria-expanded="true"])):active { background: var(--hover); color: var(--ink); }
.navigation-more__account { padding-top: var(--space-3); }
.navigation-more__links + .navigation-more__account { border-top: 1px solid var(--line); }
.navigation-more .sidebar-profile__copy { font-size: var(--text-ui); }
.workspace-shell.navigation-open { overflow: hidden; }
@media (max-width: 760px) {
  .workspace-shell, .workspace-shell.sidebar-collapsed { --sidebar-width: 0px; --page-gutter: var(--space-6); --page-top: 0; --page-bottom: 32px; --mobile-nav-height: calc(70px + env(safe-area-inset-bottom)); padding: 0 0 var(--mobile-nav-height); }
  .workspace-content { min-height: calc(100svh - var(--mobile-nav-height)); }
  .desktop-sidebar { display: none; }
  .sidebar-hint { display: none; }
  .mobile-navigation { position: fixed; inset: auto 0 0; z-index: 60; display: flex; align-items: stretch; justify-content: space-around; height: var(--mobile-nav-height); padding: var(--space-2) max(var(--space-2), env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left)); border-top: 1px solid var(--line); background: var(--surface);  }
  .mobile-navigation .nav-link { flex: 1; flex-direction: column; justify-content: center; gap: var(--space-1); min-width: 0; min-height: 54px; padding: var(--space-1) var(--space-1); border-radius: var(--radius-control); color: var(--muted); font-size: var(--text-meta); font-weight: 400; text-align: center; }
  .mobile-navigation .nav-icon { width: 22px; height: 22px; }
  .mobile-navigation .nav-link__badge { position: absolute; top: var(--space-1); right: var(--space-1); margin: 0; font-size: var(--text-tiny); }
  .mobile-navigation .nav-link[aria-current="page"], .mobile-navigation .is-current, .mobile-navigation .is-current-section, .mobile-navigation .nav-link[aria-expanded="true"] { color: var(--ink); background: var(--hover); font-weight: 400; }
  .mobile-navigation .nav-link + .nav-link { margin-left: var(--space-1); }
  .workspace-content .form-actions { bottom: var(--mobile-nav-height); }
  .workspace-content { scroll-padding-bottom: calc(var(--mobile-nav-height) + 16px); }
  .workspace-content :is(input, select, textarea, button, a) { scroll-margin-bottom: calc(var(--mobile-nav-height) + 16px); }
  body:has(.navigation-open) { overflow: hidden; }
}
@media (max-width: 389px) {
  .mobile-navigation .nav-link__label { max-width: calc(100% + var(--space-2)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .workspace-content .setup-section { grid-template-columns: 1fr; gap: var(--space-6); }
  .workspace-content .team-invite { grid-template-columns: 1fr; gap: var(--space-6); }
  .workspace-content .order-workspace { display: flex; flex-direction: column; }
  .workspace-content .order-summary { width: 100%; }
  .workspace-content .order-filters { flex-wrap: wrap; }
  .workspace-content .filter-field--search { flex-basis: 100%; }
}
/* Inline workspace actions still provide a complete phone touch target. */
@media (max-width: 760px) {
  .workspace-shell .text-link:not(.button), .workspace-shell .support-policy-note a, .workspace-shell main a:not([class]), .client-studio-contact a, .client-approval-page .breadcrumbs a, .legal-header > .pillar-wordmark, .legal-header nav a { display: inline-flex; align-items: center; min-width: var(--control-height); min-height: var(--control-height); }
  .inventory-product-name:is(a), .inventory-part-name:is(a) { display: inline-flex; align-items: center; min-height: var(--control-height); }
  .inventory-part-name:is(a), .workspace-shell .data-grid__row > :is(th, td) > a:not([class]) { margin-block: calc(-1 * var(--cell-padding-y)); }
}

/* Studio settings is the one shared account card in every workspace. */
.desktop-sidebar .sidebar-profile:is(:hover, :active), .navigation-more .sidebar-profile:is(:hover, :active) { background: var(--studio-card-hover); color: var(--ink); }
.desktop-sidebar .sidebar-profile[aria-current="page"], .navigation-more .sidebar-profile[aria-current="page"] { background: var(--studio-card-selected); color: var(--ink); }
