/* PHYSIS Drone Mapper — private flight image uploader */
.modal-card:has(.up-shell){max-width:min(760px,96vw)}
.up-shell{display:grid;gap:12px}
.up-shell label{margin:0}
.up-shell .up-explainer{font-size:12px;line-height:1.6;color:#658069;margin:0}
.up-drop{min-height:165px;border:2px dashed #9fbb89;border-radius:16px;
 display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;
 padding:20px;background:linear-gradient(145deg,#f2f8ed,#e9f3e7);text-align:center;
 color:#355e3b;cursor:pointer;transition:background .17s,border-color .17s}
.up-drop:hover,.up-drop:focus-visible,.up-drop.up-dragover{
 outline:none;border-color:#3969b0;background:#e5f3f4}
.up-drop strong{font-size:16px;color:#235234}
.up-drop small{font-size:12px;letter-spacing:.02em;color:#638269}
.up-drop>span:last-child{font-size:11px;color:#67806a}
.up-cloud{font-size:36px;font-weight:800;line-height:1;color:#7fa849}
.up-pickers{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.up-picker{background:#f7faf5;border-radius:10px;border:1px solid #dae8d3;
 padding:12px;color:#335f39;font-size:12px;font-weight:710}
.up-picker input{font-size:10px;padding:8px;background:white;margin-top:8px;width:100%}
.up-summary{background:#eef6ea;border-radius:9px;padding:12px 14px;
 font-size:12px;line-height:1.5;color:#305f39;font-weight:640}
.up-progress-group{display:grid;gap:5px}
.up-progress-group label{font-size:11px;color:#607765;font-weight:690}
.up-progress-group progress,.up-item progress{height:11px;width:100%;accent-color:#7fae38;
 border:0;border-radius:9px;overflow:hidden}
.up-row-list{max-height:265px;overflow:auto;border:1px solid #e2ebde;
 border-radius:12px;background:#fff}
.up-empty{padding:15px;margin:0;font-size:12px;color:#7a8e7d}
.up-item{display:flex;align-items:start;gap:10px;padding:10px;
 border-bottom:1px solid #eef2eb;min-width:0}
.up-item:last-child{border-bottom:none}
.up-file-icon{background:#eaf3e6;color:#67944d;display:grid;
 place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:9px}
.up-item-body{display:grid;gap:4px;flex:1;min-width:0}
.up-item-body strong{font-size:12px;color:#31593b;overflow-wrap:anywhere;line-height:1.3}
.up-item-body small{font-size:10px;color:#76907c}
.up-item-body p{font-size:10px;line-height:1.45;margin:0}
.up-issues{color:#906729}
.up-status-invalid .up-issues,.up-status-failed .up-issues{color:#a33b35}
.up-status-done .up-file-icon{background:#dcefd5;color:#387b38}
.up-item>button{font-size:10px;padding:6px 8px}
.up-confirm{display:flex;align-items:flex-start;gap:10px;color:#825d2d;
 font-size:11px;font-weight:620;background:#fff7e8;border:1px solid #f2dfb4;
 padding:10px;border-radius:10px}
.up-confirm input{margin:2px 0 0;width:auto;flex-shrink:0}
.up-footer-tools{display:flex;gap:9px;align-items:center;justify-content:flex-end}
.up-footer-tools button{font-size:11px}
#upload-progress{font-size:12px;line-height:1.5;margin:0;color:#536e59}
@media(max-width:620px){
 .up-pickers{grid-template-columns:1fr}
 .up-drop{min-height:140px;padding:13px}
 .up-footer-tools{flex-wrap:wrap}
 .up-footer-tools button{flex:1}
 .up-item>button{font-size:10px;padding:5px}
}
