/* Photo-test workspace: layout follows the owner's Sellium reference. */
.pt{--pt-accent:var(--accent,#ff682c);--pt-soft:var(--bg-alt,#f3f4ef);background:var(--bg,#fff);color:var(--text,#000);padding:0;border-radius:0;font-size:14px;min-width:0}
.pt h2{font-size:26px;font-weight:700;margin:0}.pt h3{margin:0 0 12px;font-size:17px}.pt p{line-height:1.55}.pt .pt-muted{color:#666;font-size:13px}
.pt button,.pt-dialog button{cursor:pointer;border:0;border-radius:6px;padding:10px 16px;background:var(--bg-alt,#f3f4ef);color:var(--text,#000);font:inherit}.pt button:hover,.pt-dialog button:hover{filter:brightness(.97)}.pt button:disabled{opacity:.5;cursor:default}.pt .pt-primary,.pt-dialog .pt-primary{background:var(--accent,#ff682c);color:white}
.pt input,.pt select,.pt textarea,.pt-dialog input,.pt-dialog select,.pt-dialog textarea{box-sizing:border-box;border:1px solid var(--border,#d0d1c9);border-radius:6px;padding:10px;font:inherit;background:white;color:inherit;max-width:100%}.pt input[type=checkbox],.pt-dialog input[type=checkbox]{accent-color:var(--accent,#ff682c);width:17px;height:17px}.pt label,.pt-dialog label{display:flex;gap:8px;align-items:center}.pt-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.pt-toolbar .pt-push{margin-left:auto}
.pt-card{background:#fff;border:1px solid var(--border,#d0d1c9);border-radius:8px;padding:22px;box-shadow:none;margin:16px 0}.pt-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.pt-projects .pt-card{margin:0}.pt-head{display:flex;align-items:center;gap:16px}.pt-head img{width:56px;height:76px;object-fit:contain;border-radius:5px}.pt-head-main{flex:1;min-width:0}.pt-status{display:inline-block;padding:4px 9px;border-radius:4px;background:#eeecf3;font-size:12px;margin-left:8px}.pt-status.done{background:#e0f6e7;color:#177b3e}.pt-status.running{background:#fff0e8;color:#9b390a}.pt-progress{height:6px;background:#eeeaf8;border-radius:5px;overflow:hidden;max-width:450px;margin-top:14px}.pt-progress i{display:block;background:var(--accent,#ff682c);height:100%}
.pt-tabs{display:flex;gap:4px;border-bottom:1px solid #dedbe5;overflow-x:auto;margin:18px 0;scrollbar-width:thin}.pt-tabs button{white-space:nowrap;background:transparent;border-radius:0;border-bottom:2px solid transparent;padding:14px 18px}.pt-tabs button.active{color:var(--accent,#ff682c);border-color:var(--accent,#ff682c)}
.pt-table-wrap{overflow:auto;max-width:100%;border:1px solid #e7e4ec;border-radius:8px;background:#fff}.pt table{width:100%;border-collapse:collapse;font-size:14px}.pt th,.pt td{padding:16px;border-bottom:1px solid #e6e3eb;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pt th{font-weight:500;color:#514b60;background:white;font-size:13px}.pt th:first-child,.pt td:first-child{text-align:left}.pt td img{width:96px;height:128px;object-fit:contain;border-radius:5px;display:block}.pt th button{padding:0;background:none;font-size:inherit}.pt .pt-good{background:#e6f7eb}.pt .pt-bad{background:#ffedef}.pt .pt-matrix th{white-space:normal;min-width:150px;max-width:220px;background:#f0eff3}.pt .pt-matrix td:first-child,.pt .pt-matrix th:first-child{position:sticky;left:0;background:white;z-index:1}.pt .pt-matrix th:first-child{z-index:2}.pt .pt-matrix td small{display:block;margin-top:5px;color:#827d8f}.pt .pt-note{padding:12px 16px;background:var(--bg-alt,#f3f4ef);border-radius:6px;line-height:1.5;margin:12px 0}.pt .pt-error,.pt-dialog .pt-error{color:#b42e26;background:#fff0ec;padding:12px;border-radius:6px;white-space:pre-line}.pt-settings{display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr;gap:22px;padding:8px 0;max-width:920px}.pt-settings dt{color:#66616f}.pt-settings dd{margin:0}.pt-images{display:flex;gap:12px;flex-wrap:wrap}.pt-images img{width:90px;height:120px;object-fit:contain}.pt-images figure{margin:0;border:1px solid #e5e1eb;padding:8px;border-radius:6px}.pt-images figcaption{display:flex;gap:4px;justify-content:center}.pt-images button{padding:4px 8px;font-size:12px}.pt-chart{position:relative;height:420px}.pt-empty{padding:40px 20px;text-align:center;color:#797181}.pt details summary{cursor:pointer}.pt-photo-placeholder{width:96px;height:128px;display:grid;place-items:center;background:#f3f1f8;color:#847b98;border-radius:5px}
.pt-dialog{position:fixed;inset:0;margin:auto;padding:0;border:0;border-radius:8px;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 40px);color:var(--text,#000);box-shadow:0 18px 60px #0003;font:inherit}.pt-dialog::backdrop{background:#0007}.pt-dialog form{padding:22px;overflow:auto;max-height:calc(100dvh - 84px);box-sizing:border-box}.pt-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pt-dialog h3{font-size:19px;margin:0}.pt-dialog .pt-field{display:grid;gap:7px;margin:14px 0}.pt-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.pt-dialog textarea{min-height:90px;resize:vertical}.pt-dialog .pt-field input,.pt-dialog .pt-field select{width:100%}
@media(max-width:650px){.pt{padding:10px}.pt-card{padding:14px}.pt-head{align-items:flex-start;flex-wrap:wrap}.pt-head-main{flex-basis:65%}.pt-settings{grid-template-columns:1fr 1fr;gap:15px}.pt-tabs button{padding:12px}.pt-chart{height:310px}.pt td,.pt th{padding:10px}.pt-toolbar .pt-push{margin-left:0}.pt h2{font-size:22px}}

/* Atoms: text fields and toggle controls have separate sizing contracts. */
.pt-dialog .pt-field input:not([type=checkbox]):not([type=radio]),.pt-dialog .pt-field select,.pt-dialog .pt-field textarea{width:100%;min-width:0}
.pt-dialog input[type=checkbox],.pt-dialog input[type=radio]{width:18px!important;height:18px;min-width:18px;margin:0;flex:0 0 18px;padding:0}
.pt-dialog .pt-check{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;margin:0;line-height:1.4;border-bottom:1px solid var(--border,#d0d1c9)}
.pt-check span{display:grid;gap:4px}.pt-check small,.pt-help{font-size:12px;color:#666;line-height:1.5;font-weight:400}.pt-dialog .pt-check input{order:2}
.pt-dialog{width:min(760px,calc(100vw - 32px));background:var(--bg,#fff);border:1px solid var(--border,#d0d1c9);border-radius:14px}
.pt-dialog form{padding:0;max-height:calc(100dvh - 40px)}.pt-dialog header,.pt-dialog footer{position:sticky;background:var(--bg,#fff);z-index:3;padding:18px 24px;margin:0}.pt-dialog header{top:0;border-bottom:1px solid var(--border,#d0d1c9)}.pt-dialog footer{bottom:0;border-top:1px solid var(--border,#d0d1c9)}.pt-dialog header button{flex-shrink:0}.pt-dialog-body{padding:4px 24px 20px}.pt-dialog fieldset{border:0;border-top:1px solid var(--border,#d0d1c9);margin:20px 0 0;padding:12px 0 0;min-width:0}.pt-dialog legend{font-weight:700;padding-right:12px}.pt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.pt-dialog .pt-field{display:flex;flex-direction:column;align-items:stretch;min-width:0}.pt-help{margin-top:6px}.pt-dialog .pt-field>span{font-weight:500}.pt-dialog .pt-field input:focus-visible,.pt-dialog select:focus-visible,.pt-dialog textarea:focus-visible{outline:2px solid var(--accent,#ff682c);outline-offset:2px}
.pt .pt-note{background:var(--bg-alt,#f3f4ef);border:1px solid var(--border,#d0d1c9)}.pt .pt-pager{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin:12px 0}.pt .pt-matrix{table-layout:fixed;width:max-content;min-width:100%}.pt .pt-matrix th{background:var(--bg-alt,#f3f4ef);width:180px}.pt .pt-matrix th:first-child{width:170px}.pt .pt-matrix th:nth-child(2){width:100px}.pt .pt-matrix .pt-metric-label{text-align:left;color:#666;background:#fafafa}.pt .pt-matrix td{padding:10px 14px}.pt .pt-matrix tr.pt-variant-start>*{border-top:3px solid var(--border,#d0d1c9)}.pt .pt-matrix .pt-good{background:#e9f5ec;color:#216d36}.pt .pt-matrix .pt-bad{background:#fff0ed;color:#a83e29}.pt .pt-query-heading{display:grid;gap:8px;text-align:left;overflow-wrap:anywhere}.pt .pt-kpi-strip{display:flex;gap:24px;flex-wrap:wrap;margin:12px 0 20px;padding:16px;border:1px solid var(--border,#d0d1c9);border-radius:10px}.pt-kpi-strip span{display:grid;gap:5px}.pt-kpi-strip small{color:#666}.pt-kpi-strip b{font-size:19px}.pt .pt-thumb-button{padding:0;background:none}.pt .pt-thumb-button img{cursor:zoom-in}.pt-preview{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}.pt-dialog .pt-error{margin:12px 24px}.pt h2{font-size:30px}.pt button,.pt-dialog button{border-radius:8px}.pt .pt-projects{grid-template-columns:repeat(auto-fit,minmax(280px,420px))}
@media(max-width:650px){.pt-form-grid{grid-template-columns:1fr}.pt-dialog header,.pt-dialog footer{padding:14px 16px}.pt-dialog-body{padding:0 16px 14px}.pt-dialog h3{font-size:18px}.pt .pt-projects{grid-template-columns:1fr}.pt .pt-kpi-strip{gap:16px}.pt-settings{grid-template-columns:1fr;gap:6px}.pt-settings dd{margin-bottom:12px}}
.pt-dialog{overflow:hidden}.pt-dialog form{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 40px)}.pt-dialog header,.pt-dialog footer{position:static;flex:0 0 auto}.pt-dialog-body{overflow:auto;min-height:0;flex:1 1 auto}.pt-dialog .pt-error{flex:0 0 auto;max-height:100px;overflow:auto}.pt .pt-progress,.pt .pt-status{background:var(--bg-alt,#f3f4ef)}.pt .pt-tabs button{border-radius:0}.pt #pt-query{min-width:260px;flex:1}.pt .pt-table-wrap th{font-weight:600}.pt .pt-matrix th{font-weight:500;font-size:14px}
/* Shared atoms follow the service design: Carbon actions, orange data. */
.pt .pt-primary,.pt-dialog .pt-primary{background:#202020;color:#fff}
.pt input[type=checkbox],.pt-dialog input[type=checkbox]{accent-color:#202020}
.pt-dialog .pt-field input:focus-visible,.pt-dialog select:focus-visible,.pt-dialog textarea:focus-visible{outline-color:#202020}
.pt button,.pt-dialog button{border-radius:20px}
.pt-tabs button{border-radius:0}
.pt .pt-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pt-analysis .pt-card{padding:16px;margin:8px 0}.pt-analysis h3{font-size:14px}.pt-analysis .pt-status{margin:0}.pt-analysis details{font-size:12px;line-height:1.5}.pt-analysis p{overflow-wrap:anywhere}
.pt-dialog [hidden]{display:none!important}
@media(max-width:800px){.pt .pt-analysis{grid-template-columns:1fr}}
.pt .pt-query-context{font-size:11px;color:#666;font-weight:400}.pt-query-context span{display:block;white-space:pre-line}.pt-query-context small{display:block;line-height:1.4;margin-top:8px}
.pt .pt-kpi-compact{border:0;padding:4px 0;margin:8px 0;gap:24px}.pt-kpi-compact b{font-size:16px}.pt-analysis .pt-conversion-values{font-size:16px;margin:12px 0}.pt-analysis .pt-conversion-values b{white-space:nowrap}

.pt .pt-dropzone{width:100%;min-height:96px;border:2px dashed #b5b9b3;border-radius:10px;background:#fafbf9;line-height:1.7;text-align:center;padding:16px}.pt .pt-dropzone small{font-weight:400;color:#666}.pt .pt-dropzone.pt-dragover{border-color:#ff682c;background:#fff2ea}.pt [data-variant]>.pt-toolbar{display:block}.pt [data-variant]>.pt-toolbar>button:not(.pt-dropzone){margin-top:12px}

.pt .pt-controls{display:grid;gap:10px;margin:0 0 22px}.pt .pt-control-buttons{display:flex;gap:10px;flex-wrap:wrap}.pt .pt-stop{color:#a83325;border:1px solid #d9ada5;background:#fff7f5}.pt .pt-controls button{min-height:42px}

.pt .pt-head>select{width:140px;max-width:100%;flex:0 0 140px}

.pt .pt-creative-intro{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pt-creative-intro h3{margin-bottom:6px}.pt-creative-intro p{margin:0}
.pt-creative-intro button{flex-shrink:0;border:1px solid #202020;background:#fff}
.pt-creative-dialog{width:min(850px,calc(100vw - 24px));color:#202020}
.pt-creative-dialog .pt-dialog-body{overflow-wrap:anywhere}
.pt-creative-dialog p,.pt-creative-dialog li{line-height:1.55}
.pt-creative-dialog section{margin-top:24px;padding-top:18px;border-top:1px solid #e4e4e1}
.pt-creative-dialog h4{margin:0 0 10px;font-size:16px}
.pt-creative-dialog .pt-muted,.pt-creative-dialog small{color:#666;font-size:12px}
.pt-creative-dialog summary{cursor:pointer;line-height:1.5;padding:8px 0}
.pt-creative-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.pt-creative-facts>div{padding:14px;background:#f6f6f3;border-radius:8px}
.pt-creative-facts span,.pt-creative-facts strong,.pt-creative-facts small{display:block}
.pt-creative-facts strong{margin:6px 0;font-size:17px}
.pt-creative-sources{max-height:340px;overflow:auto;border:1px solid #e4e4e1;border-radius:8px;padding:0 14px}
.pt-creative-sources article{padding:14px 0;border-bottom:1px solid #e4e4e1}
.pt-creative-sources article:last-child{border-bottom:0}
.pt-creative-sources p{white-space:pre-line;margin:6px 0}
.pt-creative-query-list>div{display:flex;gap:16px;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}
.pt-creative-query-list>div>span:last-child{flex-shrink:0;font-variant-numeric:tabular-nums;color:#666}
.pt-creative-dialog ul{padding-left:18px}
@media(max-width:600px){.pt .pt-creative-intro{align-items:flex-start;flex-direction:column}.pt-creative-facts{grid-template-columns:1fr}.pt-creative-query-list>div{flex-direction:column;gap:4px}}

/* Research belongs to the product dossier, not the experiment controls. */
.pt-creative-research { display:grid; gap:8px; }
.pt-creative-research details { border:1px solid #ddd; border-radius:8px; padding:12px; }
.pt-creative-research summary { cursor:pointer; font-weight:600; line-height:1.4; }
.pt-creative-research blockquote { margin:12px 0 0; padding:12px; background:#f5f5f3; border-radius:6px; font-size:13px; }
.pt-creative-research-note { margin-top:14px; }

/* Keep the reason and the route back to the owning test together. */
.pt .pt-launch-blocker{border-left:3px solid var(--pt-accent)}
.pt .pt-launch-blocker small{display:block;margin-top:8px;color:#666}
/* Continuous series shares the manual comparison UI. */
.pa-cover{width:100%;height:270px;object-fit:contain;border-radius:10px;background:#f4f4f1}.pa-queue{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}.pa-queue .pt-card{min-width:0}.pa-rounds{display:flex;gap:18px;overflow-x:auto;padding-bottom:16px}.pa-rounds .pt-card{flex:0 0 320px;max-width:100%}.pa-pair{display:flex;gap:12px;align-items:center}.pa-pair img{width:42%;height:140px;object-fit:contain}.pt #pa-product{max-width:100%;width:520px}.pt #pa-form input{max-width:90px}.pt #pa-error:empty{display:none}.pa-queue details{margin:10px 0}.pa-queue h4{margin:12px 0 6px}@media(max-width:600px){.pa-rounds{display:block}.pa-rounds .pt-card{margin-bottom:14px}.pa-queue{grid-template-columns:1fr!important}.pt #pa-form .pt-toolbar{align-items:stretch;flex-direction:column}}

/* Camera-first photo preparation */
.pa-cameras{display:grid;gap:14px}.pa-camera{display:grid!important;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:20px}.pa-camera>img{width:70px;height:94px;object-fit:contain;border-radius:8px;background:#f3f3ef}.pa-camera h3{margin:0}.pa-camera p{margin:5px 0}.pa-camera-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pa-tabs{margin:20px 0}.pa-notice{background:#f0f2e9;padding:12px;border-radius:8px}.pa-strategy-frame{width:100%;height:calc(100vh - 190px);min-height:650px;border:1px solid #ddd;border-radius:12px}.pa-materials{display:grid;gap:14px;margin-top:16px}.pa-source-text{white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto;font:inherit}.pt #pa-camera-body form>label,.pa-materials label{display:block;margin:14px 0}.pt #pa-camera-body textarea{display:block;width:100%;max-width:850px;border:1px solid #ccc;border-radius:8px;padding:10px;font:inherit}.pt #pa-camera-body section{margin-bottom:18px}.pa-queue{margin-top:16px}.pa-cover{max-height:360px;object-fit:contain}@media(max-width:700px){.pa-camera{grid-template-columns:52px minmax(0,1fr);gap:12px}.pa-camera>img{width:52px;height:72px}.pa-camera-actions{grid-column:1/-1;justify-content:flex-start}.pa-tabs{gap:6px}.pa-strategy-frame{min-height:680px;height:85vh}}

.pa-cameras{container-type:inline-size}@container(max-width:700px){.pa-camera{grid-template-columns:52px minmax(0,1fr);gap:12px}.pa-camera>img{width:52px;height:72px}.pa-camera-actions{grid-column:1/-1;justify-content:flex-start}}@media(max-width:1000px){.pa-camera{grid-template-columns:52px minmax(0,1fr);gap:12px}.pa-camera>img{width:52px;height:72px}.pa-camera-actions{grid-column:1/-1;justify-content:flex-start}}

/* Queue selection shows the entire cover; global dashboard img rules must not crop it. */
.pt .pa-photo-preview{display:block;overflow:visible;border-radius:8px;background:#f4f4f1}
.pt .pa-photo-preview img.pa-cover{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:3/4;object-fit:contain!important;object-position:center;border-radius:8px}
.pt .pa-photo .pa-select{margin:14px 0 6px;font-weight:600;cursor:pointer}
.pt .pa-photo .pa-selection-status{font-size:12px;color:#62665f;min-height:18px}
.pt .pa-photo:has(input:checked){border-color:#566c57;box-shadow:inset 0 0 0 1px #566c57}
.pt .pa-photo.pa-highlight{outline:3px solid #566c57;outline-offset:3px}
.pt .pa-flow-frame{width:100%;height:calc(100dvh - 190px);min-height:650px;border:0;border-radius:12px;display:block}
@media(max-width:650px){.pt .pa-flow-frame{min-height:650px;height:85dvh}.pt .pa-selection-bar{padding:14px}}

/* Auto-test atoms: identical focus, selected state and spacing across every tab. */
.pt .pa-tabs{border-bottom:1px solid #d0d1c9;padding-bottom:14px;gap:8px}
.pt .pa-tabs button{min-height:42px}
.pt :is(.pa-queue,.pa-cameras,.pa-filters) :focus-visible,.pt #pa-camera-body :focus-visible{outline:2px solid #202020;outline-offset:3px}
.pt .pa-photo:has(input:checked){border-color:#202020;box-shadow:inset 0 0 0 1px #202020}
.pt .pa-photo.pa-highlight{outline-color:#202020}
.pt .pa-filters{padding:4px 0;margin:12px 0}
.pt .pa-photo[hidden]{display:none!important}
.pt .pa-notice{background:#f3f4ef;border:1px solid #d0d1c9;line-height:1.5}
.pt .pa-notice p{margin:6px 0 0}
.pt #pa-form .pt-toolbar{align-items:flex-end;gap:20px}
.pt #pa-form label{display:grid;gap:8px}
.pt .pa-selection-bar p{margin-bottom:0}
.pt .pa-photo .pa-select input{flex-shrink:0}
.pa-preview-dialog .pt-preview{max-height:72dvh;width:auto;max-width:100%;height:auto}
.pt .pa-materials [data-save-status]{font-size:13px;min-height:20px}
@media(max-width:650px){.pt .pa-filters{align-items:stretch}.pt .pa-filters label{width:100%;display:grid;grid-template-columns:80px minmax(0,1fr)}.pa-preview-dialog h3{font-size:16px}.pt .pa-tabs button{padding:10px 12px}}
.pt .pa-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px}
.pt #pa-form label{text-align:left;justify-items:start}
@media(max-width:650px){.pt .pa-header{grid-template-columns:1fr auto;grid-template-areas:"back refresh" "title title";gap:14px}.pt .pa-header h2{grid-area:title;font-size:23px;line-height:1.3}.pt .pa-header button:first-child{grid-area:back;justify-self:start}.pt .pa-header button:last-child{grid-area:refresh}.pt #pa-form select{width:100%}}
@media(max-width:650px){.pt #pa-form .pt-toolbar{align-items:stretch}.pt #pa-form label{width:100%}}
/* The service sidebar also consumes width; respond to the section, not only the viewport. */
.pt:has(.pa-header){container:photoAuto / inline-size}
@container photoAuto (max-width:700px){
 .pt .pa-header{grid-template-columns:1fr auto;grid-template-areas:"back refresh" "title title";gap:14px}
 .pt .pa-header h2{grid-area:title;font-size:23px;line-height:1.3}
 .pt .pa-header button:first-child{grid-area:back;justify-self:start}
 .pt .pa-header button:last-child{grid-area:refresh;margin-left:0}
 .pt #pa-form .pt-toolbar{align-items:stretch;flex-direction:column}
 .pt #pa-form label{width:100%}
 .pt #pa-form select{width:100%}
 .pt .pa-filters label{display:grid;grid-template-columns:80px minmax(0,1fr);width:100%}
 .pt .pa-filters input,.pt .pa-filters select{width:100%;min-width:0}
}
.pa-edit-photo{width:100%;margin:0 0 12px!important}
.pa-editor{box-sizing:border-box;width:min(1020px,calc(100vw - 32px));max-height:92vh;border:1px solid #d5d8d0;border-radius:18px;padding:0;background:#fff;color:#1e211c;box-shadow:0 24px 80px #0004}
.pa-editor::backdrop{background:#18201888}
.pa-editor[open]{display:flex;flex-direction:column;overflow:hidden}
.pa-editor button,.pa-editor textarea{font:inherit}
.pa-editor button{cursor:pointer;border:1px solid #d5d8d0;border-radius:20px;background:#f2f3ef;padding:10px 17px;color:inherit}
.pa-editor button.pt-primary{background:#21251f;color:#fff;border-color:#21251f}
.pa-editor button:disabled{opacity:.55;cursor:default}
.pa-editor-head{display:flex;flex-shrink:0;justify-content:space-between;gap:20px;align-items:start;padding:22px 26px;border-bottom:1px solid #e2e5de}
.pa-editor-head h2{font-size:24px;margin:0 0 6px}
.pa-editor-head p{margin:0;color:#62685c;max-width:620px;font-size:14px}
.pa-editor-head>button{flex-shrink:0}
.pa-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;padding:24px 26px;overflow:auto;min-height:0}
.pa-editor figure{margin:0;min-width:0}
.pa-editor figcaption{font-size:14px;color:#62685c;margin-bottom:10px}
.pa-editor img{display:block;width:100%;max-height:530px;object-fit:contain;border-radius:12px;background:#f3f4f0}
.pa-editor-controls{min-width:0}
.pa-editor label{display:block;font-size:18px;font-weight:650;margin-bottom:10px}
.pa-editor textarea{box-sizing:border-box;width:100%;resize:vertical;border:1px solid #b7bdb1;border-radius:10px;padding:13px;line-height:1.5;font-size:16px}
.pa-editor textarea:focus{outline:2px solid #53745c;outline-offset:2px}
.pa-editor .pt-muted{font-size:13px;line-height:1.5;color:#68705f}
.pa-edit-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pa-edit-examples button{font-size:12px;padding:7px 10px}
.pa-edit-status{line-height:1.5;font-weight:600}
.pa-edit-recovery{font-size:13px;color:#68705f}
.pa-edit-result figure{margin:18px 0}
.pa-editor-complete .pa-edit-result figure{margin:0 0 16px}
.pa-editor-complete img{max-height:min(490px,52vh)}
.pa-editor-head .pa-edit-status{margin-top:8px;font-weight:500}
.pa-edit-result details{font-size:13px;line-height:1.5;margin:12px 0}
.pa-edit-result .pt-toolbar{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:700px){.pa-editor{width:calc(100vw - 16px);max-height:96vh}.pa-editor-head{padding:16px;gap:12px}.pa-editor-head h2{font-size:21px}.pa-editor-head>button{padding:8px 12px}.pa-editor-body{grid-template-columns:1fr;padding:16px;gap:20px}.pa-editor-body>figure img{max-height:320px}.pa-editor .pt-primary{width:100%}}

/* Shared form rhythm across manual tests, camera materials and the editor. */
.pt{--pt-form-border:#d9ddd5;--pt-form-focus:#526e5b}
.pt :is(input,select,textarea):focus-visible,.pt-dialog :is(input,select,textarea):focus-visible{outline:2px solid var(--pt-form-focus,#526e5b);outline-offset:2px}
.pt input:not([type=checkbox]):not([type=radio]),.pt select,.pt-dialog input:not([type=checkbox]):not([type=radio]),.pt-dialog select{min-height:42px}
.pt textarea,.pt-dialog textarea{line-height:1.55;resize:vertical}
.pt input[type=file],.pt-dialog input[type=file]{padding:10px;background:#f7f8f5;min-width:0;white-space:normal}
.pt input[type=file]::file-selector-button,.pt-dialog input[type=file]::file-selector-button{font:inherit;border:1px solid #cdd3c8;border-radius:8px;background:white;padding:8px 12px;margin-right:12px;cursor:pointer}
.pt .pt-field,.pt-dialog .pt-field{display:flex!important;flex-direction:column;align-items:stretch;gap:8px;font-weight:600;margin:0!important;min-width:0}
.pt .pt-field :is(select,input,textarea){width:100%;font-weight:400}
.pt .pt-field .pt-muted{font-weight:400;margin:0}
.pt .pt-check{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:400;line-height:1.4}
.pa-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 14px}
.pa-section-heading h3,.pa-section-heading p{margin:0}.pa-section-heading p{margin-top:6px}
.pa-material-intake{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:stretch}
.pa-material-intake>.pt-card{margin:0!important;padding:24px;min-width:0;border-radius:12px}
.pa-material-intake h4{font-size:16px;margin:0 0 20px}
.pa-product-source{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#f8f9f6}
.pa-product-source h4{margin-bottom:0}.pa-product-source>img{width:100%;height:160px;object-fit:contain;background:#fff;border-radius:8px}
.pa-product-source>strong{font-size:14px;overflow-wrap:anywhere}.pa-product-source p{margin:0}.pa-product-source button{margin-top:auto;text-align:left;font-size:12px}
.pa-badge{display:inline-block;border-radius:5px;padding:4px 8px;background:#e7eee4;color:#344b36;font-size:12px}
.pa-material-form{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;min-width:0}
.pa-material-form .pa-field-wide,.pa-material-form .pa-form-footer{grid-column:1/-1}
.pt #pa-camera-body .pa-material-form textarea,.pt #pa-camera-body .pa-material textarea{max-width:none;border-color:var(--pt-form-border);margin:0;min-height:100px}
.pa-file-field input{font-size:12px!important;overflow:hidden}.pa-file-field [data-file-list]{overflow-wrap:anywhere;font-size:12px!important}
.pa-form-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pa-form-footer p{margin:0;font-size:13px}
.pa-upload-help{font-size:12px;color:#62685e;border-top:1px solid #e5e8e0;padding-top:14px}.pa-upload-help summary{font-weight:500}.pa-upload-help p{max-width:780px}
.pa-materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}
.pa-materials>.pt-card{margin:0;padding:22px;border-radius:12px;min-width:0}
.pa-material-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;min-width:0}.pa-material-heading>div{min-width:0}
.pa-material-heading img{width:64px;height:80px;object-fit:contain;border-radius:6px;background:#f5f6f2}
.pa-material-heading h4{font-size:15px;margin:4px 0;overflow-wrap:anywhere}.pa-material-heading a{color:inherit;text-decoration:none}.pa-material-heading a:hover{text-decoration:underline}.pa-material-heading p{margin:4px 0}
.pa-material-kind{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#6d7466}
.pa-document-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:50px;border-radius:8px;background:#eff2e9;color:#69765d;font-size:26px}
.pa-material-text{font-size:13px;margin:12px 0 18px}.pa-material-text summary{color:#4d5e48}
.pa-material .pa-reference-action{margin-bottom:16px;font-size:12px}
.pa-material-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}.pa-material-footer label{font-size:12px}
.pa-material [data-save-status]{font-size:12px;color:#52644d;margin:8px 0 0;min-height:0}.pa-material [data-save-status]:empty{display:none}
@media(max-width:1000px){.pa-material-intake{grid-template-columns:220px minmax(0,1fr)}.pa-material-form{grid-template-columns:1fr}.pa-materials{grid-template-columns:1fr}}
@media(max-width:650px){.pa-material-intake{grid-template-columns:1fr}.pa-product-source>img{height:130px}.pa-material-intake>.pt-card,.pa-materials>.pt-card{padding:18px}.pa-section-heading{align-items:flex-start;flex-direction:column}.pa-section-heading h3{font-size:18px}.pa-form-footer button{width:100%}.pa-material-footer button{min-height:42px}}

/* Adapt to the actual working pane, including the desktop sidebar. */
.pt{container-type:inline-size}
@container (max-width:720px){.pa-material-intake,.pa-materials,.pa-material-form{grid-template-columns:1fr}.pa-product-source>img{height:145px}.pa-section-heading{align-items:flex-start;flex-direction:column}.pa-material-intake>.pt-card{padding:20px}.pa-form-footer button{width:100%}}

/* Camera PNG library and replacement editor */
.pa-replacement{width:min(1120px,calc(100vw - 24px))}
.pa-replacement .pa-editor-body{grid-template-columns:minmax(280px,1.15fr) minmax(300px,1fr);align-items:start}
.pa-replace-stage{background:#f3f4f0;border-radius:12px;overflow:hidden;max-width:410px;margin:auto}
.pa-replace-stage canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}
.pa-replace-stage canvas:focus-visible{outline:3px solid #55755e;outline-offset:-4px}
.pa-replace-caption{font-size:14px;margin:0 0 12px;color:#454e41}
.pa-cutout-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.pa-cutout-library button{padding:10px;border-radius:12px;text-align:left;min-width:0;border:2px solid #e4e7df;background:#fff}
.pa-cutout-library button[aria-pressed=true]{border-color:#345e43;background:#eff5ed}
.pa-cutout-library img{height:135px;width:100%;object-fit:contain;border-radius:6px;background-color:#f5f5f5;background-image:conic-gradient(#e1e4dd 25%,transparent 0 50%,#e1e4dd 0 75%,transparent 0);background-size:16px 16px}
.pa-cutout-library span{display:block;overflow-wrap:anywhere;font-size:13px;margin:8px 0 4px}
.pa-cutout-library small{display:block;font-size:11px;color:#697360}
.pa-replacement h3{font-size:19px;margin:0 0 8px}
.pa-replacement [data-position]{margin:20px 0;padding-top:18px;border-top:1px solid #e4e7df}
.pa-replacement [data-position] label{font-size:14px}
.pa-replacement input[type=range]{display:block;width:100%;margin:15px 0;accent-color:#345e43}
.pa-replacement [data-actions]{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.pa-replacement label.pa-replace-queue{font-size:14px;font-weight:500;flex-basis:100%;line-height:1.5}
.pa-replacement [data-original]{display:block;margin:12px auto}
.pa-replacement [hidden]{display:none!important}
.pa-replacement [data-close]{white-space:nowrap}
@media(max-width:700px){.pa-replacement .pa-editor-body{grid-template-columns:1fr}.pa-replace-stage{max-width:290px}.pa-cutout-library img{height:110px}.pa-replacement .pa-editor-head h2{font-size:20px}}
.pa-replace-stage{width:min(100%,max(220px,calc((100vh - 360px)*.75)))}
.pa-replacement .pa-cutout-library img{height:110px}
.pa-replacement>[data-actions]{flex-shrink:0;background:#fff;padding:14px 26px;border-top:1px solid #e4e7df;margin:0}
