.tenant-console .topbar-nav {
  max-width: none;
  align-items: center;
}

.wa-topbar-tools {
  display: none;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  align-self: flex-end;
  justify-content: flex-end;
  gap: 2px;
  min-width: 0;
  padding: 0 8px 2px;
}

body.tenant-console:has(#website-workspace:not(.hidden)) .wa-topbar-tools {
  display: flex;
}

body.tenant-console:has(#website-workspace:not(.hidden)) .nav-site strong,
body.tenant-console:has(#website-workspace:not(.hidden)) .nav-site span {
  max-width: 160px;
}

.wa-topbar-tools .wa-revision-status {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #5b645e;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.wa-topbar-tools .wa-revision-status.is-reviewable {
  cursor: pointer;
  color: #8a4b12;
}
.wa-topbar-tools .wa-revision-status.is-unpublished {
  color: #8a4b12;
}
.wa-summary-head button {
  min-height: 28px;
  padding: 3px 10px;
  font-size: .78rem;
}

.wa-topbar-tools .wa-workspace-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.wa-topbar-tools button {
  min-height: 26px;
  padding: 2px 10px;
  font-size: .72rem;
  font-weight: 700;
}

.nav-site {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 9px;
  padding-left: 20px;
  border-left: 1px solid #ded8ca;
}

.nav-site strong,
.nav-site span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-site strong {
  max-width: 260px;
  font-family: Georgia, serif;
  font-size: 1.05rem;
}

.nav-site span {
  max-width: 260px;
  color: #776f62;
  font-size: .76rem;
}

.tenant-shell {
  max-width: none;
  width: 100%;
  min-height: calc(100vh - 68px);
  padding: 8px 10px 10px;
}

.onboarding {
  max-width: 1080px;
  margin: 0 auto;
  padding: 32px;
}

.onboarding-heading {
  max-width: 720px;
}

.onboarding-kicker {
  color: #8a5a30;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.onboarding-progress {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 28px 0;
  padding: 0;
  list-style: none;
}

.onboarding-progress li {
  padding: 10px 12px;
  border-bottom: 3px solid #ded8ca;
  color: #776f62;
  font-size: .82rem;
  font-weight: 700;
}

.onboarding-progress li.active,
.onboarding-progress li.complete {
  border-color: #183029;
  color: #183029;
}

.starter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.website-language-fieldset {
  margin: 22px 0;
  padding: 16px;
  border: 1px solid #ded8ca;
  border-radius: 14px;
}

.website-language-fieldset legend { padding: 0 8px; font-weight: 800; }
.website-language-fieldset p { margin-top: 0; color: #776f62; font-size: .88rem; }
.website-language-options { display: flex; flex-wrap: wrap; gap: 9px; }
.website-language-options label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #c9c2b4;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}
.website-language-options label:has(input:checked) { border-color: #183029; background: #e8efe9; }
.website-language-options input { margin: 0; }

.starter-option {
  display: grid;
  position: relative;
  gap: 8px;
  min-height: 160px;
  padding: 20px;
  border: 2px solid #ded8ca;
  border-radius: 14px;
  cursor: pointer;
}

.starter-option.selected {
  border-color: #183029;
  background: #f2f5f0;
}

.starter-option input {
  position: absolute;
  top: 16px;
  right: 16px;
}

.starter-option strong { font: 1.3rem Georgia, serif; }
.starter-option span,
.starter-option small { color: #665f54; }

.onboarding-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.onboarding-form select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #c9c2b4;
  border-radius: 10px;
  background: #fff;
  color: #183029;
  font: inherit;
}

.onboarding-form .wide { grid-column: 1 / -1; }
.onboarding-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.onboarding-review { padding: 20px; border-radius: 12px; background: #f4f1e9; }
.onboarding-review dl { display: grid; grid-template-columns: 160px 1fr; gap: 10px 18px; margin: 0; }
.onboarding-review dt { font-weight: 800; }
.onboarding-review dd { margin: 0; white-space: pre-wrap; }
.onboarding-conversation { margin-top: 16px; padding: 20px; border-radius: 12px; background: #eef4ef; }
.onboarding-conversation ul { margin: 8px 0 12px; padding-left: 1.2rem; }
.selectable-media .selectable { position: relative; cursor: pointer; }
.selectable-media .selectable.selected { outline: 3px solid #183029; }
.selectable-media input { position: absolute; margin: 8px; }

#tenant-app,
.tenant-layout {
  min-height: calc(100vh - 104px);
}

.structured-debug { display: grid; gap: 16px; }
.migration-review { display: grid; gap: 16px; margin-bottom: 16px; }
.migration-review.hidden { display: none; }
.migration-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.migration-compare-grid h2 { font-size: 1rem; }
.migration-compare-grid iframe { width: 100%; min-height: 520px; border: 1px solid #ded8ca; border-radius: 10px; background: #fff; }
.migration-summary-stats { display: flex; flex-wrap: wrap; gap: 10px; }
.migration-summary-stats span { display: grid; min-width: 100px; padding: 10px; border-radius: 9px; background: #f4f1e9; color: #665f54; font-size: .78rem; }
.migration-summary-stats strong { color: #183029; font-size: 1.15rem; }
.migration-findings { display: grid; gap: 6px; padding: 0; list-style: none; }
.migration-findings li { display: grid; gap: 3px; padding: 9px 11px; border-left: 3px solid #b8a578; background: #f7f3e9; font-size: .82rem; }
.migration-findings li.blocking { border-left-color: #a23b2a; background: #fff0ed; }
.migration-findings li.info { border-left-color: #6d8f80; }
.migration-decision-form { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.4fr); gap: 12px; align-items: end; }
.migration-decision-form > label { display: grid; gap: 5px; font-size: .84rem; font-weight: 800; }
.migration-decision-form .migration-ack { display: flex; align-items: center; font-weight: 600; }
.migration-decision-form .migration-ack input { width: 18px; height: 18px; flex: 0 0 auto; }
.migration-decision-form .migration-actions { margin: 0; }
.structured-columns { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); gap: 16px; }
.structured-workspace-grid { display: grid; grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr); gap: 16px; align-items: start; }
.structured-compose { display: grid; gap: 14px; }
.structured-content-form { display: grid; gap: 10px; margin-top: 4px; padding-top: 12px; border-top: 1px solid #ded8ca; }
.structured-content-form label { display: grid; gap: 5px; font-size: .84rem; font-weight: 800; }
.website-workspace.hidden { display: none !important; }
.structured-targets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.structured-targets label { display: grid; gap: 5px; font-size: .82rem; font-weight: 800; }
.structured-targets select, #structured-ai-prompt { width: 100%; }
.structured-impact { padding: 14px; border: 1px solid #ccd9d1; border-radius: 10px; background: #f4f8f5; }
.structured-impact h3, .structured-impact p { margin-top: 0; }
.structured-preview-shell { display: flex; justify-content: center; width: 100%; overflow: auto; }
.structured-preview-shell.mobile-preview .structured-preview-frame { width: 390px; min-width: 390px; }
.structured-details summary { cursor: pointer; font-weight: 800; }
.structured-management-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.structured-mini-form, .structured-list-editor, .structured-channel-list, .locale-status-list { display: grid; gap: 10px; }
.structured-mini-form { margin-top: 14px; padding-top: 14px; border-top: 1px solid #ded8ca; }
.structured-mini-form label { display: grid; gap: 5px; font-size: .84rem; font-weight: 800; }
.visual-gallery { display: grid; gap: 16px; }
.visual-check-card { display: grid; gap: 8px; }
.visual-check-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; }
.visual-check-images img { width: 100%; border: 1px solid #ded8ca; background: #fff; }
.locale-status-row, .navigation-editor-row, .structured-channel-row { display: grid; gap: 8px; padding: 10px 12px; border: 1px solid #ded8ca; border-radius: 9px; background: #fffdf8; }
.locale-status-row { grid-template-columns: minmax(70px,.3fr) 1fr; align-items: center; }
.locale-status-row strong.complete { color: #18724d; }.locale-status-row strong.incomplete { color: #a23b2a; }
.navigation-editor-row { grid-template-columns: 70px minmax(140px, .7fr) 1fr auto; align-items: end; }
.navigation-editor-labels, .channel-localized-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.channel-localized-fields { padding: 10px; border: 1px solid #ded8ca; border-radius: 9px; }
.structured-summary h1 { margin-bottom: 4px; }
.structured-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.structured-metadata { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 20px 0 0; }
.structured-metadata div { min-width: 0; padding: 12px; border-radius: 10px; background: #f4f1e9; }
.structured-metadata dt { color: #65716c; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.structured-metadata dd { overflow-wrap: anywhere; margin: 5px 0 0; font-family: ui-monospace, monospace; font-size: .84rem; }
.structured-preview-frame { width: 100%; min-height: 720px; border: 1px solid #ded8ca; border-radius: 10px; background: white; }
.structured-json { max-height: 720px; overflow: auto; padding: 14px; border-radius: 10px; background: #13241e; color: #e8f4ed; font-size: .78rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.patch-envelope { width: 100%; font-family: ui-monospace, monospace; font-size: .82rem; }
.structured-history { display: grid; gap: 8px; }
.structured-history article { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #ded8ca; border-radius: 9px; }
@media (max-width: 900px) {
  .structured-columns, .structured-workspace-grid, .structured-management-grid, .migration-compare-grid, .migration-decision-form { grid-template-columns: 1fr; }
  .structured-metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .structured-targets { grid-template-columns: 1fr; }
  .navigation-editor-row, .navigation-editor-labels, .channel-localized-fields { grid-template-columns: 1fr; }
}

.tenant-layout {
  display: block;
  width: 100%;
}

#editor.tenant-layout,
.tenant-layout.structured-mode {
  width: 100%;
}

.tenant-content,
.console-view,
.workspace-compose,
.preview-panel {
  min-width: 0;
  width: 100%;
}

.tenant-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

.console-view.card {
  min-height: calc(100vh - 104px);
  margin: 0;
}

.component-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.component-card { padding:18px; border:1px solid #ded8ca; border-radius:14px; background:#fff; }
.component-card h2 { margin:0; }
.component-card form { display:grid; gap:12px; }
.contact-field-list { display:grid; gap:8px; }
.contact-field-row { display:grid; grid-template-columns:minmax(150px,1fr) auto auto auto; gap:10px; align-items:center; padding:10px; border:1px solid #ded8ca; border-radius:8px; }
.contact-field-row label { display:flex; align-items:center; gap:5px; }
.field-order { display:flex; gap:4px; }
.field-order button { padding:5px 9px; }
.inquiry-layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr); gap:20px; margin-top:20px; }
.inquiry-list { display:grid; align-content:start; gap:8px; }
.inquiry-row { width:100%; display:grid; gap:7px; text-align:left; background:#fff; color:inherit; border:1px solid #ded8ca; border-radius:8px; padding:12px; }
.inquiry-row.unread { border-left:4px solid #17324d; }
.inquiry-row span:first-child { display:flex; justify-content:space-between; gap:10px; }
.inquiry-row small { font-weight:400; color:#6b665d; }
.inquiry-detail { padding:18px; border:1px solid #ded8ca; border-radius:8px; min-height:180px; }
.inquiry-detail header { display:flex; justify-content:space-between; gap:12px; margin-bottom:16px; }
.inquiry-detail dl { display:grid; gap:12px; }
.inquiry-detail dl div { border-bottom:1px solid #ece7dc; padding-bottom:10px; }
.inquiry-detail dt { font-weight:700; margin-bottom:4px; }
.inquiry-detail dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.component-card label { display:grid; gap:6px; }
.component-card input,.component-card textarea { width:100%; }
.component-status,.connection-status { color:#776f62; font-size:.82rem; }
.connection-status { padding:12px; border-radius:10px; background:#f4f1e9; }
.component-actions { display:flex; gap:8px; }
.performance-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.performance-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #ded8ca; }
.performance-row strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stat small { display:block; color:#776f62; }

@media (max-width:800px) {
  .component-grid,.performance-columns,.inquiry-layout { grid-template-columns:1fr; }
  .contact-field-row { grid-template-columns:1fr auto auto; }
  .field-order { grid-column:1/-1; }
}

.workspace-panel {
  min-height: calc(100vh - 104px);
  border: 1px solid #ded8ca;
  border-radius: 16px;
  padding: 18px;
  background: #fffdf8;
  box-shadow: 0 12px 40px #213b3020;
}

.workspace-heading h1,
.workspace-heading p {
  margin-top: 0;
}

.workspace-heading p {
  color: #776f62;
}

.workspace-main {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(380px, .95fr);
  gap: 16px;
  align-items: stretch;
  transition: grid-template-columns .2s ease;
}

.workspace-main.preview-collapsed {
  grid-template-columns: minmax(360px, 1fr) 52px;
}

.workspace-compose {
  display: flex;
  min-height: calc(100vh - 220px);
  flex-direction: column;
}

.workspace-compose .prompt-field {
  flex: 1;
}

.workspace-compose textarea {
  width: 100%;
  min-height: 260px;
  resize: vertical;
}

.preview-panel {
  display: flex;
  min-height: calc(100vh - 220px);
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #ded8ca;
  border-radius: 12px;
  background: #fff;
}

.preview-heading {
  display: flex;
  min-height: 50px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px 8px 14px;
  border-bottom: 1px solid #e4ded1;
}

.preview-controls {
  display: flex;
  align-items: center;
  gap: 7px;
}

.preview-refresh,
.preview-maximum {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  font-size: .78rem;
}

.preview-heading h2 {
  margin: 0;
  font-size: 1.1rem;
}

.preview-toggle {
  width: 32px;
  height: 32px;
  padding: 0;
  flex: 0 0 32px;
  font-size: 1.35rem;
  line-height: 1;
}

.preview-toggle > span[aria-hidden] {
  display: inline-block;
  transform: rotate(0deg);
  transition: transform .2s ease;
}

.preview-panel.collapsed .preview-heading {
  justify-content: center;
  height: 100%;
  padding: 8px;
  border-bottom: 0;
}

.preview-panel.collapsed .preview-heading h2,
.preview-panel.collapsed .preview-refresh,
.preview-panel.collapsed .preview-maximum,
.preview-panel.collapsed .preview-body {
  display: none;
}

.preview-panel.collapsed .preview-toggle > span[aria-hidden] {
  transform: rotate(180deg);
}

.preview-body {
  position: relative;
  display: grid;
  min-height: 0;
  flex: 1;
  place-items: center;
  background: #f4f1e9;
}

.preview-device-controls {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 4px;
  padding: 3px;
  border: 1px solid #ded8ca;
  border-radius: 8px;
  background: #fffdf8ee;
}

.preview-device-controls button { padding: 5px 8px; font-size: .72rem; }
.preview-device-controls button.active { background: #183029; color: #fff; }
.preview-body.mobile-preview #preview-frame { width: 390px; max-width: 100%; box-shadow: 0 5px 30px #18302922; }

.quality-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 20px 0;
  padding: 16px;
  border-radius: 12px;
  background: #f4f1e9;
}
.quality-summary.pass { background: #e6f4e8; }
.quality-summary.warnings { background: #fff3d5; }
.quality-summary.blocked { background: #fde5df; }
.quality-summary small { margin-left: auto; }
.quality-fix { margin-left: auto; white-space: nowrap; }
.quality-issues { display: grid; gap: 20px; }
.quality-issue { display: grid; gap: 5px; padding: 14px 0; border-top: 1px solid #e4ded1; }
.quality-issue span { color: #776f62; font-size: .78rem; }
.quality-issue p { margin: 0; }

#preview-frame {
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
  background: #fff;
}

.preview-panel:fullscreen {
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.preview-panel:fullscreen .preview-body,
.preview-panel:fullscreen #preview-frame {
  min-height: 0;
}

.website-file-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e4ded1;
}

.website-file-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 8px 2px;
  border-bottom: 1px solid #e4ded1;
  font-size: .84rem;
}

.website-file-list .file-path {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-weight: 700;
}

.website-file-list .file-meta {
  color: #776f62;
  font-size: .74rem;
  white-space: nowrap;
}

.website-file-list .empty-list {
  display: block;
  color: #776f62;
}

.console-view[data-view="files"] .website-file-list {
  max-height: calc(100vh - 190px);
  overflow: auto;
}

.console-view[data-view="media"] .media-grid,
[data-surface="assets"] .media-grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.media-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 14px;
}

.media-view-toggle {
  display: flex;
  gap: 6px;
}

.media-view-toggle button.active {
  background: #183029;
  color: #fff;
}

.media-sort-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: .84rem;
  font-weight: 700;
}

.media-sort-label select {
  min-width: 12.5rem;
  font-weight: 600;
}

.media-table-wrap {
  overflow: auto;
}

.media-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .84rem;
}

.media-table th,
.media-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #e4ded1;
  text-align: left;
  vertical-align: middle;
}

.media-table th {
  color: #776f62;
  font-size: .74rem;
  font-weight: 700;
}

.media-name-cell {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.media-name-cell img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 6px;
  background: #e9e4d8;
}

.media-name-cell strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-kind-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  border-radius: 6px;
  background: #e9e4d8;
  color: #776f62;
  font-size: .68rem;
  font-weight: 800;
}

.media-item .media-delete {
  margin-top: 8px;
  padding: 5px 12px;
  font-size: .74rem;
}

.media-actions-col {
  width: 1%;
  text-align: right;
  white-space: nowrap;
}

.media-table .media-delete {
  padding: 4px 10px;
  font-size: .74rem;
}

@media (max-width: 720px) {
  .media-sort-label {
    width: 100%;
  }

  .media-sort-label select {
    flex: 1 1 auto;
    min-width: 0;
  }
}

.reference-image-button:has(input:disabled) {
  opacity: .55;
  cursor: not-allowed;
}

.prompt-field {
  display: grid;
  gap: 6px;
  margin: 12px 0;
}

.prompt-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
}

.reference-image-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  max-width: 55%;
  border: 1px solid #c9c2b4;
  border-radius: 999px;
  padding: 6px 10px;
  background: #fff;
  color: #183029;
  font-size: .78rem;
  cursor: pointer;
}

.reference-image-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

#ai-reference-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #776f62;
  font-weight: 500;
}

.reference-image-help {
  color: #776f62;
  font-size: .75rem;
}

.ai-response-wrap {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.ai-response-wrap label {
  margin: 0;
  font-size: .8rem;
}

#ai-response {
  width: 100%;
  height: 92px;
  max-height: 120px;
  overflow-y: auto;
  resize: none;
  background: #f4f1e9;
  color: #183029;
  font-size: .84rem;
  line-height: 1.45;
}

.ai-working {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #776f62;
  font-size: .86rem;
}

.ai-spinner {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border: 2px solid #d8c9bd;
  border-top-color: #a14d2c;
  border-radius: 50%;
  animation: ai-spin .75s linear infinite;
}

@keyframes ai-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .ai-spinner { animation-duration: 1.5s; }
}

@media (max-width: 1000px) {
  .workspace-main,
  .workspace-main.preview-collapsed {
    grid-template-columns: 1fr;
  }

  .preview-panel,
  .workspace-compose {
    min-height: 440px;
  }

  .preview-panel.collapsed {
    min-height: 52px;
  }

  .preview-panel.collapsed .preview-heading {
    height: 52px;
  }
}

@media (max-width: 760px) {
  .onboarding { padding: 20px; }
  .onboarding-progress { grid-template-columns: 1fr 1fr; }
  .starter-grid,
  .onboarding-form { grid-template-columns: 1fr; }
  .onboarding-form .wide { grid-column: auto; }
  .onboarding-review dl { grid-template-columns: 1fr; }
  .onboarding-review dd { margin-bottom: 8px; }

  .tenant-shell {
    padding: 10px;
  }

  .nav-site {
    max-width: calc(100% - 130px);
  }

  .workspace-panel,
  .console-view.card {
    min-height: auto;
  }
}

body.tenant-console:has(#website-workspace:not(.hidden)) {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  overflow: hidden;
}
body.tenant-console:has(#website-workspace:not(.hidden)) .tenant-shell {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: auto;
  max-height: none;
  min-height: 0;
  overflow: hidden;
}
body.tenant-console:has(#website-workspace:not(.hidden)) #tenant-app,
body.tenant-console:has(#website-workspace:not(.hidden)) #editor.tenant-layout,
body.tenant-console:has(#website-workspace:not(.hidden)) .tenant-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}
body.tenant-console:has(#website-workspace:not(.hidden)) #tenant-app,
body.tenant-console:has(#website-workspace:not(.hidden)) .tenant-layout {
  min-height: 0;
}

.website-workspace {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  overflow: hidden;
}

.wa-workspace-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.wa-revision-status { color: #3d4a44; font-weight: 700; }
.wa-conflict { padding: 10px 12px; border: 1px solid #c9865a; border-radius: 10px; background: #fff6ee; }
.wa-workspace-grid {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 320px;
  grid-template-rows: minmax(0, 1fr);
  gap: 10px;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  overflow: hidden;
  align-items: stretch;
}

.wa-navigator, .wa-preview-pane, .wa-assistant {
  border: 1px solid #ded8ca;
  border-radius: 14px;
  background: #fffdf8;
  padding: 12px;
  min-height: 0;
  overflow: hidden;
}

.wa-navigator {
  display: flex;
  flex-direction: column;
  width: 260px;
  max-width: 260px;
  overflow: auto;
}
.wa-nav-group { display: grid; gap: 6px; }
.wa-nav-group + .wa-nav-group {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #eee6d6;
}
.wa-nav-group-title {
  margin: 0;
  color: #8a4b12;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.wa-page-group { display: grid; gap: 2px; }
.wa-section-list { display: grid; gap: 2px; padding: 0 0 6px 12px; }

.wa-nav-tabs {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0 -12px 12px;
  padding: 8px 10px 0;
  background: #efe6d8;
  border-bottom: 1px solid #ded8ca;
  border-radius: 14px 14px 0 0;
}
.wa-nav-tabs button {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: 36px;
  margin-bottom: -1px;
  border: 0;
  border-radius: 10px 10px 0 0;
  padding: 8px 10px;
  background: transparent;
  color: #5b645e;
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wa-nav-tabs button + button::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 1px;
  background: #d4cbb8;
}
.wa-nav-tabs button[aria-selected="true"] {
  background: #fffdf8;
  color: #183029;
  box-shadow: 0 1px 0 #fffdf8;
}
.wa-nav-tabs button[aria-selected="true"]::before,
.wa-nav-tabs button[aria-selected="true"] + button::before {
  display: none;
}
.wa-nav-panel.hidden { display: none !important; }
.wa-navigator-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.wa-navigator-head h2 { margin: 0; }
.wa-page-picker { display: grid; min-width: 0; }
.wa-page-picker select {
  width: 100%;
  min-height: 38px;
  padding: 6px 8px;
  border: 1px solid #c9c2b4;
  border-radius: 8px;
  background: #fff;
  color: #183029;
  font: 700 .92rem/1.3 inherit;
}
.wa-navigator-tools { display: flex; gap: 6px; align-items: center; }
.wa-locale-label select { min-height: 32px; padding: 4px 8px; }
#wa-create-page {
  min-height: 28px;
  padding: 3px 8px;
  font-size: .78rem;
  font-weight: 700;
}
.wa-page-count { margin: 6px 0 0; color: #183029; font-size: .95rem; font-weight: 800; letter-spacing: .02em; }
.wa-editing-status { margin: 8px 0 0; padding: 8px 10px; border-radius: 8px; background: #eef6f1; color: #183029; font-size: .78rem; font-weight: 800; }
.wa-section-heading { margin: 12px 0 0; color: #183029; font-size: .95rem; font-weight: 800; letter-spacing: .02em; }
.wa-current-page, .wa-page-meta, .wa-shared-inventory { display: grid; gap: 6px; margin-top: 8px; }
.wa-current-page .wa-section-link, .wa-page-meta .wa-section-link { display: grid; gap: 2px; text-align: left; }
.wa-current-page span, .wa-page-meta span { display: block; color: #5d6964; font-size: .74rem; font-weight: 600; }
.wa-page-meta p { margin: 0; padding: 8px 10px; border-radius: 8px; background: #f7f4ed; font-size: .78rem; }
.wa-shared-card { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid #ded8ca; border-radius: 12px; background: #fffdf8; text-align: left; color: inherit; font: inherit; cursor: pointer; }
.wa-shared-card.active { border-color: #183029; box-shadow: inset 0 0 0 1px #183029; }
.wa-shared-card h3 { margin: 0; font-size: .95rem; }
.wa-shared-card p { margin: 0; color: #5d6964; font-size: .82rem; }
.wa-add-page { display: grid; gap: 10px; }
.wa-add-page h2 { margin: 0 0 4px; }
.wa-add-page label { display: grid; gap: 5px; font-size: .84rem; font-weight: 800; }
.wa-add-page input, .wa-add-page select { width: 100%; min-height: 36px; padding: 6px 8px; border: 1px solid #c9c2b4; border-radius: 8px; background: #fff; font: inherit; font-weight: 600; }
.wa-dialog {
  width: min(420px, calc(100vw - 32px));
  border: 1px solid #ded8ca;
  border-radius: 14px;
  padding: 18px;
  background: #fffdf8;
  box-shadow: 0 18px 40px #18302922;
}
.wa-dialog::backdrop { background: #18302955; }
.wa-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }
.wa-page-tree { display: grid; gap: 6px; margin-top: 8px; font-size: .82rem; }
.wa-page-link.open { background: #eef6f1; }
.wa-section-link em { font-style: normal; font-size: .7rem; opacity: .85; }
.wa-page-link, .wa-section-link {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 8px 10px;
  background: transparent;
  color: #183029;
  text-align: left;
  font-size: inherit;
  font-weight: 600;
}
.wa-page-link:hover, .wa-section-link:hover { background: #f1eee5; }
.wa-page-link.active, .wa-section-link.active { background: #183029; color: #fff; }
.wa-page-link { display: grid; gap: 2px; }
.wa-page-template { color: #776f62; font-size: .72rem; font-weight: 600; text-transform: none; }
.wa-page-link.active .wa-page-template { color: #d7efe4; }
.wa-section-list { display: grid; gap: 4px; padding-left: 10px; }
.wa-preview-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: flex-start;
  justify-content: space-between;
}
.wa-preview-identity { min-width: 0; }
.wa-preview-identity h2 { margin: 0; font-size: 1.05rem; }
.wa-preview-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wa-preview-modes { display: flex; gap: 6px; }
.wa-history-drawer {
  border: 1px solid #ded8ca;
  border-radius: 14px;
  background: #fffdf8;
  padding: 12px;
  display: grid;
  gap: 10px;
}
.wa-history-head { display: flex; justify-content: space-between; align-items: center; }
.wa-history-list { display: grid; gap: 12px; }
.wa-history-day { display: grid; gap: 6px; }
.wa-history-day h3 { margin: 0; font-size: .85rem; color: #5b645e; }
.wa-history-item {
  display: grid;
  gap: 2px;
  text-align: left;
  border: 1px solid #ded8ca;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
}
.wa-history-item span { color: #5b645e; font-size: .82rem; }
.wa-history-detail { border-top: 1px solid #ded8ca; padding-top: 10px; display: grid; gap: 8px; }
.wa-preview-pane {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
.wa-preview-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.wa-preview-frame { width: 100%; height: 100%; min-height: 0; border: 1px solid #ded8ca; border-radius: 10px; background: #fff; }
.wa-preview-shell.mobile-preview .wa-preview-frame { width: 390px; min-width: 390px; }
.wa-assistant {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 320px;
  max-width: 320px;
  min-height: 0;
  height: 100%;
  align-self: stretch;
}
#wa-context-chip,
#wa-compose,
#wa-thread-more {
  flex: 0 0 auto;
}
.wa-thread-more {
  min-height: 28px;
  padding: 4px 8px;
  font-size: .78rem;
}
#wa-compose {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}
#wa-prompt {
  width: 100%;
  min-height: 72px;
  max-height: 160px;
  resize: vertical;
}
.wa-compose-actions {
  display: grid;
  gap: 6px;
  align-content: end;
  justify-items: stretch;
}
#wa-compose button[type="submit"] {
  min-height: 28px;
  padding: 3px 10px;
  font-size: .78rem;
  font-weight: 700;
}
.wa-context-chip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f4f1e9;
  font-size: .82rem;
  font-weight: 700;
}
.wa-context-label { color: #5b645e; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.wa-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #ded8ca;
  border-radius: 999px;
  padding: 3px 8px;
  background: #fff;
  color: #183029;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
}
.wa-chip span { color: #8a4b12; }
.wa-chip.is-static { cursor: default; }
.wa-thread {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  display: grid;
  gap: 10px;
  align-content: start;
}
.wa-message { padding: 6px 8px; border-radius: 10px; background: #fff; border: 1px solid #ded8ca; }
.wa-message-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.wa-message strong { margin: 0; padding: 0; font-size: .82rem; line-height: 1.2; }
.wa-message p { margin: 2px 0 0; padding: 0; line-height: 1.35; }
.wa-message-time { margin: 0; padding: 0; font-size: .72rem; font-weight: 600; color: #776f62; white-space: nowrap; }
.wa-message-meta { display: flex; align-items: center; gap: 6px; }
.wa-message-assistant { position: relative; }
.wa-trace-icon {
  border: 0;
  background: transparent;
  color: #5b645e;
  font-size: .92rem;
  line-height: 1;
  padding: 0 2px;
  cursor: pointer;
}
.wa-trace-icon:hover, .wa-trace-icon:focus-visible { color: #183029; }
.wa-trace-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: min(86vh, 760px);
  overflow: auto;
}
.wa-trace-dialog[open] {
  display: grid;
  gap: 10px;
}
.wa-trace-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.wa-trace-head h2 { margin: 0; font-size: 1rem; }
.wa-trace-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.wa-trace-head button {
  min-height: 28px;
  padding: 3px 10px;
  font-size: .78rem;
}
.wa-trace-stop { margin: 0; font-weight: 700; color: #8a2c2c; }
.wa-trace-timing { margin: 0; font-size: .78rem; color: #5b645e; }
.wa-trace-body { display: grid; gap: 8px; }
.wa-trace-background {
  border: 1px solid #ded8ca;
  border-radius: 10px;
  padding: 8px 10px;
  background: #f7f4ec;
}
.wa-trace-background strong { display: block; font-size: .82rem; }
.wa-trace-background p { margin: 6px 0 0; font-size: .82rem; white-space: pre-wrap; }
.wa-trace-stage { border: 1px solid #ded8ca; border-radius: 10px; padding: 8px 10px; background: #fff; }
.wa-trace-stage[data-status="failed"],
.wa-trace-stage[data-status="rejected"],
.wa-trace-stage[data-status="ambiguous"] { background: #f8e8e6; }
.wa-trace-stage[data-status="skipped"] { color: #776f62; background: #f1eee5; }
.wa-trace-stage summary { cursor: pointer; font-weight: 700; }
.wa-trace-stage p, .wa-trace-stage li { margin: 6px 0 0; font-size: .82rem; }
.wa-trace-stage h4 { margin: 10px 0 0; font-size: .82rem; }
.wa-trace-debug { margin-top: 8px; max-height: 220px; overflow: auto; font-size: .72rem; background: #f4f1e9; padding: 8px; border-radius: 8px; }
.wa-message-user { background: #eef6f1; }
.wa-summary-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: min(86vh, 720px);
  margin: auto;
  overflow: auto;
}
.wa-summary-dialog[open] {
  display: grid;
  gap: 10px;
}
.wa-summary-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.wa-summary-head h2 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.3;
}
.wa-review-card { display: grid; gap: 8px; }
.wa-review-card h3 { margin: 6px 0 0; font-size: .82rem; }
.wa-review-card ul { margin: 0; padding-left: 1.1rem; }
.wa-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  position: sticky;
  bottom: 0;
  padding: 8px 0 2px;
  background: #fffdf8;
}
.wa-review-hint { margin: 0; font-size: .78rem; color: #8a4b12; font-weight: 700; }
.wa-diff-list { display: grid; gap: 8px; }
.wa-diff-group h4 { margin: 0; font-size: .78rem; }
.wa-diff-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.wa-diff-group li { display: grid; gap: 2px; padding: 6px 8px; border-radius: 8px; background: #fff; border: 1px solid #ded8ca; font-size: .78rem; }
.wa-developer pre { overflow: auto; max-height: 160px; font-size: .72rem; }
.wa-preview-shell { position: relative; }
.wa-high-warning { color: #a23b2a; font-weight: 800; }
.wa-destinations { display: grid; gap: 10px; }
.wa-destination-list { display: grid; gap: 4px; font-size: .82rem; }
.wa-destination {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 8px 10px;
  background: transparent;
  color: #183029;
  text-align: left;
  font-size: inherit;
  font-weight: 600;
}
.wa-destination:hover { background: #f1eee5; }
.wa-destination.active { background: #183029; color: #fff; }
.wa-surface { display: grid; gap: 12px; min-height: 0; flex: 1 1 auto; overflow: auto; }
.wa-surface.hidden { display: none !important; }
.wa-surface > [data-surface].hidden { display: none !important; }
.wa-check { display: flex !important; align-items: center; gap: 8px; font-weight: 700; }
.wa-check input { width: auto; }
.wa-model-assets, .wa-seo-page { display: grid; gap: 8px; margin-top: 10px; }
.wa-asset { text-align: left; border: 1px solid #ded8ca; border-radius: 8px; padding: 8px 10px; background: #fff; }
.wa-asset.active { background: #183029; color: #fff; }

.wa-mobile-tabs { display: none; gap: 8px; }
.wa-mobile-tabs button[aria-selected="true"] { background: #183029; color: #fff; }

@media (max-width: 800px) {
  .wa-topbar-tools {
    order: 2;
    width: 100%;
    max-width: none;
    align-self: stretch;
    padding: 0 0 2px;
  }
  .wa-topbar-tools .wa-revision-status {
    display: none;
  }
}

@media (max-width: 720px) {
  .wa-mobile-tabs { display: flex; }
  .wa-workspace-grid {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .wa-preview-pane { order: 1; flex: 1 1 auto; width: 100%; }
  .wa-navigator { order: 2; width: 100%; max-width: none; }
  .wa-assistant { order: 3; width: 100%; max-width: none; }
  .website-workspace[data-mobile-pane="preview"] .wa-navigator,
  .website-workspace[data-mobile-pane="preview"] .wa-assistant { display: none; }
  .website-workspace[data-mobile-pane="navigator"] .wa-preview-pane,
  .website-workspace[data-mobile-pane="navigator"] .wa-assistant { display: none; }
  .website-workspace[data-mobile-pane="assistant"] .wa-preview-pane,
  .website-workspace[data-mobile-pane="assistant"] .wa-navigator { display: none; }
}

@media (max-width: 600px) {

  .prompt-label-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .reference-image-button {
    max-width: 100%;
  }

  .website-file-list li {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
