.candidate-photo-panel__body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;padding:16px 23px}
.candidate-photo-panel__current{display:flex;align-items:center}
.candidate-photo-panel__workspace{display:grid;gap:12px;min-width:0;padding-top:15px}
.candidate-photo-panel__quick-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}
.candidate-photo-panel__editor{min-width:0}
.candidate-photo-panel__editor>summary{display:inline-flex;list-style:none;cursor:pointer}
.candidate-photo-panel__editor>summary::-webkit-details-marker{display:none}
.candidate-photo-panel__editor[open]{flex:1 1 100%}
.candidate-photo-panel__editor[open]>summary{margin-bottom:12px}
.candidate-photo-panel__pending{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px dashed rgba(244,166,79,.35);border-radius:12px;background:rgba(244,166,79,.06)}
.candidate-photo-panel__pending img{width:64px;height:85px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.candidate-photo-panel__pending>div{display:grid;gap:6px}
.candidate-photo-panel__pending-actions{display:flex;gap:8px;flex-wrap:wrap}
.candidate-photo-panel__upload{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.candidate-photo-panel__upload>p{margin:0}
.candidate-photo-panel__upload-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.candidate-photo-panel__picker{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font:500 .72rem Bahnschrift,sans-serif;color:var(--text)}
.candidate-photo-panel__picker:hover{border-color:var(--cyan)}
.candidate-photo-panel__picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}

.photo-cropper__stage{position:relative;width:225px;max-width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:12px;background:#0b1620;touch-action:none;cursor:grab;border:1px solid var(--line)}
.photo-cropper__stage:active{cursor:grabbing}
.photo-cropper__stage img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.photo-cropper__guide{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 46% 36% at 50% 40%,transparent 62%,rgba(0,0,0,.4) 63%)}
.photo-cropper__controls{display:flex;align-items:center;gap:12px;width:225px;max-width:100%}
.photo-cropper__controls label{display:flex;align-items:center;gap:8px;flex:1;color:var(--muted);font-size:.66rem}
.photo-cropper__controls input[type=range]{flex:1}

.structure-photo-batch__hint{border:1px solid var(--line);border-radius:12px;padding:16px;background:rgba(85,220,255,.05)}
.structure-photo-batch__table{width:100%;border-collapse:collapse;font-size:.72rem}
.structure-photo-batch__table th,.structure-photo-batch__table td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left}
.structure-photo-orphan__link{display:flex;gap:8px;align-items:center;margin-top:8px}
.structure-photo-orphan__link select{flex:1;min-width:0}

@media(max-width:700px){
.candidate-photo-panel__body{grid-template-columns:1fr;padding:16px}
.candidate-photo-panel__workspace{padding-top:0}
.candidate-photo-panel__pending{flex-direction:column}
.candidate-photo-panel__upload-actions,.candidate-photo-panel__upload-actions .button,.candidate-photo-panel__picker{width:100%}
.candidate-photo-panel__upload-actions{align-items:stretch}
.candidate-photo-panel__picker{justify-content:center}
}
