/* r17-r9: responsive fit hotfix for the shared upload panel/footer. Additive overlay only. */
.dq-storage-upload-float,
.dq-storage-upload-float *,
.dq-storage-upload-float *::before,
.dq-storage-upload-float *::after{box-sizing:border-box}

/* Keep the floating panel inside the viewport and give the footer enough breathing room. */
.dq-storage-upload-float{
  width:min(430px,calc(100vw - 24px));
  max-width:calc(100vw - 24px);
}

/* Header/list/footer must never create horizontal overflow inside the clipped shell. */
.dq-storage-upload-float>header,
.dq-storage-upload-float-list,
.dq-storage-upload-float>footer{
  width:100%;
  min-width:0;
  max-width:100%;
}

/* Footer uses a bounded grid: summary shrinks first, action always stays inside the card. */
.dq-storage-upload-float>footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  justify-content:stretch;
  column-gap:10px;
  row-gap:6px;
  overflow:hidden;
}
.dq-storage-upload-float>footer>span{
  width:auto;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dq-storage-upload-float>footer .dq-storage-upload-footer-actions{
  min-width:0;
  max-width:100%;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.dq-storage-upload-float>footer .dq-storage-upload-cancel,
.dq-storage-upload-float>footer .dq-storage-upload-footer-actions>button{
  max-width:100%;
  flex:0 1 auto;
}

/* Item actions also stay inside the panel when labels or accessibility scale grow. */
.dq-storage-upload-float-list article,
.dq-storage-upload-float-list article.finalizing{max-width:100%;overflow:hidden}
.dq-storage-upload-float-list article>div{min-width:0;overflow:hidden}
.dq-storage-upload-float-list article>button,
.dq-storage-upload-float-list article button.dq-storage-upload-item-cancel{max-width:132px;overflow:hidden;text-overflow:ellipsis}

/* Narrow cards stack only the footer action, while keeping it fixed outside the scroll region. */
@media(max-width:440px){
  .dq-storage-upload-float{right:8px;bottom:8px;width:calc(100vw - 16px);max-width:calc(100vw - 16px)}
  .dq-storage-upload-float>footer{grid-template-columns:minmax(0,1fr);align-items:start}
  .dq-storage-upload-float>footer>span{white-space:nowrap}
  .dq-storage-upload-float>footer .dq-storage-upload-footer-actions{justify-self:stretch;justify-content:flex-end;width:100%}
}
