.photo-search-modal[hidden]{display:none!important}
.photo-search-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:rgba(16,35,42,.48);backdrop-filter:blur(3px)}
.photo-search-dialog{position:relative;width:min(100%,680px);padding:27px 30px 30px;border:1px solid #e6ebea;border-radius:18px;background:#fff;box-shadow:0 26px 90px rgba(10,30,35,.24)}
.photo-search-dialog h2{max-width:570px;margin:0 auto 20px;text-align:center;color:var(--ink,#10232a);font-size:clamp(20px,3.2vw,25px);font-weight:800;line-height:1.25;letter-spacing:-.025em}
.photo-search-close{position:absolute;top:13px;right:15px;width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#23343a;font-size:30px;line-height:1}
.photo-search-close:hover,.photo-search-close:focus-visible{background:#f1f5f4;outline:2px solid #e2eae8}
.photo-dropzone{min-height:264px;display:grid;place-items:center;padding:24px;border:2px dashed #d8dfde;border-radius:9px;background:#fff;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.photo-dropzone.is-dragover{border-color:var(--orange,#f45a1b);background:#fff8f4;box-shadow:inset 0 0 0 3px rgba(244,90,27,.08)}
.photo-modal-empty{width:min(100%,500px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:#41484b}
.photo-modal-empty .photo-icon{width:54px;height:54px;background:#fff3ed;color:var(--orange,#f45a1b)}
.photo-modal-empty .camera-icon{width:25px;height:25px;fill:currentColor}
.photo-modal-empty p{margin:0;font-size:16px;line-height:1.55}
.photo-modal-instruction-mobile{display:none}
.photo-modal-selected{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.photo-modal-selected[hidden],.photo-modal-empty[hidden]{display:none!important}
.photo-modal-selected img{display:block;max-width:100%;width:auto;height:auto;max-height:176px;object-fit:contain;border-radius:8px}
.photo-modal-selected div{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:100%}
.photo-modal-selected strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--ink,#10232a)}
.photo-modal-selected small{color:var(--muted,#668087);font-size:13px}
.photo-dialog-actions{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px auto 0}
.photo-dialog-action{display:flex;justify-content:center;align-items:center;min-width:190px;min-height:56px;margin:0;padding:0 24px;border:0;border-radius:999px;background:var(--orange,#f45a1b);color:#fff;font-weight:800;font-size:17px;box-shadow:0 10px 23px rgba(244,90,27,.18);transition:transform .16s ease,background .16s ease}
.photo-dialog-action:hover{transform:translateY(-1px);background:#e94d10}
.photo-capture-action{display:none;justify-content:center;align-items:center;min-width:160px;min-height:56px;padding:0 18px;border:1px solid #f1b7a0;border-radius:999px;background:#fff;color:var(--orange,#f45a1b);font-weight:750;font-size:15px}
.photo-dialog-action:focus-visible,.photo-capture-action:focus-visible{outline:3px solid rgba(244,90,27,.28);outline-offset:3px}
body.photo-search-open{overflow:hidden}
@media(max-width:680px){.photo-search-modal{padding:14px}.photo-search-dialog{width:100%;padding:31px 16px 19px;border-radius:15px}.photo-search-dialog h2{max-width:calc(100% - 28px);margin-bottom:16px;font-size:20px}.photo-search-close{top:7px;right:8px;width:32px;height:32px;font-size:28px}.photo-dropzone{min-height:244px;padding:16px}.photo-modal-empty{gap:13px}.photo-modal-empty p{font-size:15px}.photo-modal-instruction-desktop{display:none}.photo-modal-empty .photo-modal-instruction-mobile{display:block}.photo-modal-selected img{max-height:160px}.photo-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.photo-dialog-action,.photo-capture-action{width:100%;min-width:0;min-height:52px;padding:8px 10px;font-size:14px;line-height:1.2}.photo-capture-action{display:flex}}
@media(prefers-reduced-motion:reduce){.photo-dropzone,.photo-dialog-action{transition:none}}
