.h3-upload-card{min-width:0;display:flex;flex-direction:column;gap:0;min-height:238px}
.h3-upload-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px;margin-bottom:10px}
.h3-upload-heading>strong{margin:0;font-size:14px;line-height:24px;white-space:nowrap;flex-shrink:0}
.h3-upload-badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;border-radius:20px;padding:3px 7px;background:#edf3ff;color:#2459df;font-size:11px;font-weight:600;line-height:18px;white-space:nowrap}
.h3-upload-badge.is-queued{color:#64748b;background:#f0f3f8}.h3-upload-badge.is-uploaded{color:#14835e;background:#eaf9f1}.h3-upload-badge.is-failed{color:#c34747;background:#fff0ef}
.h3-upload-dot{width:5px;height:5px;background:currentColor;border-radius:50%}.is-uploading>.h3-upload-dot{animation:h3-upload-pulse 1.4s ease-in-out infinite}
.h3-upload-card .h3-image-dropzone{position:relative;flex-shrink:0;background:#f6f8fc;transition:border-color .2s,box-shadow .2s}
.h3-upload-card .h3-image-dropzone[aria-disabled=true]{opacity:1}
.h3-upload-card.is-uploading .h3-image-dropzone{border-style:solid;border-color:#bdd0ff;box-shadow:0 0 0 3px #2459df08}
.h3-upload-card.is-queued .h3-image-dropzone{border-color:#cbd5e1}.h3-upload-card.is-uploaded .h3-image-dropzone{border-style:solid;border-color:#c5e5d7}.h3-upload-card.is-failed .h3-image-dropzone{border-color:#f0c1c1}
.h3-upload-card .h3-placeholder{align-content:center;gap:5px}.h3-upload-card .h3-image-help{font-size:11px;line-height:1.7;padding:0 6px}
.h3-upload-empty-icon{width:26px;height:26px;margin:0 auto;color:#94a8c8}
.h3-upload-overlay{position:absolute;inset:0;box-sizing:border-box;padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:linear-gradient(145deg,#f8fbffed,#eef4fff5);color:#2459df;pointer-events:none;backdrop-filter:blur(3px)}
.h3-upload-overlay.is-queued{background:linear-gradient(145deg,#fafcffef,#f0f4f9f5);color:#71819b}
.h3-upload-orbit{position:relative;display:grid;place-items:center;width:43px;height:43px;margin-bottom:2px;background:#fff;border-radius:50%;box-shadow:0 3px 12px #2459df0c}
.h3-upload-orbit:before{content:"";position:absolute;inset:-1px;border:2px solid #dce7ff;border-top-color:#3d6ef0;border-radius:50%;animation:h3-upload-spin 1.2s linear infinite}
.h3-upload-overlay.is-queued .h3-upload-orbit:before{border-color:#dce3ed;animation:h3-upload-pulse 1.8s ease-in-out infinite}
.h3-upload-title{font-size:14px;font-weight:650;line-height:20px}.h3-upload-subtitle{font-size:11px;line-height:17px;color:#7890b3}
.h3-upload-track{display:block;position:relative;width:100px;height:3px;margin-top:4px;border-radius:6px;background:#dce7fc;overflow:hidden}
.h3-upload-track>span{position:absolute;inset:0 auto 0 0;width:45%;border-radius:6px;background:linear-gradient(90deg,#81a6ff,#3b6bf0);animation:h3-upload-slide 1.6s ease-in-out infinite}
.h3-upload-overlay.is-queued .h3-upload-track{background:#e0e6ef}.h3-upload-overlay.is-queued .h3-upload-track>span{background:#aebbd0;animation-duration:2.8s}
.h3-upload-card .h3-image-actions{margin:11px 0 7px;gap:7px;min-height:36px}.h3-upload-card .h3-image-actions .btn{min-height:34px;font-size:12px}
.h3-upload-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-height:31px;font-size:11px;line-height:17px;color:#91a0b6}
.h3-upload-feedback.is-uploading{color:#416ab8}.h3-upload-feedback.is-uploaded{color:#19845f}.h3-upload-feedback.is-failed{color:#c34747}
.h3-upload-indicator{display:grid;place-items:center;width:13px;height:13px;flex-shrink:0}.h3-upload-indicator svg{width:13px;height:13px}.h3-upload-indicator.is-spinning{box-sizing:border-box;border:1.5px solid #cbdcff;border-top-color:#3b6bf0;border-radius:50%;animation:h3-upload-spin .9s linear infinite}
.h3-upload-filename{flex-basis:100%;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#91a0b6;font-size:10px}
@keyframes h3-upload-spin{to{transform:rotate(360deg)}}@keyframes h3-upload-pulse{0%,100%{opacity:.4}50%{opacity:1}}@keyframes h3-upload-slide{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@media(max-width:480px){.h3-images:has(.h3-upload-card){grid-template-columns:minmax(0,1fr)}.h3-upload-card .h3-image-help{font-size:12px}.h3-upload-card .h3-image-actions .btn{min-height:38px}.h3-upload-feedback{font-size:12px}}
@media(prefers-reduced-motion:reduce){.h3-upload-card *,.h3-upload-card *:before{animation:none!important;transition:none!important}.h3-upload-track>span{left:28%}}
