/* Shared compact UI. Geometry and mode-specific controls remain in their own modules. */
@media (min-width:761px){
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services{align-items:stretch!important;gap:6px!important}
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button{
    box-sizing:border-box!important;height:44px!important;min-height:44px!important;max-height:44px!important;
    padding:5px 10px!important;gap:2px!important;align-items:flex-start!important;justify-content:center!important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-style:normal!important;letter-spacing:0!important;
  }
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button > :is(span,strong){
    display:block!important;margin:0!important;padding:0!important;font:700 12px/13px Inter,system-ui,sans-serif!important;
    letter-spacing:0!important;white-space:nowrap!important;
  }
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button > small,
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button[data-photo-open] > span{
    display:block!important;margin:1px 0 0!important;padding:0!important;font:500 10px/11px Inter,system-ui,sans-serif!important;
    letter-spacing:0!important;white-space:nowrap!important;
  }
}
@media (max-width:760px){
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button{
    height:40px!important;min-height:40px!important;max-height:40px!important;padding:6px 9px!important;
  }
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button > :is(span,strong){font-size:11px!important;line-height:13px!important}
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button > small,
  .xyz3d-app.xyz3d-layout-v96 > .xyz3d-main-shell .xyz3d-services > button[data-photo-open] > span{display:none!important}
}

/* 0.18.96.297 — professional compact desktop UI density pass.
   Layout/geometry/pricing logic is untouched; mobile keeps larger touch targets. */
