/* One zoom slider, draggable photo, and a bright crop window. */
.crop_workspace,#crop_panel.crop_workspace,#profile_crop.crop_workspace,.admin_crop.crop_workspace {box-sizing:border-box;width:100%;max-width:500px;padding:0;border:1px solid #e8e5f0;border-radius:22px;background:#fff;box-shadow:0 12px 35px #21184009;overflow:hidden;}
.crop_workspace .crop_hint {margin:0;padding:18px 20px 14px;color:#625c71;font-size:13px;line-height:1.5;}
.crop_stage {position:relative;width:100%;aspect-ratio:1;background:#dedce3;overflow:hidden;cursor:grab;touch-action:none;user-select:none;}
.crop_stage.is_dragging {cursor:grabbing;}.crop_stage:focus-visible {outline:3px solid #7770eb;outline-offset:-3px;}
.crop_stage #crop_canvas,.crop_stage #profile_canvas,.admin_crop .crop_stage canvas.crop_capture {position:absolute;left:15%;top:15%;width:70%;height:70%;max-width:none;margin:0;padding:0;border:0;opacity:0;pointer-events:none;}
.crop_stage canvas.crop_backdrop,.admin_crop .crop_stage canvas.crop_backdrop {position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;pointer-events:none;}
.crop_window {position:absolute;inset:15%;border:2px solid #fff;border-radius:10px;box-shadow:0 0 0 1000px #11101c88;pointer-events:none;}
.crop_stage_profile .crop_window {border-radius:10px;}
.crop_window::after {content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;background:linear-gradient(90deg,transparent 33%,#fff5 33%,#fff5 33.4%,transparent 33.4%,transparent 66.6%,#fff5 66.6%,#fff5 67%,transparent 67%),linear-gradient(0deg,transparent 33%,#fff5 33%,#fff5 33.4%,transparent 33.4%,transparent 66.6%,#fff5 66.6%,#fff5 67%,transparent 67%);border-radius:inherit;}
.crop_stage.is_dragging .crop_window::after {opacity:1;}
.crop_toolbar {display:flex;align-items:center;gap:18px;margin:0;padding:23px 28px 10px;}
.crop_zoom_label {font:400 23px/1 Arial,sans-serif;color:#5a506b;}
.crop_workspace .crop_zoom_control,#crop_zoom,#profile_zoom {flex:1;appearance:none;min-width:0;width:100%;height:5px;margin:0;border:0;border-radius:6px;padding:0;background:linear-gradient(90deg,#3533cd var(--crop-progress,0%),#e7e3ef var(--crop-progress,0%));accent-color:#3533cd;cursor:pointer;}
.crop_zoom_control::-webkit-slider-thumb {appearance:none;width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:#3533cd;box-shadow:0 2px 7px #3533cd35;}
.crop_zoom_control::-moz-range-thumb {width:16px;height:16px;border:3px solid #fff;border-radius:50%;background:#3533cd;box-shadow:0 2px 7px #3533cd35;}
.crop_zoom_control:focus-visible {outline:3px solid #a7a5f3;outline-offset:6px;}
.crop_caption {margin:0;padding:8px 20px 20px;text-align:center;color:#938b9f;font-size:11px;line-height:1.5;}
.crop_workspace .asset_actions {padding:0 20px 20px;}
@media(max-width:480px){.crop_workspace,#crop_panel.crop_workspace,#profile_crop.crop_workspace {border-radius:17px;}.crop_toolbar {padding:22px 22px 8px;}.crop_workspace .crop_hint {font-size:12px;padding:15px;}}
@media(prefers-reduced-motion:reduce){.crop_window::after {transition:none;}}

/* Consistent image pickers for profile and asset forms. */
#profile_file,#primary_file {box-sizing:border-box;width:100%;max-width:460px;padding:8px;border:1px dashed #b9b7ed;border-radius:10px;background:#f7f7ff;color:#514f68;font-size:13px;}
#profile_file::file-selector-button,#primary_file::file-selector-button {margin-right:12px;padding:11px 16px;border:0;border-radius:8px;background:linear-gradient(90deg,#000,#3533cd);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:filter .2s;}
#profile_file:hover::file-selector-button,#primary_file:hover::file-selector-button {filter:brightness(1.2);}
#profile_file:focus-visible,#primary_file:focus-visible {outline:3px solid #a7a5f3;outline-offset:3px;}
#profile_save {display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;border-radius:10px;}
#profile_save svg {width:18px;height:18px;flex-shrink:0;}
#profile_save:disabled {opacity:.5;cursor:not-allowed;}
.profile_current #profile_picture {border-radius:10px;}
