/* Compact creation workspace; existing account and admin layouts stay intact. */
.workspace:has(.creation-studio) { min-width: 0; }
.app-shell:has(.creation-studio) { grid-template-columns: minmax(0, 1fr); max-width: 1600px; }
.creation-studio { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 24px; align-items: start; }
.creation-studio * { letter-spacing: 0; }
.workspace-copy:has(~ .creation-studio) h1 { font-size: 28px; line-height: 1.2; max-width: none; }
.workspace-copy:has(~ .creation-studio) > p:not(.section-kicker),
.workspace-copy:has(~ .creation-studio) .trust-row { display: none; }
.studio-settings { min-width: 0; border-right: 1px solid #dfe4e7; padding-right: 24px; }
.studio-settings .form-panel { padding: 18px 0; background: transparent; border: 0; border-bottom: 1px solid #dfe4e7; border-radius: 0; box-shadow: none; }
.studio-settings .panel-heading { gap: 8px; margin-bottom: 16px; }
.studio-settings .panel-heading h2 { font-size: 18px; }
.studio-settings .panel-heading p, .studio-settings .step-pill, .studio-settings .picker-heading p,
.studio-settings .product-choice-visual, .studio-settings .style-choice-visual,
.studio-settings .product-choice-card small, .studio-settings .style-choice-card small { display: none; }
.studio-settings .upload-zone { min-height: 100px; padding: 16px; border-radius: 6px; background: #f4f7f8; }
.studio-settings .upload-note { font-size: 12px; line-height: 1.5; }
.studio-settings .photo-preview img { max-height: 180px; object-fit: contain; }
.studio-settings .field-grid { grid-template-columns: 1fr; gap: 16px; }
.studio-settings input:not([type=checkbox]):not([type=file]), .studio-settings select { min-height: 42px; padding: 9px 11px; font-size: 14px; border-radius: 5px; }
.studio-settings label > span { font-size: 13px; }
.studio-settings label small { font-size: 12px; line-height: 1.5; }
.studio-settings .picker-heading h3 { font-size: 13px; }
.studio-settings .product-card-grid, .studio-settings .style-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.studio-settings .product-choice-card, .studio-settings .style-choice-card { padding: 10px; min-height: 44px; border-radius: 5px; box-shadow: none; }
.studio-settings .product-choice-card strong, .studio-settings .style-choice-card strong { font-size: 12px; line-height: 1.4; }
.studio-settings .design-visual-picker, .studio-settings .style-visual-picker { margin-bottom: 16px; }
.creation-studio .customer-workflow-panel { position: sticky; top: 128px; padding: 0; min-width: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.creation-studio .workflow-heading { padding: 0 0 16px; gap: 12px; }
.creation-studio .workflow-heading h2 { font-size: 20px; }
.creation-studio .workflow-heading p, .creation-studio .workflow-heading .step-pill, .creation-studio .pipeline { display: none; }
.studio-tabs { display: flex; gap: 24px; border-bottom: 1px solid #d5dce0; margin-bottom: 16px; }
.studio-tabs button { padding: 12px 0; border: 0; border-bottom: 2px solid transparent; background: none; color: #647078; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.studio-tabs button[aria-selected=true] { color: #0e737c; border-bottom-color: #0e737c; }
.studio-tabs button:focus-visible { outline: 2px solid #0e737c; outline-offset: 3px; }
.studio-tabs button:disabled { color: #a1a9ad; cursor: not-allowed; }
.creation-studio .customer-stage-controls { display: block; }
.studio-pane[hidden], .viewer-notice[hidden] { display: none !important; }
.studio-pane .workflow-preview-card { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.studio-pane .model-preview-head { padding: 0 0 12px; align-items: center; }
.studio-pane .model-preview-head h3 { font-size: 15px; }
.studio-pane .model-preview-head p { display: none; }
.studio-pane .model-preview-head .button-cluster { gap: 6px; }
.studio-pane .model-preview-head .button-cluster { display: flex; flex-direction: row; width: auto; flex-wrap: wrap; }
.studio-pane .model-preview-head .studio-icon-button { width: 36px; height: 36px; min-height: 36px; padding: 8px; flex: 0 0 36px; }
.studio-icon-button img { display: block; width: 18px; height: 18px; }
.studio-pane .model-tone-toggle { width: auto; display: flex; border: 0; gap: 4px; background: transparent; }
.studio-pane .tone-button { width: 34px; min-width: 34px; max-width: 34px; flex: 0 0 34px; height: 34px; min-height: 34px; padding: 6px; background: transparent; border: 1px solid transparent; border-radius: 50%; }
.studio-pane .tone-button.is-active { border-color: #0e737c; }
.studio-swatch { display: block; width: 20px; height: 20px; border-radius: 50%; border: 1px solid #99a3a8; background: #9ba2a6; }
.studio-swatch[data-tone=white] { background: #fff; }
.studio-pane .button { min-height: 38px; padding: 9px 13px; border-radius: 5px; font-size: 13px; box-shadow: none; }
.studio-pane .model-inspection { padding: 0 0 10px; background: none; }
.studio-pane .model-inspection-summary { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 12px; }
.studio-pane .model-inspection-summary > div { padding: 0; background: none; border: 0; border-radius: 0; }
.studio-pane .model-inspection-summary > div:first-child { display: none; }
.studio-pane .model-inspection-summary dt { font-size: 10px; }
.studio-pane .model-inspection-summary dd { font-size: 12px; }
.studio-pane .guided-view-toolbar { display: flex; flex-wrap: wrap; padding: 0; border: 0; background: transparent; gap: 4px; }
.studio-pane .guided-view-button { min-height: 32px; padding: 6px 12px; font-size: 12px; box-shadow: none; }
.studio-pane .model-stage, .studio-pane .concept-preview { min-height: 420px; height: min(54vh, 600px); background: #e8edef; overflow: hidden; }
.studio-pane model-viewer { height: 100%; min-height: 420px; background: #e8edef; --poster-color: #e8edef; }
.studio-pane .concept-preview img { height: 100%; object-fit: contain; }
.studio-pane .concept-preview figcaption { font-size: 12px; padding: 8px; }
.studio-pane .stage-action { display: block; padding: 16px 0; margin: 0; background: transparent; border: 0; box-shadow: none; }
.studio-pane .stage-action h3, .studio-pane .stage-number, .studio-pane .stage-action > div > p:not(.stage-status) { display: none; }
.studio-pane .stage-action .button { margin: 0 6px 8px 0; }
.studio-pane .stage-status { margin-top: 4px; font-size: 13px; font-weight: 500; line-height: 1.5; }
.viewer-notice { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; z-index: 2; padding: 24px; text-align: center; background: #e8edef; color: #25333a; }
.viewer-notice p { max-width: 360px; font-size: 14px; }
.viewer-notice[data-state=loading]::before { content: ''; width: 24px; height: 24px; border: 3px solid #c3ced2; border-top-color: #0e737c; border-radius: 50%; animation: studio-spin 1s linear infinite; }
@keyframes studio-spin { to { transform: rotate(360deg); } }
.app-shell:has(.creation-studio) > .order-summary { position: static; width: auto; border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid #dfe4e7; }
@media (max-width: 1050px) {
  .creation-studio { grid-template-columns: 290px minmax(0, 1fr); gap: 16px; }
  .studio-settings { padding-right: 16px; }
  .studio-pane .model-preview-head { align-items: start; flex-direction: column; gap: 10px; }
}
@media (max-width: 760px) {
  .creation-studio { grid-template-columns: minmax(0, 1fr); }
  .studio-settings { padding: 0; border: 0; }
  .creation-studio .customer-workflow-panel { position: static; }
  .studio-settings .style-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-pane .model-stage, .studio-pane .concept-preview { height: 440px; min-height: 340px; }
  .studio-pane model-viewer { min-height: 340px; }
  .studio-tabs { gap: 20px; }
  .creation-studio .workflow-heading { flex-wrap: wrap; }
  .studio-settings input:not([type=checkbox]):not([type=file]), .studio-settings select { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .viewer-notice[data-state=loading]::before { animation: none; } }

.creation-confirmation { width: min(600px, calc(100% - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; padding: 24px; border: 1px solid #c7d0d4; border-radius: 8px; background: #fff; color: #25333a; overflow-y: auto; }
.creation-confirmation[open] { display: flex; flex-direction: column; overflow: hidden; }
.creation-confirmation-content { min-height: 0; overflow-y: auto; }
.creation-confirmation::backdrop { background: #18242899; }
.creation-confirmation h2 { margin: 0 0 12px; font-size: 22px; letter-spacing: 0; }
.creation-confirmation p { font-size: 14px; line-height: 1.5; margin: 8px 0; }
.creation-confirmation-source { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid #dfe4e7; }
.creation-confirmation-source img { width: 72px; height: 88px; object-fit: contain; flex: 0 0 72px; }
.creation-confirmation dl { margin: 12px 0; }
.creation-confirmation dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 7px 0; }
.creation-confirmation dt { font-size: 13px; color: #536169; }
.creation-confirmation dd { margin: 0; font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; }
.creation-confirmation-cost { flex-shrink: 0; padding: 8px 0; border-top: 1px solid #dfe4e7; }
.creation-confirmation-actions { display: flex; flex-shrink: 0; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #dfe4e7; }
.creation-confirmation-actions .button { border-radius: 5px; min-height: 44px; font-size: 14px; white-space: normal; box-shadow: none; }
@media (max-width: 480px) {
  .creation-confirmation { padding: 18px; }
  .creation-confirmation dl > div { grid-template-columns: 92px minmax(0, 1fr); }
  .creation-confirmation-actions .button { flex: 1 1 100%; }
}