@media (min-width:761px){
  .xyz3d-app{
    --xyz297-control-h:36px;
    --xyz297-control-radius:8px;
    --xyz297-gap:8px;
  }

  /* Main FDM / Resin / Mould / Engineering form rhythm. */
  .xyz3d-app .xyz3d-setting-section{padding:12px 0!important}
  .xyz3d-app .xyz3d-section-title{margin-bottom:8px!important}
  .xyz3d-app .xyz3d-section-title span{font-size:13px!important}
  .xyz3d-app .xyz3d-section-title small{font-size:10.5px!important}
  .xyz3d-app .xyz3d-field-grid{gap:8px!important}
  .xyz3d-app .xyz3d-field>span:first-child,
  .xyz3d-app .xyz3d-textarea>span{font-size:12px!important;margin-bottom:4px!important}
  .xyz3d-app .xyz3d-field select,
  .xyz3d-app .xyz3d-input-wrap,
  .xyz3d-app .xyz3d-photo-service-shell .xyz3d-field>input,
  .xyz3d-app .xyz3d-photo-service-shell .xyz3d-input-suffix{
    min-height:var(--xyz297-control-h)!important;
    height:var(--xyz297-control-h)!important;
    border-radius:var(--xyz297-control-radius)!important;
  }
  .xyz3d-app .xyz3d-field select{padding-top:0!important;padding-bottom:0!important;background-position:calc(100% - 15px) 13px,calc(100% - 11px) 13px!important}
  .xyz3d-app .xyz3d-input-wrap input{padding:6px 4px 6px 9px!important}
  .xyz3d-app .xyz3d-photo-service-shell .xyz3d-field>input{padding:0 9px!important}
  .xyz3d-app .xyz3d-photo-service-shell .xyz3d-input-suffix input{padding:0 9px!important}
  .xyz3d-app .xyz3d-range{margin-top:10px!important}
  .xyz3d-app .xyz3d-range>span{font-size:12px!important}
  .xyz3d-app .xyz3d-range input{margin-top:4px!important}
  .xyz3d-app .xyz3d-toggle-row{gap:10px!important;margin-top:10px!important}
  .xyz3d-app .xyz3d-switch{min-height:32px!important}
  .xyz3d-app .xyz3d-switch>span{font-size:12px!important}
  .xyz3d-app .xyz3d-switch>span small{font-size:10.5px!important}
  .xyz3d-app .xyz3d-segmented{gap:6px!important;margin-bottom:9px!important}
  .xyz3d-app .xyz3d-segmented button{padding:8px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-segmented b{font-size:12px!important}
  .xyz3d-app .xyz3d-segmented small{font-size:10.5px!important}
  .xyz3d-app .xyz3d-info-card{margin-top:9px!important;padding:8px 9px!important;border-radius:8px!important;line-height:1.4!important}
  .xyz3d-app .xyz3d-textarea{margin-top:10px!important}
  .xyz3d-app .xyz3d-textarea textarea{min-height:72px!important;padding:7px 9px!important}
  .xyz3d-app .xyz3d-check-grid{gap:5px!important;margin-top:9px!important}
  .xyz3d-app .xyz3d-check-grid label{font-size:12px!important}

  /* Quantity / estimate / analysis — the oversized blocks from the screenshots. */
  .xyz3d-app .xyz3d-quantity-line{gap:8px!important}
  .xyz3d-app .xyz3d-quantity-control>span b{font-size:13px!important}
  .xyz3d-app .xyz3d-quantity-control>span small{font-size:11px!important}
  .xyz3d-app .xyz3d-quantity-line .xyz3d-field{width:82px!important}
  .xyz3d-app .xyz3d-production-estimate{gap:2px!important;padding:8px 10px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-production-estimate span{font-size:10.5px!important}
  .xyz3d-app .xyz3d-production-estimate strong{font-size:12px!important}
  .xyz3d-app .xyz3d-production-estimate small{font-size:10.5px!important;line-height:1.35!important}
  .xyz3d-app .xyz3d-analysis-status{margin:10px 0!important;padding:8px 9px!important;border-radius:9px!important}
  .xyz3d-app .xyz3d-analysis-status span{font-size:12px!important}
  .xyz3d-app .xyz3d-analysis-status small{font-size:11px!important;margin-top:2px!important}
  .xyz3d-app .xyz3d-metrics{gap:6px!important}
  .xyz3d-app .xyz3d-metrics>div{padding:7px 8px!important;border-radius:8px!important;min-height:58px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .xyz3d-app .xyz3d-metrics span{font-size:11px!important}
  .xyz3d-app .xyz3d-metrics strong{font-size:12px!important;margin-top:2px!important}
  .xyz3d-app .xyz3d-analysis-list{margin-top:10px!important}
  .xyz3d-app .xyz3d-analysis-list>div{font-size:12px!important;padding:8px 1px!important}
  .xyz3d-app .xyz3d-analysis-note{font-size:11px!important;line-height:1.45!important;margin-top:9px!important}

  /* Quote/request tail. */
  .xyz3d-app .xyz3d-quote{padding-top:13px!important;padding-bottom:14px!important}
  .xyz3d-app .xyz3d-quote>div:first-child{margin-bottom:9px!important}
  .xyz3d-app .xyz3d-quote span{font-size:12px!important}
  .xyz3d-app .xyz3d-price{font-size:24px!important}
  .xyz3d-app .xyz3d-price-note{font-size:11px!important}
  .xyz3d-app .xyz3d-customer-contact{gap:7px!important;margin-bottom:8px!important}
  .xyz3d-app .xyz3d-customer-contact input{min-height:36px!important;padding:6px 9px!important}
  .xyz3d-app .xyz3d-customer-contact textarea{min-height:58px!important;padding:7px 9px!important}
  .xyz3d-app .xyz3d-account-contact{padding:6px 8px!important}
  .xyz3d-app .xyz3d-cart-reservation-note{padding:7px 9px!important;margin-bottom:8px!important;font-size:12px!important}
  .xyz3d-app .xyz3d-custom-goods-notice{font-size:12px!important;margin-bottom:8px!important}
  .xyz3d-app .xyz3d-custom-goods-notice summary{padding:7px 9px!important}
  .xyz3d-app .xyz3d-custom-goods-content{padding:7px 9px 8px!important}
  .xyz3d-app .xyz3d-custom-goods-consent,
  .xyz3d-app .xyz3d-terms-consent,
  .xyz3d-app .xyz3d-service-start-consent{font-size:12px!important;gap:7px!important;margin-bottom:8px!important}
  .xyz3d-app .xyz3d-primary,
  .xyz3d-app .xyz3d-secondary{min-height:38px!important;padding:7px 11px!important;font-size:13px!important;border-radius:9px!important}

  /* Photogrammetry project cards/fields. */
  .xyz3d-app .xyz3d-local-project,
  .xyz3d-app .xyz3d-reconstruction-panel{padding:13px!important}
  .xyz3d-app .xyz3d-local-project-head,
  .xyz3d-app .xyz3d-reconstruction-head{gap:10px!important;margin-bottom:9px!important}
  .xyz3d-app .xyz3d-local-project-head strong,
  .xyz3d-app .xyz3d-reconstruction-head strong{font-size:15px!important}
  .xyz3d-app .xyz3d-local-project-head span,
  .xyz3d-app .xyz3d-reconstruction-head span{font-size:10.5px!important}
  .xyz3d-app .xyz3d-local-project-head small,
  .xyz3d-app .xyz3d-reconstruction-head small{font-size:10.5px!important;line-height:1.3!important}
  .xyz3d-app .xyz3d-local-project-metrics,
  .xyz3d-app .xyz3d-reconstruction-metrics{gap:7px!important;margin-bottom:9px!important}
  .xyz3d-app .xyz3d-local-project-metrics div,
  .xyz3d-app .xyz3d-reconstruction-metrics div{padding:8px!important;border-radius:9px!important;gap:2px!important}
  .xyz3d-app .xyz3d-local-project-metrics span,
  .xyz3d-app .xyz3d-reconstruction-metrics span{font-size:10.5px!important}
  .xyz3d-app .xyz3d-local-project-metrics strong,
  .xyz3d-app .xyz3d-reconstruction-metrics strong{font-size:13px!important}
  .xyz3d-app .xyz3d-local-project-settings,
  .xyz3d-app .xyz3d-reconstruction-controls{gap:8px!important;margin:8px 0!important}
  .xyz3d-app .xyz3d-local-project-settings label,
  .xyz3d-app .xyz3d-reconstruction-controls label{gap:4px!important;font-size:11px!important}
  .xyz3d-app .xyz3d-local-project-settings input[type="number"]{min-height:36px!important;padding:6px 9px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-local-project-actions,
  .xyz3d-app .xyz3d-reconstruction-actions{gap:6px!important}
  .xyz3d-app .xyz3d-local-project-actions button,
  .xyz3d-app .xyz3d-reconstruction-actions button{padding:7px 10px!important;min-height:36px!important;font-size:12px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-photo-quality-note{padding:8px 10px!important;margin-bottom:10px!important;border-radius:8px!important}

  /* Single Photo: preserve structure, reduce control/card bulk. */
  .xyz3d-app .xyz3d-single-panel-section{margin-top:9px!important;padding-top:9px!important}
  .xyz3d-app .xyz3d-single-panel-head{margin-bottom:6px!important}
  .xyz3d-app .xyz3d-single-field-grid{gap:7px!important}
  .xyz3d-app .xyz3d-single-field-grid label{gap:4px!important;font-size:11px!important}
  .xyz3d-app .xyz3d-single-field-grid input[type="number"],
  .xyz3d-app .xyz3d-single-field-grid input[type="text"],
  .xyz3d-app .xyz3d-single-field-grid select,
  .xyz3d-app .xyz3d-single-mm-input{min-height:34px!important;padding:6px 8px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-physical143{gap:6px!important;padding:8px!important;border-radius:9px!important}
  .xyz3d-app .xyz3d-physical143-grid{gap:6px!important}
  .xyz3d-app .xyz3d-physical143-grid input{min-height:34px!important;padding:6px 8px!important;border-radius:7px!important}
  .xyz3d-app .xyz3d-physical143-head select{min-height:32px!important;padding:4px 7px!important}
  .xyz3d-app .xyz3d-single-preview-tabs{gap:6px!important}
  .xyz3d-app .xyz3d-single-preview-tabs button{min-height:32px!important;padding-top:6px!important;padding-bottom:6px!important}
  .xyz3d-app .xyz3d-alpha146-note{padding:7px 8px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-single-cad149-panel{padding:9px!important}

  /* Mould drawers: reduce vertical waste without changing workflow. */
  .xyz3d-app .xyz3d-guided-mould-panel .xyz3d-info-card{padding:7px 8px!important}
  .xyz3d-app .xyz3d-tool-drawer-content{padding-top:8px!important;padding-bottom:8px!important}

  /* Upload/project cards — more information per viewport. */
  .xyz3d-app .xyz3d-project-upload-grid{gap:7px!important;margin-top:7px!important}
  .xyz3d-app .xyz3d-project-upload-card{min-height:108px!important;padding:9px!important;border-radius:9px!important;gap:3px!important}
  .xyz3d-app .xyz3d-project-upload-card>b{font-size:12px!important}
  .xyz3d-app .xyz3d-project-upload-card>span{font-size:11px!important;line-height:1.3!important}
  .xyz3d-app .xyz3d-project-upload-card>button,
  .xyz3d-app .xyz3d-project-upload-card>em{padding:6px 8px!important;min-height:34px!important}
}


@media (min-width:761px){
  /* Single Photo / Vector / Relief — consistent compact density. */
  .xyz3d-app .xyz3d-photo-single-settings .xyz3d-single-panel-section,
  .xyz3d-app .xyz3d-single-vector-step2 .xyz3d-single-panel-section,
  .xyz3d-app .xyz3d-single-relief-step2 .xyz3d-single-panel-section{
    padding:8px!important;
    margin-top:8px!important;
    padding-top:8px!important;
    border-radius:9px!important;
  }
  .xyz3d-app .xyz3d-photo-single-settings .xyz3d-single-panel-head,
  .xyz3d-app .xyz3d-single-vector-step2 .xyz3d-single-panel-head,
  .xyz3d-app .xyz3d-single-relief-step2 .xyz3d-single-panel-head{
    min-height:30px!important;
    margin:0 0 6px!important;
    padding:4px 31px 4px 7px!important;
    gap:5px!important;
    border-radius:6px!important;
  }
  .xyz3d-app .xyz3d-photo-single-settings .xyz3d-single-panel-head strong,
  .xyz3d-app .xyz3d-single-vector-step2 .xyz3d-single-panel-head strong,
  .xyz3d-app .xyz3d-single-relief-step2 .xyz3d-single-panel-head strong{
    font-size:12px!important;
    line-height:1.12!important;
  }
  .xyz3d-app .xyz3d-photo-single-settings .xyz3d-single-panel-head small,
  .xyz3d-app .xyz3d-single-vector-step2 .xyz3d-single-panel-head small,
  .xyz3d-app .xyz3d-single-relief-step2 .xyz3d-single-panel-head small{
    font-size:10px!important;
    line-height:1.1!important;
  }
  .xyz3d-app .xyz3d-photo-single-settings .xyz3d-single-section-toggle140,
  .xyz3d-app .xyz3d-single-vector-step2 .xyz3d-single-section-toggle140,
  .xyz3d-app .xyz3d-single-relief-step2 .xyz3d-single-section-toggle140{
    width:20px!important;min-width:20px!important;max-width:20px!important;
    height:20px!important;min-height:20px!important;max-height:20px!important;
    right:5px!important;font-size:12px!important;border-radius:6px!important;
  }

  .xyz3d-app .xyz3d-single-step2-head{gap:8px!important}
  .xyz3d-app .xyz3d-single-step2-head > button{
    min-height:32px!important;
    padding:6px 9px!important;
    border-radius:8px!important;
    font-size:11px!important;
  }
  .xyz3d-app .xyz3d-single-step2-head span{font-size:10px!important;letter-spacing:.08em!important}
  .xyz3d-app .xyz3d-single-step2-head h3{font-size:14px!important;line-height:1.18!important}
  .xyz3d-app .xyz3d-single-step2-head p{font-size:11px!important;line-height:1.35!important}
  .xyz3d-app .xyz3d-single-step2-summary{gap:7px!important}
  .xyz3d-app .xyz3d-single-step2-summary > div{padding:7px 8px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-single-step2-summary span{font-size:10px!important}
  .xyz3d-app .xyz3d-single-step2-summary strong{font-size:11px!important;line-height:1.25!important}

  .xyz3d-app .xyz3d-single-field-grid,
  .xyz3d-app .xyz3d-single-step2-fields,
  .xyz3d-app .xyz3d-single-output-grid,
  .xyz3d-app .xyz3d-single-quality-grid{gap:6px!important}
  .xyz3d-app .xyz3d-single-field-grid label,
  .xyz3d-app .xyz3d-single-step2-fields label{gap:3px!important;font-size:11px!important}
  .xyz3d-app .xyz3d-single-field-grid label > span,
  .xyz3d-app .xyz3d-single-step2-fields label > span,
  .xyz3d-app .xyz3d-physical143-grid label > span,
  .xyz3d-app .xyz3d-single-cad149-panel > label > span{font-size:11px!important;line-height:1.15!important}
  .xyz3d-app .xyz3d-single-field-grid small,
  .xyz3d-app .xyz3d-physical143 > small,
  .xyz3d-app .xyz3d-single-cad149-panel > small,
  .xyz3d-app .xyz3d-vector-import214 > small,
  .xyz3d-app [data-layer142-status],
  .xyz3d-app [data-relief-status],
  .xyz3d-app .xyz3d-relief-analysis{font-size:10.5px!important;line-height:1.35!important}
  .xyz3d-app .xyz3d-single-field-grid input[type="number"],
  .xyz3d-app .xyz3d-single-field-grid input[type="text"],
  .xyz3d-app .xyz3d-single-field-grid select,
  .xyz3d-app .xyz3d-physical143-grid input,
  .xyz3d-app .xyz3d-physical143-head select,
  .xyz3d-app .xyz3d-single-cad149-panel select,
  .xyz3d-app .xyz3d-single-mm-input{
    min-height:32px!important;
    height:auto!important;
    padding:5px 8px!important;
    border-radius:7px!important;
  }
  .xyz3d-app .xyz3d-single-mm-input input{padding:0!important;min-height:0!important;height:auto!important}
  .xyz3d-app .xyz3d-single-mm-input small{font-size:10.5px!important}
  .xyz3d-app .xyz3d-single-field-grid input[type="range"],
  .xyz3d-app .xyz3d-single-cad149-panel input[type="range"]{margin-top:2px!important}

  .xyz3d-app .xyz3d-single-output-grid button,
  .xyz3d-app .xyz3d-single-quality-grid button,
  .xyz3d-app .xyz3d-layer142-actions button,
  .xyz3d-app .xyz3d-layer142-final button,
  .xyz3d-app .xyz3d-layer142-group > button,
  .xyz3d-app .xyz3d-vector-import214 button,
  .xyz3d-app .xyz3d-relief-export-grid button{
    min-height:38px!important;
    padding:7px 9px!important;
    border-radius:8px!important;
  }
  .xyz3d-app .xyz3d-single-output-grid button strong,
  .xyz3d-app .xyz3d-single-quality-grid button strong,
  .xyz3d-app .xyz3d-relief-export-grid button strong{font-size:11px!important;line-height:1.15!important}
  .xyz3d-app .xyz3d-single-output-grid button span,
  .xyz3d-app .xyz3d-single-quality-grid button span,
  .xyz3d-app .xyz3d-relief-export-grid button span{font-size:10px!important;line-height:1.25!important;margin-top:2px!important}

  .xyz3d-app .xyz3d-physical143{gap:5px!important;padding:7px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-physical143-head strong{font-size:11.5px!important}
  .xyz3d-app .xyz3d-physical143-grid{gap:5px!important}
  .xyz3d-app .xyz3d-layer142-actions{gap:5px!important}
  .xyz3d-app .xyz3d-layer142-list,
  .xyz3d-app .xyz3d-layer142-selected{gap:6px!important}
  .xyz3d-app .xyz3d-layer142-final{gap:6px!important}
  .xyz3d-app .xyz3d-vector-import214{margin-top:6px!important;padding:7px 8px!important;border-radius:8px!important}

  .xyz3d-app .xyz3d-single-cad149-panel{padding:8px!important;border-radius:9px!important}
  .xyz3d-app .xyz3d-single-cad149-panel > label{gap:4px!important;margin:7px 0!important;font-size:11px!important}

  /* Grayscale Relief specific oversized blocks. */
  .xyz3d-app .xyz3d-single-relief-step2{gap:8px!important}
  .xyz3d-app .xyz3d-relief-source-picker{gap:4px!important;padding:9px!important;border-radius:8px!important}
  .xyz3d-app .xyz3d-relief-source-picker strong{font-size:12px!important}
  .xyz3d-app .xyz3d-relief-source-picker span{font-size:10.5px!important}
  .xyz3d-app .xyz3d-relief-auto-row,
  .xyz3d-app .xyz3d-relief-ai-actions{gap:6px!important}
  .xyz3d-app .xyz3d-relief-auto-row button,
  .xyz3d-app .xyz3d-relief-ai-actions button,
  .xyz3d-app .xyz3d-relief-mask-picker{
    min-height:42px!important;
    padding:7px 9px!important;
    border-radius:8px!important;
  }
  .xyz3d-app .xyz3d-relief-auto-row button strong,
  .xyz3d-app .xyz3d-relief-ai-actions button strong,
  .xyz3d-app .xyz3d-relief-mask-picker strong{font-size:11.5px!important}
  .xyz3d-app .xyz3d-relief-auto-row button span,
  .xyz3d-app .xyz3d-relief-ai-actions button span,
  .xyz3d-app .xyz3d-relief-mask-picker span{font-size:10px!important;line-height:1.2!important}
  .xyz3d-app .xyz3d-relief-ai256{margin-top:8px!important;padding:8px!important;border-radius:9px!important}
  .xyz3d-app .xyz3d-relief-preset257{grid-template-columns:80px minmax(0,1fr)!important;gap:6px!important;margin-bottom:6px!important}
  .xyz3d-app .xyz3d-relief-preset257 > span,
  .xyz3d-app .xyz3d-relief-preset257 label > span{font-size:11px!important}
  .xyz3d-app .xyz3d-relief-channels257{gap:5px!important}
  .xyz3d-app .xyz3d-relief-channel257{
    grid-template-columns:26px 66px minmax(64px,1fr) 40px!important;
    gap:6px!important;
    padding:5px 6px!important;
    border-radius:7px!important;
  }
  .xyz3d-app .xyz3d-relief-channel-final257{grid-template-columns:26px 66px minmax(0,1fr)!important}
  .xyz3d-app .xyz3d-relief-channel257 button{
    width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;
    border-radius:6px!important;font-size:11px!important;
  }
  .xyz3d-app .xyz3d-relief-channel257 strong{font-size:11px!important;line-height:1.1!important}
  .xyz3d-app .xyz3d-relief-channel257 small,
  .xyz3d-app .xyz3d-relief-channel-final257 span{font-size:10px!important;line-height:1.15!important}
  .xyz3d-app .xyz3d-relief-zshape257{margin-top:7px!important;padding-top:7px!important}

  .xyz3d-app .xyz3d-relief-preview-tabs{gap:5px!important}
  .xyz3d-app .xyz3d-relief-preview-tabs button{min-height:32px!important;padding:5px 9px!important;border-radius:7px!important;font-size:11px!important}
  .xyz3d-app .xyz3d-relief-toolbar{gap:8px!important}
  .xyz3d-app .xyz3d-relief-toolbar > div:first-child{min-width:160px!important}
  .xyz3d-app .xyz3d-relief-empty{min-height:200px!important;padding:22px!important;border-radius:12px!important}
  .xyz3d-app .xyz3d-relief-empty strong{font-size:14px!important}
  .xyz3d-app .xyz3d-relief-empty span{font-size:12px!important}
  .xyz3d-app .xyz3d-relief-empty small{font-size:10.5px!important}
}

/* Shared spacing and type for settings, labels and compact cards. */
@media (min-width:761px){
  .xyz3d-app .xyz3d-panel-body{padding:12px!important}
  .xyz3d-app .xyz3d-setting-section{margin:0!important;padding:10px!important;border-radius:9px!important}
  .xyz3d-app .xyz3d-setting-section + .xyz3d-setting-section{margin-top:8px!important}
  .xyz3d-app .xyz3d-panel-body > :is(.xyz3d-setting-section,.xyz3d-model-section,.xyz3d-mould-request-section) + :is(.xyz3d-setting-section,.xyz3d-model-section,.xyz3d-mould-request-section){margin-top:8px!important}
  .xyz3d-app .xyz3d-section-title{min-height:30px!important;margin-bottom:7px!important;padding:5px 8px!important}
  .xyz3d-app .xyz3d-section-title span{font-size:13px!important;line-height:1.25!important}
  .xyz3d-app .xyz3d-section-title small{font-size:10.5px!important;line-height:1.25!important}
  .xyz3d-app .xyz3d-field-grid,.xyz3d-app .xyz3d-single-field-grid{gap:7px!important}
  .xyz3d-app .xyz3d-photo-single-settings .xyz3d-single-panel-section,
  .xyz3d-app .xyz3d-single-vector-step2 .xyz3d-single-panel-section,
  .xyz3d-app .xyz3d-single-relief-step2 .xyz3d-single-panel-section{margin-top:7px!important;padding:8px!important}
  .xyz3d-app .xyz3d-single-panel-head small{font-size:10.5px!important}
  .xyz3d-app .xyz3d-single-panel-head strong{font-size:12.5px!important}
  .xyz3d-app .xyz3d-photo-single-settings :is(label,small),
  .xyz3d-app .xyz3d-single-vector-step2 :is(label,small),
  .xyz3d-app .xyz3d-single-relief-step2 :is(label,small){line-height:1.3}
  .xyz3d-app .xyz3d-local-project,
  .xyz3d-app .xyz3d-reconstruction-panel,
  .xyz3d-app .xyz3d-project-upload-card{border-radius:9px!important}
  .xyz3d-app .xyz3d-relief-channel257{grid-template-columns:26px 72px minmax(64px,1fr) 40px!important}
  .xyz3d-app .xyz3d-relief-channel-final257{grid-template-columns:26px 72px minmax(0,1fr)!important}
}
/* A single readable text scale for all four order modes and Photo. */
.xyz3d-app :is(.xyz3d-field>span:first-child,.xyz3d-textarea>span,.xyz3d-switch>span,.xyz3d-check-grid label,
  .xyz3d-local-project-settings label,.xyz3d-reconstruction-controls label,.xyz3d-single-field-grid label,
  .xyz3d-single-step2-fields label,.xyz3d-relief-preset257 label,.xyz3d-relief-channel257 strong){font-size:12px!important}
.xyz3d-app :is(.xyz3d-analysis-note,.xyz3d-price-note,.xyz3d-production-estimate small,.xyz3d-photo-quality-note,
  .xyz3d-single-step2-summary span,.xyz3d-single-output-grid button span,.xyz3d-single-quality-grid button span,
  .xyz3d-relief-auto-row button span,.xyz3d-relief-ai-actions button span,.xyz3d-relief-mask-picker span){font-size:10.5px!important;line-height:1.3!important}
.xyz3d-app :is(.xyz3d-panel-body,.xyz3d-guided-mould-panel,.xyz3d-engineering-section,
  .xyz3d-photo-left-tools,.xyz3d-photo-single-settings) label{font-size:12px!important;line-height:1.3!important}
.xyz3d-app :is(.xyz3d-panel-body,.xyz3d-guided-mould-panel,.xyz3d-engineering-section,
  .xyz3d-photo-left-tools,.xyz3d-photo-single-settings) small{font-size:10.5px!important;line-height:1.3!important}

/* Light palette: cover settings introduced by isolated mode modules. Viewport canvases are excluded. */
.xyz3d-app[data-ui-theme="light"]{
  --xyz3d-text:#1c2b35;--xyz3d-muted:#435563;--xyz285-panel-2:#dce2e6;
  --xyz-text:#1c2b35;--xyz-muted:#435563;--xyz3d-panel-tabs-bg:#dce2e6;--xyz3d-panel-tabs-bg:#dce2e6;
}
.xyz3d-app[data-ui-theme="light"] :is(
  .xyz3d-ve264-contour-settings,.xyz3d-ve265-select-settings,.xyz3d-ve265-lasso-settings,
  .xyz3d-vector-cleanup200,.xyz3d-vector-import214,.xyz3d-vector-mirror219,
  .xyz3d-vector-curve219,.xyz3d-vector-auto-stitch221,.xyz3d-backing-cutter224,
  .xyz3d-cutter224-profile,.xyz3d-relief-mixer257,.xyz3d-relief-ai256,
  .xyz3d-relief-channel257,.xyz3d-single-cad149-panel,.xyz3d-physical143,
  .xyz3d-layer142-list,.xyz3d-layer142-selected,.xyz3d-layer142-final,
  .xyz3d-tool-drawer-content,.xyz3d-reconstruction-panel,.xyz3d-local-project
){background:#e2e8eb!important;border-color:#9eabb3!important;color:#1c2b35!important;box-shadow:none!important}
.xyz3d-app[data-ui-theme="light"] :is(
  .xyz3d-photo-single-settings,.xyz3d-single-vector-step2,.xyz3d-single-relief-step2,
  .xyz3d-ve264-contour-settings,.xyz3d-ve265-select-settings,.xyz3d-ve265-lasso-settings,
  .xyz3d-vector-cleanup200,.xyz3d-vector-import214,.xyz3d-vector-mirror219,
  .xyz3d-relief-mixer257,.xyz3d-relief-ai256,.xyz3d-local-project,.xyz3d-reconstruction-panel
) :is(label,small,span,p,strong,b){color:#243540!important;-webkit-text-fill-color:#243540!important;text-shadow:none!important}
.xyz3d-app[data-ui-theme="light"] :is(
  .xyz3d-ve264-contour-settings,.xyz3d-ve265-select-settings,.xyz3d-ve265-lasso-settings,
  .xyz3d-relief-mixer257,.xyz3d-relief-ai256,.xyz3d-local-project,.xyz3d-reconstruction-panel
) :is(input:not([type="checkbox"]):not([type="range"]),select,textarea){background:#cbd4da!important;border-color:#8999a4!important;color:#152936!important;-webkit-text-fill-color:#152936!important}
.xyz3d-app[data-ui-theme="light"] :is(
  .xyz3d-ve264-contour-settings,.xyz3d-ve265-select-settings,.xyz3d-ve265-lasso-settings,
  .xyz3d-relief-mixer257,.xyz3d-relief-ai256
) button:not(.is-active):not([aria-pressed="true"]){background:#d5dde2!important;border-color:#9aaab4!important;color:#1b3340!important}
.xyz3d-app[data-ui-theme="light"] .xyz3d-photo-route-overlay .xyz3d-route-pin:not(.is-complete),
.xyz3d-app[data-ui-theme="light"] .xyz3d-photo-route-overlay .xyz3d-route-number:not(.is-complete){
  background:rgba(58,66,73,.78)!important;border-color:rgba(28,35,41,.92)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.18)!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-camera-ring button{
  background:rgba(45,54,61,.88)!important;border-color:rgba(28,35,41,.9)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.18) inset!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-camera-ring button::before{
  background:rgba(255,255,255,.06)!important;border-color:rgba(246,249,251,.78)!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-camera-ring button:is(:hover,.is-active){
  background:rgba(229,106,18,.42)!important;border-color:#fff!important;
  box-shadow:0 0 0 2px rgba(229,106,18,.24),0 0 12px rgba(184,83,14,.24)!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-camera-ring button.is-complete{
  background:rgba(54,104,76,.88)!important;border-color:rgba(19,58,37,.95)!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-photo-previews .xyz3d-photo-preview-button{
  background:linear-gradient(180deg,#86919a,#6b7781)!important;border-color:#5d6872!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-photo-preview-button span{background:rgba(28,36,44,.84)!important;color:#f3f7fa!important}
.xyz3d-app[data-ui-theme="light"].xyz3d-photo-open.xyz3d-sp-narrow234 .xyz3d-single-photo-footer{
  background:linear-gradient(180deg,rgba(231,235,237,0),#e7ebed 28%)!important
}
@media (max-width:900px){
  .xyz3d-app[data-ui-theme="light"].xyz3d-photo-open.xyz3d-sp-narrow234{background:#d6dce0!important}
}

/* The layer editor and vector sliders are settings, even while their SVG canvas stays dark. */
.xyz3d-app[data-ui-theme="light"] :is(.xyz3d-layer142-row,.xyz3d-layer142-group,.xyz3d-layer142-toolbar,.xyz3d-ve276-slider-field,
  .xyz3d-artwork137-details,.xyz3d-artwork137-vector-quality){
  background:#e2e8eb!important;border-color:#a2b0b9!important;color:#1c2b35!important;box-shadow:none!important
}
.xyz3d-app[data-ui-theme="light"] .xyz3d-layer142-row.is-selected{border-color:#c87732!important;box-shadow:0 0 0 1px #c87732!important}
.xyz3d-app[data-ui-theme="light"] :is(.xyz3d-layer142-row button,.xyz3d-layer142-row select,.xyz3d-layer142-field select,
  .xyz3d-layer142-field textarea,.xyz3d-layer142-range button,.xyz3d-layer142-toolbar button:not(.is-primary143),
  .xyz3d-layer142-group>button,.xyz3d-physical143 input,.xyz3d-physical143 select,.xyz3d-ve269-transform-grid input,
  .xyz3d-artwork137-grid select,.xyz3d-artwork137-grid textarea){
  background:#d5dde2!important;border-color:#96a6b0!important;color:#1b3340!important;-webkit-text-fill-color:#1b3340!important;box-shadow:none!important
}
.xyz3d-app[data-ui-theme="light"] :is(.xyz3d-layer142-group>strong,.xyz3d-layer142-field,.xyz3d-layer142-check,
  .xyz3d-layer142-file,.xyz3d-layer142-empty,.xyz3d-layer142-select b,.xyz3d-layer142-field small,
  .xyz3d-physical143-head strong,.xyz3d-physical143-grid label,.xyz3d-physical143>small,
  .xyz3d-ve276-slider-field>span,.xyz3d-ve276-slider-field output,.xyz3d-artwork137-details>summary,
  .xyz3d-artwork137-grid label,.xyz3d-artwork137-grid label>span,.xyz3d-artwork137-vector-quality label,
  .xyz3d-artwork137-vector-quality label>span){color:#243540!important;-webkit-text-fill-color:#243540!important}
.xyz3d-app[data-ui-theme="light"] :is(.xyz3d-layer142-field,.xyz3d-layer142-check,
  .xyz3d-physical143-grid label,.xyz3d-ve276-slider-field>span){font-size:12px!important}
.xyz3d-app[data-ui-theme="light"] .xyz3d-layer142-toolbar button.is-primary143{background:#d47729!important;color:#172b36!important}

/* The same stage-above-settings layout applies to every non-Photo service at narrow widths. */
@media (max-width:900px){
  .xyz3d-app:not(.xyz3d-photo-open) > .xyz3d-main-shell .xyz3d-workspace:not([hidden]){
    display:flex!important;flex-direction:column!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:none!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important
  }
  .xyz3d-app:not(.xyz3d-photo-open) > .xyz3d-main-shell .xyz3d-stage{
    order:1!important;grid-area:auto!important;width:100%!important;min-width:0!important;min-height:0!important
  }
  .xyz3d-app:not(.xyz3d-photo-open) > .xyz3d-main-shell .xyz3d-panel{
    order:2!important;grid-area:auto!important;width:100%!important;min-width:0!important;min-height:0!important
  }
}
