/* Separate platform administration from the business's daily workspace. */
.workspace-shell {
  --workspace-ink: #172d3a;
  --workspace-muted: #526574;
  background: #f4f6f7;
}

.workspace-shell:not(.quote-engine-preview-page) .app-layout {
  grid-template-columns: 264px minmax(0, 1fr);
}

.workspace-shell:not(.quote-engine-preview-page) .app-sidebar {
  padding: 28px 20px 20px;
  overflow-y: auto;
}

.workspace-shell .wordmark {
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
}

.workspace-shell .wordmark > strong,
.workspace-shell .wordmark > small,
.workspace-shell .sidebar-context strong,
.workspace-shell .sidebar-context span,
.workspace-shell .tenant-chip strong {
  overflow-wrap: anywhere;
}

.workspace-shell .wordmark > strong { line-height: 1.3; }
.workspace-shell .wordmark > small { margin-top: 3px; line-height: 1.4; }
.workspace-shell .wordmark > span { overflow: hidden; font-size: .7rem; }
.workspace-shell .nav-item { min-height: 44px; }
.workspace-shell .app-nav { display: block; overflow: visible; }
.workspace-shell .workspace-primary { display: grid; gap: 3px; }
.workspace-shell .nav-secondary { margin-top: 18px; border-top: 1px solid #d7e0e5; padding-top: 10px; }
.workspace-shell .nav-secondary summary { min-height: 44px; padding: 12px; cursor: pointer; font-size: .82rem; font-weight: 700; }
.workspace-shell .sidebar-footer { padding-top: 24px; }
.workspace-shell .logout button { min-height: 44px; }
.workspace-shell .app-header { align-items: flex-start; }
.workspace-shell .app-header > div { min-width: 0; }
.workspace-shell .app-header h1 { overflow-wrap: anywhere; }
.workspace-shell .app-header > div:first-child > p:last-child { display: block; }
.workspace-shell .tenant-chip { min-width: 0; max-width: 290px; flex-shrink: 0; }

.tenant-workspace .app-sidebar {
  background: #fff;
  color: var(--workspace-ink);
  border-right: 1px solid #dbe3e7;
  box-shadow: none;
}

.tenant-workspace .wordmark,
.tenant-workspace .sidebar-context strong,
.tenant-workspace .user-context strong { color: var(--workspace-ink); }
.tenant-workspace .wordmark > small,
.tenant-workspace .sidebar-context p,
.tenant-workspace .sidebar-context span,
.tenant-workspace .user-context small,
.tenant-workspace .nav-label { color: var(--workspace-muted); }
.tenant-workspace .wordmark > span,
.tenant-sign-in .wordmark > span { background: var(--tenant-primary); color: var(--tenant-on-primary); }
.tenant-workspace .sidebar-context { background: #f5f7f8; border: 1px solid #dbe3e7; }
.tenant-workspace .nav-item { color: #294252; }
.tenant-workspace .nav-secondary summary { color: var(--workspace-ink); }
.tenant-workspace .nav-item:hover { background: #edf2f4; color: #172d3a; }
.tenant-workspace .nav-item.active { background: var(--tenant-primary); color: var(--tenant-on-primary); box-shadow: none; }
.tenant-workspace .user-context { border-color: #dbe3e7; }
.tenant-workspace .user-context > span { background: #edf2f4; color: #294252; }
.tenant-workspace .logout button { border-color: #b9c8d1; color: #294252; }
.tenant-workspace .workspace-admin-switch { margin-top: 20px; border-top: 1px solid #d7e0e5; }
.tenant-workspace .workspace-admin-switch .nav-item { text-decoration: underline; text-underline-offset: 3px; }

.admin-workspace { --workspace-ink: #252525; background: #f7f5f0; }
.admin-workspace .app-sidebar { background: #252525; }
.admin-workspace .wordmark > span { background: #e85b1b; color: #252525; }
.admin-workspace .wordmark > small,
.admin-workspace .sidebar-context p,
.admin-workspace .sidebar-context span,
.admin-workspace .nav-label,
.admin-workspace .user-context small { color: #d3ccc1; }
.admin-workspace .nav-item { color: #f7f5f0; }
.admin-workspace .nav-item.active { background: #393939; color: #fff; box-shadow: inset 3px 0 #e85b1b; }
.admin-workspace .sidebar-context { border-color: #686158; background: #303030; }
.admin-workspace .app-header h1 { color: #252525; }
.admin-workspace .tenant-chip > span { background: #e85b1b !important; }
.admin-workspace .workspace-return { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; color: #fff; text-decoration: underline; text-underline-offset: 3px; font-size: .8rem; }

.workspace-admin-target {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0 0 24px;
  padding: 14px 18px;
  border: 1px solid #d7cdbb;
  border-left: 4px solid #e85b1b;
  border-radius: 8px;
  background: #f7f5f0;
  color: #252525;
}
.workspace-admin-target > a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; font-weight: 700; font-size: .85rem; }
.workspace-admin-target p { margin: 0; min-width: 0; }
.workspace-admin-target strong,
.workspace-admin-target span { display: block; overflow-wrap: anywhere; }
.workspace-admin-target strong { font-size: .9rem; }
.workspace-admin-target span { margin-top: 3px; font-size: .8rem; color: #60594f; }

.workspace-sign-in .sign-in { padding: 24px; }
.workspace-sign-in .sign-in > section { width: min(480px, calc(100vw - 48px)); padding: clamp(22px, 6vw, 36px); }
.workspace-sign-in .wordmark { grid-template-columns: 42px minmax(0, 1fr); grid-template-rows: auto auto; max-width: 480px; }
.workspace-sign-in .wordmark strong,
.workspace-sign-in .wordmark small { overflow-wrap: anywhere; }
.workspace-sign-in .wordmark small { margin-top: 3px; }
.workspace-sign-in h1 { font-size: clamp(1.8rem, 6vw, 2.35rem); overflow-wrap: anywhere; }
.workspace-sign-in section > p { line-height: 1.6; color: #526574; }
.workspace-sign-in section .button { display: inline-flex; align-items: center; min-height: 48px; line-height: 1.4; text-align: center; }
.admin-sign-in .sign-in { background: #f7f5f0; }
.admin-sign-in .wordmark.dark,
.admin-sign-in h1 { color: #252525; }
.admin-sign-in .wordmark > span { background: #e85b1b; color: #252525; }
.admin-sign-in section .button { background: #252525; color: #fff; border-color: #252525; }

@media (max-width: 1080px) {
  .workspace-shell .app-header { flex-wrap: wrap; gap: 14px; }
  .workspace-shell .tenant-chip { max-width: 100%; }
}

@media (max-width: 820px) {
  .workspace-shell:not(.quote-engine-preview-page) .app-layout { grid-template-columns: minmax(0, 1fr); }
  .workspace-shell:not(.quote-engine-preview-page) .app-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    position: static;
    height: auto;
    padding: 16px;
    gap: 12px;
    overflow: visible;
  }
  .workspace-shell:not(.quote-engine-preview-page) .wordmark { grid-column: 1; grid-row: 1; }
  .workspace-shell:not(.quote-engine-preview-page) .sidebar-context { grid-column: 1 / -1; grid-row: 2; margin: 0; padding: 10px 12px; }
  .workspace-shell:not(.quote-engine-preview-page) .app-nav { grid-column: 1 / -1; grid-row: 3; margin: 0; width: 100%; }
  .workspace-shell:not(.quote-engine-preview-page) .sidebar-footer { grid-column: 2; grid-row: 1; margin: 0; padding: 0; border: 0; }
  .workspace-shell .sidebar-footer .user-context { display: none; }
  .workspace-shell .sidebar-context span { display: block; }
  .workspace-shell .sidebar-context p { margin-bottom: 3px; }
  .workspace-shell .sidebar-context strong { margin-bottom: 2px; }
  .workspace-shell .workspace-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .workspace-shell .nav-item { margin: 0; padding: 10px 12px; overflow-wrap: anywhere; }
  .workspace-shell .nav-label { display: none; }
  .workspace-shell .nav-secondary { margin-top: 8px; padding-top: 4px; }
  .workspace-shell .workspace-admin-switch { margin-top: 8px; }
  .workspace-shell .workspace-admin-switch .nav-item { min-height: 44px; }
  .workspace-shell .logout button { min-height: 44px; padding: 8px 10px; font-size: .78rem; }
  .workspace-shell .tenant-chip { display: none; }
  .workspace-shell:not(.quote-engine-preview-page) .app-main { padding: 24px 16px 48px; }
  .workspace-shell .app-header { margin-bottom: 24px; }
  .workspace-shell .app-header > div:first-child > p:last-child { display: block; }
  .workspace-admin-target { padding: 10px 12px; gap: 4px 18px; }
  .admin-workspace .workspace-primary > a:first-child { grid-column: 1 / -1; }
  .admin-workspace .workspace-return { margin-top: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell { scroll-behavior: auto; }
}
