/* Scoped structural rules; colours and controls remain the OMS design system. */
.photo-prep { min-width:0; }
html.oms-refresh .photo-prep .card { margin-bottom:20px;border-radius:8px;box-shadow:none; }
html.oms-refresh .photo-prep h2 { font-size:22px;font-weight:600; }
html.oms-refresh .photo-prep button { font-weight:600; }
.photo-prep-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.photo-prep-heading h2 { margin:0;overflow-wrap:anywhere; }
.photo-prep-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.photo-prep-actions button { width:auto; }
.photo-prep-batch { display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--oms-line);color:var(--oms-text);text-decoration:none; }
.photo-prep-batch small { display:block;color:var(--oms-text-soft);margin-top:5px; }
.photo-prep-file { display:block;margin-top:12px; }
.photo-prep-gallery { display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:16px; }
html.oms-refresh .photo-prep-tile { display:flex;flex-direction:column;gap:7px;min-width:0;padding:8px;text-align:left;background:var(--oms-surface);color:var(--oms-text);border:1px solid var(--oms-line);height:auto;white-space:normal; }
html.oms-refresh .photo-prep-tile.is-selected { border:2px solid var(--oms-accent-strong);padding:7px; }
.photo-prep-tile img { display:block;aspect-ratio:1;width:100%;object-fit:contain;background:var(--oms-surface-soft); }
.photo-prep-tile strong { font-size:13px;overflow-wrap:anywhere; }
.photo-prep-tile small { color:var(--oms-text-soft);font-size:12px; }
.photo-prep-work { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;margin-top:20px;align-items:start; }
.photo-prep-work>div { min-width:0; }
#photoPrepEditor { scroll-margin-top:88px; }
.photo-prep-viewport { position:relative;overflow:hidden;width:min(100%,76vh);aspect-ratio:1;margin-inline:auto;background:var(--oms-surface-soft);border:1px solid var(--oms-line);border-radius:4px;touch-action:none;overscroll-behavior:contain; }
#photoPrepCleanupOverlay { position:absolute;pointer-events:none;overflow:visible; }
#photoPrepCleanupOverlay[hidden] { display:none; }
#photoPrepCropFrame { position:absolute;box-sizing:border-box;border:1px solid white;outline:1px solid #0008;box-shadow:0 0 0 100vmax #0009;pointer-events:none; }
#photoPrepCropFrame[hidden] { display:none; }
#photoPrepCropFrame::before { content:'';position:absolute;inset:5%;border:1px dashed #fff9; }
html.oms-refresh #photoPrepCropFrame button { position:absolute;pointer-events:auto;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;margin:0;border:0;background:transparent;box-shadow:none;border-radius:0;transform:translate(-50%,-50%); }
#photoPrepCropFrame button::after { content:'';position:absolute;inset:10px;background:white;box-shadow:0 0 0 1px black; }
#photoPrepCropFrame button:focus-visible::after { outline:3px solid var(--oms-accent-strong);outline-offset:3px; }
#photoPrepCropFrame [data-photo-corner="nw"] { left:0;top:0;cursor:nwse-resize; }
#photoPrepCropFrame [data-photo-corner="ne"] { left:100%;top:0;cursor:nesw-resize; }
#photoPrepCropFrame [data-photo-corner="sw"] { left:0;top:100%;cursor:nesw-resize; }
#photoPrepCropFrame [data-photo-corner="se"] { left:100%;top:100%;cursor:nwse-resize; }
.photo-prep-viewport:focus-visible { outline:2px solid var(--oms-accent-strong);outline-offset:2px; }
.photo-prep-viewport canvas { position:absolute;display:block;max-width:none;margin:0;cursor:inherit; }
.photo-prep-view-tools { margin-bottom:12px;gap:8px; }
.photo-prep-view-tools button { min-height:40px; }
.photo-prep-view-tools output { min-width:44px;font-variant-numeric:tabular-nums;text-align:center; }
#photoPrepBrushCursor { position:absolute;pointer-events:none;box-sizing:border-box;border:1px solid white;border-radius:50%;box-shadow:0 0 0 1px black;transform:translate(-50%,-50%); }
#photoPrepBrushCursor::after { content:'';position:absolute;inset:25%;border:1px dotted white;box-shadow:0 0 0 1px #0008;border-radius:50%; }
#photoPrepBrushCursor[hidden] { display:none; }
.photo-prep-controls fieldset { border:0;padding:0;margin:0 0 16px;min-width:0; }
.photo-prep-controls legend { font-size:16px;font-weight:600;margin-bottom:12px; }
.photo-prep-controls label { display:block;margin-bottom:14px; }
.photo-prep-controls input[type="range"] { padding:0;width:100%;min-height:32px;accent-color:var(--oms-accent-strong); }
.photo-prep-controls output { float:right;font-variant-numeric:tabular-nums;font-weight:400; }
.photo-prep-controls button { margin-bottom:8px; }
.photo-prep-save { border-top:1px solid var(--oms-line);padding-top:16px;margin-top:16px; }
.photo-prep-save span { color:var(--oms-text-soft);font-size:13px; }
.photo-prep progress { width:100%;height:12px;accent-color:var(--oms-accent-strong); }
.photo-prep [aria-pressed="true"] { outline:2px solid var(--oms-accent-strong);outline-offset:2px; }
.photo-prep #photoPrepName { margin-bottom:12px; }
.photo-prep-mixer,.photo-prep-ai { border-top:1px solid var(--oms-line);padding-top:12px;margin:16px 0; }
.photo-prep summary { cursor:pointer;font-weight:600;margin-bottom:12px; }
.photo-prep-palette { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px; }
html.oms-refresh .photo-prep-palette button { padding:6px;width:40px;min-width:40px;min-height:40px;background:var(--oms-surface);border:1px solid var(--oms-line); }
.photo-prep-palette span { display:block;width:24px;height:24px;border-radius:50%;background:var(--photo-swatch); }
.photo-prep-ai .photo-prep-actions { margin:10px 0; }
@media(min-width:801px){.photo-prep-work>div:first-child { position:sticky;top:88px;align-self:start; }}
@media(max-width:800px){
 .photo-prep-work { grid-template-columns:minmax(0,1fr);gap:16px; }
 .photo-prep-viewport { width:100%; }
 .photo-prep-controls input:not([type="range"]),.photo-prep-controls select { font-size:16px; }
 .photo-prep-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .photo-prep-heading h1 { font-size:28px; }
 .photo-prep-save { position:static; }
}
