.center-upload { position:absolute; inset:0; color:var(--ink); pointer-events:auto; }
.center-upload [hidden] { display:none!important; }
.center-upload > header { position:absolute; top:62px; left:24px; right:24px; text-align:center; }
.center-upload > header > span { color:var(--dim); font:500 11px/1.4 var(--font); text-transform:uppercase; letter-spacing:.12em; }
.center-upload h2 { margin:5px 0; font:600 20px/1.3 var(--font); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.center-upload__media { position:absolute; inset:140px 28px 230px; display:grid; place-items:center; container-type:size; }
.center-upload__photo { position:relative; width:min(100cqw,calc(100cqh * var(--image-ratio))); max-width:100%; max-height:100%; cursor:crosshair; }
.center-upload__photo img { display:block; width:100%; height:100%; object-fit:contain; border-radius:12px; }
.center-upload__photo:focus-visible { outline:2px solid var(--accent-ink); outline-offset:5px; border-radius:12px; }
/* Subject selection exists only while SAM3D is ready (center-upload.js). */
.center-upload__photo:not([role=button]) { cursor:default; }
.center-upload__mask { position:absolute; inset:0; opacity:.45; pointer-events:none; }
.center-upload__photo i { position:absolute; width:14px; height:14px; transform:translate(-50%,-50%); background:var(--surface); border:3px solid var(--accent-ink); border-radius:50%; box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 53%,transparent); pointer-events:none; }
.center-upload__model { position:absolute; inset:0; }
.center-upload__model canvas { display:block; width:100%; height:100%; touch-action:none; }
.center-upload > footer { position:absolute; bottom:110px; left:24px; right:24px; display:grid; justify-items:center; gap:12px; }
.center-upload [role=status] { max-width:540px; margin:0; text-align:center; color:var(--dim); font:400 13px/1.5 var(--font); }
.center-upload[data-error] [role=status] { color:var(--ink); }
.center-upload__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.center-upload__actions :is(button,a) { padding:10px 18px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink); font:550 13px/1.3 var(--font); cursor:pointer; text-decoration:none; }
.center-upload__actions [data-segment] { background:var(--ink); color:var(--surface); border-color:var(--ink); }
.center-upload__actions button:disabled { opacity:.55; cursor:wait; }
.center-upload__actions :focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.center-upload__print { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; max-width:540px; font:400 12px/1.4 var(--font); }
.center-upload__print label { display:flex; align-items:center; gap:6px; color:var(--dim); }
.center-upload__print input { width:62px; padding:7px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--surface); font:inherit; }
.center-upload__print button { padding:9px 14px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--ink); font:550 12px/1.3 var(--font); cursor:pointer; }
.center-upload__print button:disabled { opacity:.55; cursor:wait; }
.center-upload__print :focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.center-upload__print small { flex-basis:100%; text-align:center; color:var(--dim); }
.center-upload[data-print-export] .center-upload__media { bottom:290px; }
/* Reconstruction occupies the native three tracks without replacing the map. */
.browse-categories[data-reconstruction] > :not(.browse-center-frame):not(.browse-side-face--right):not(.center-upload-source) { display:none!important; }
.browse-categories[data-reconstruction] > .browse-center-frame { grid-column:2!important; visibility:visible!important; pointer-events:auto!important; background:var(--surface); }
.browse-categories[data-reconstruction] > .browse-side-face--right { visibility:visible!important; pointer-events:auto!important; }
.center-upload-source { grid-column:1; grid-row:1; min-width:0; min-height:0; margin-bottom:12px; padding:24px; box-sizing:border-box; display:flex; flex-direction:column; gap:20px; pointer-events:auto; background:var(--surface); color:var(--ink); border-radius:18px; overflow:hidden; }
.center-upload-source [hidden] { display:none!important; }
.center-upload-source header > span { color:var(--dim); font:500 11px/1.4 var(--font); text-transform:uppercase; letter-spacing:.12em; }
.center-upload-source h2 { margin:6px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:600 20px/1.3 var(--font); }
.center-upload-source__media { flex:1; min-height:0; display:grid; place-items:center; container-type:size; }
.center-upload-source footer { display:grid; justify-items:center; gap:10px; }
.center-upload-source footer p { margin:0; color:var(--dim); text-align:center; font:400 12px/1.5 var(--font); }
.center-upload-source button { padding:10px 16px; border:1px solid var(--line); border-radius:999px; color:var(--surface); background:var(--ink); font:550 12px/1.4 var(--font); cursor:pointer; }
.center-upload-source button:disabled { opacity:.55; cursor:wait; }
.center-upload-source button:focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.center-upload__quality { display:flex; align-items:center; gap:8px; color:var(--dim); font:500 12px/1.4 var(--font); }
.center-upload__quality select { max-width:170px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; }
.center-upload__quality select:focus-visible { outline:2px solid var(--accent-ink); outline-offset:2px; }
.command__cad-job[data-provider="sam3d"] .command__cad-job-status span { white-space:normal; line-height:1.4; }
.command__cad-job[data-provider="sam3d"][data-status="active"] .command__cad-job-copy { grid-column:1 / -1; }
.browse-categories[data-reconstruction] .center-upload > header { top:76px; }
.browse-categories[data-reconstruction] .center-upload__media { top:140px; bottom:285px; }
.browse-categories[data-reconstruction] .center-upload > footer { bottom:110px; gap:8px; }
.browse-categories[data-reconstruction] .center-upload__actions :is(button,a) { padding:8px 12px; font-size:12px; }
@media(max-width:760px) {
  body[data-view="browse"] .browse-categories[data-reconstruction] > .browse-center-frame { grid-column:1!important; order:1; min-height:680px; }
  .browse-categories[data-reconstruction] > .center-upload-source { grid-column:1; grid-row:auto; order:0; min-height:440px; height:65vh; margin:0; padding:20px; }
  body[data-view="browse"] .browse-categories[data-reconstruction] > .browse-side-face--right { order:2; min-height:520px; }
}
@media(max-width:600px), (max-height:650px) {
  .center-upload > header { top:54px; }
  .center-upload h2 { font-size:16px; }
  .center-upload__media { inset:105px 16px 210px; }
  .center-upload > footer { bottom:100px; left:16px; right:16px; gap:8px; }
  .center-upload [role=status] { font-size:12px; }
}

