.location-workspace { display: grid; gap: 32px; padding-block: 40px 64px; }
.location-workspace__heading { display: grid; gap: 24px; }
.location-workspace__heading > .back-link { justify-self: start; }
.location-workspace .back-link { margin: 0; }
.location-workspace__title { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.location-workspace__title > div { min-width: 0; }
.location-workspace__title h1 { max-width: none; font-size: clamp(28px, 4vw, 36px); line-height: 1.2; overflow-wrap: anywhere; }
.location-workspace__title p { margin-top: 10px; color: var(--muted); font-size: 13px; }
.location-workspace__title > .button { flex-shrink: 0; }
.location-workspace__columns { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 32px; align-items: start; }
.location-steps { display: grid; gap: 8px; }
.location-steps a, .location-steps__step { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 14px 16px; border-radius: var(--radius-control); font-size: 13px; }
.location-steps a > span, .location-steps__step > span { font-size: 11px; color: var(--muted); }
.location-steps a[aria-current=step], .location-steps__step[aria-current=step] { background: var(--accent); color: var(--accent-ink); font-weight: 500; }
.location-steps a:hover { background: var(--surface-muted); text-decoration: none; }
.location-steps__step[aria-disabled=true] { color: var(--muted); opacity: .55; cursor: not-allowed; }
.location-workspace__panel { display: grid; gap: 24px; min-width: 0; }
.location-workspace__intro { display: grid; gap: 8px; }
.location-workspace__intro h2 { font-size: 26px; }
.location-workspace__intro p, .location-workspace__actions p { color: var(--muted); font-size: 13px; line-height: 21px; }
.scene-state { border-radius: var(--radius-panel); overflow: hidden; background: var(--ink); color: var(--canvas); }
.scene-state__image { width: 100%; height: auto; max-height: 380px; aspect-ratio: 12 / 5; object-fit: cover; }
.scene-state__body { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px; }
.scene-state__body--empty { min-height: 280px; flex-direction: column; justify-content: center; text-align: center; padding: 40px 24px; }
.scene-state__message { display: grid; gap: 10px; }
.scene-state__message h3 { font-size: 22px; }
.scene-state__message p { max-width: 460px; color: var(--subtle-inverse); font-size: 13px; line-height: 22px; }
.scene-state__actions { display: flex; flex-shrink: 0; flex-wrap: wrap; gap: 12px; }
.scene-state__actions:empty { display: none; }
.scene-state__spinner { justify-self: center; width: 24px; height: 24px; border: 2px solid var(--muted); border-top-color: var(--accent); border-radius: 50%; animation: scene-processing-spin 1s linear infinite; }
.scene-source { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-image); background: var(--surface); }
.scene-source__info { display: grid; gap: 6px; min-width: 0; }
.scene-source__info h3 { font-size: 15px; overflow-wrap: anywhere; }
.scene-source__info p { color: var(--muted); font-size: 12px; }
.scene-source__info a { justify-self: start; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.scene-source__replace { margin-top: 16px; }
.scene-source__replace:first-child { margin-top: 0; }
.scene-source__replace > summary { width: fit-content; cursor: pointer; list-style: none; }
.scene-source__replace > summary::-webkit-details-marker { display: none; }
.scene-source__replace form { display: grid; gap: 20px; margin-top: 20px; }
.scene-source__warning { font-size: 13px; color: var(--warning); line-height: 22px; }
.scene-source__save, .location-workspace__actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.scene-source__save .button, .location-workspace__actions .button { flex-shrink: 0; }
.scene-refresh { margin-top: 12px; font-size: 13px; text-decoration: underline; }
.scene-refresh[hidden] { display: none; }
.workspace-card { min-width: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-image); background: var(--surface); }
.listing-details > form { min-width: 0; display: grid; gap: 24px; }
.listing-details__fields { display: grid; gap: 24px; }
.listing-details__fields textarea { min-height: 168px; }
.workspace-hint { color: var(--muted); font-size: 13px; line-height: 1.7; }
.workspace-text-link { font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.workspace-views { display: grid; gap: 24px; min-width: 0; }
.scene-viewer--embedded { padding: 0; min-width: 0; }
.workspace-views__heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; font-size: 13px; }
.workspace-views ul { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 24px; }
.workspace-views li.saved-view-card { padding: 12px; background: var(--surface); }
.workspace-views .saved-view-preview { border-radius: 6px; }
.workspace-views .saved-view-card__body { padding: 12px 0 0; gap: 16px; }
.workspace-views .saved-view-settings { display: flex; flex-direction: column-reverse; align-items: stretch; border-top: 0; padding-top: 0; }
.workspace-views .saved-view-default { min-height: 44px; background: var(--ink); color: var(--canvas); font-size: 12px; }
.workspace-views .saved-view-default:disabled { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.publication-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.publication { display: grid; gap: 24px; }
.publication-checks { list-style: none; margin: 0; padding: 0; display: grid; }
.publication-check { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.publication-check:first-child { padding-top: 0; }
.publication-check a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.publication-check__mark { display: grid; place-items: center; flex-shrink: 0; width: 20px; height: 20px; border: 1px solid var(--line); border-radius: 50%; font-size: 11px; }
.publication-check--done .publication-check__mark { border-color: var(--accent); background: var(--accent); color: var(--ink); }
.publication-check--done a { color: var(--muted); }
.location-workspace .review-actions { margin: 0; display: grid; gap: 16px; }
.review-actions__heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.location-workspace .review-actions h3 { font-size: 18px; }
.location-workspace .review-actions p { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.6; }
.review-actions__form { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.publication-history { font-size: 13px; }
.publication-history summary { cursor: pointer; color: var(--muted); }
.publication-history ol { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.publication-history p { margin: 4px 0 0; color: var(--muted); overflow-wrap: anywhere; white-space: pre-wrap; }
@keyframes scene-processing-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .scene-state__spinner { animation: none; } }
@media (max-width: 1023px) {
  .location-workspace__columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .location-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .location-steps a, .location-steps__step { justify-content: center; gap: 8px; padding: 12px 8px; }
}
@media (max-width: 767px) {
  .location-workspace { gap: 24px; padding-top: 24px; }
  .location-workspace__title { align-items: flex-start; flex-direction: column; gap: 16px; }
  .location-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .location-steps a, .location-steps__step { justify-content: flex-start; padding-inline: 12px; }
  .scene-state__body { align-items: stretch; flex-direction: column; padding: 24px 20px; }
  .scene-state__actions { justify-content: center; }
  .scene-state__actions > .button, .scene-state__actions > form, .scene-state__actions > form > .button { width: 100%; }
  .scene-source { padding: 20px; }
  .scene-source__save, .location-workspace__actions { flex-direction: column; align-items: stretch; gap: 16px; }
    .workspace-card { padding: 20px; }
    }
.scene-state.inline-viewer--open { background: none; overflow: visible; }
.location-feedback-notice { margin: 0 0 24px; padding: 12px 16px; border-radius: var(--radius-control); background: #fff2d6; font-size: 13px; line-height: 1.6; }
.location-feedback-notice a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.location-feedback { display: grid; gap: 16px; }
.location-feedback__meta { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; }
.location-feedback__reason { font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.location-feedback__reason p { margin: 0 0 12px; }
.location-feedback__reason p:last-child { margin-bottom: 0; }
.location-catalog { position: static; }
.location-workspace__actions .button[aria-disabled=true] { opacity: .45; pointer-events: none; cursor: not-allowed; }
.location-workspace__actions .field__hint { margin: 0 0 0 auto; }
.location-workspace__actions .field__hint[hidden] { display: none; }
.location-workspace__menus { position: relative; display: flex; flex-wrap: wrap; flex-shrink: 0; gap: 8px; }