/* Generated CAD keeps its controls above the floating command and queue. */
.center-upload[data-generated] > header { top:62px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 16px; text-align:left; }
.center-upload[data-generated] .center-upload__heading { min-width:0; }
.center-upload[data-generated] .center-upload__heading > span { color:var(--dim); font:500 11px/1.4 var(--font); text-transform:uppercase; letter-spacing:.12em; }
.center-upload[data-generated] h2 { margin:4px 0 0; }
.center-upload[data-generated] .center-upload__actions { justify-content:flex-end; flex-wrap:nowrap; gap:8px; }
.center-upload[data-generated] .center-upload__actions :is(button,a) { padding:8px 12px; min-height:36px; box-sizing:border-box; font-size:12px; white-space:nowrap; }
.center-upload[data-generated] [role=status] { grid-column:1 / -1; max-width:none; text-align:left; }
.center-upload[data-generated] > footer { display:none; }
.center-upload[data-generated] .center-upload__media { inset:150px 24px 230px; }
@media(max-width:600px), (max-height:650px) {
  .center-upload[data-generated] > header { top:54px; left:16px; right:16px; gap:6px 10px; }
  .center-upload[data-generated] .center-upload__media { inset:142px 16px 210px; }
}
@media(max-width:480px) {
  .center-upload[data-generated] > header { grid-template-columns:minmax(0,1fr); }
  .center-upload[data-generated] .center-upload__actions { justify-content:flex-start; }
  .center-upload[data-generated] .center-upload__media { top:192px; }
}

/* Content decisions stay visible with the original preview and native controls. */
.center-upload[data-content-screening] > footer { display:grid; }
.center-upload[data-content-screening] .center-upload__media { bottom:calc(126px + var(--upload-footer-height, 190px)); }
.center-upload__screening { box-sizing:border-box; width:min(100%, 620px); padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:var(--surface); text-align:left; font:400 12px/1.45 var(--font); }
.center-upload__screening strong { display:block; font-weight:650; color:var(--ink); }
.center-upload__screening p { margin:5px 0 0; color:var(--dim); }
.center-upload__screening ul { margin:7px 0; padding-left:18px; max-height:130px; overflow:auto; }
.center-upload__screening li + li { margin-top:5px; }
.center-upload__screening .center-upload__privacy { font-size:11px; }
.center-upload__screening > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-top:8px; }
.center-upload__screening a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.center-upload__screening button { padding:5px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--surface); font:550 12px/1.4 var(--font); cursor:pointer; }
.center-upload__screening button:disabled { opacity:.55; cursor:wait; }
.center-upload__screening :focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
.center-upload__sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:600px), (max-height:650px) {
  .center-upload[data-content-screening] { overflow-y:auto; overscroll-behavior:contain; }
  .center-upload[data-content-screening] .center-upload__media { position:relative; inset:auto; height:clamp(180px, 32vh, 300px); margin:110px 16px 18px; }
  .center-upload[data-content-screening] > footer { position:relative; inset:auto; margin:0 16px 115px; }
  .center-upload[data-generated][data-content-screening] .center-upload__media { margin-top:165px; }
  .center-upload__screening { padding:10px 12px; }
}
@media(max-width:480px) {
  .center-upload[data-generated][data-content-screening] .center-upload__media { margin-top:205px; }
}
