/* V8.4 — universal chunked/resumable upload UI */
:root{
  --v84-upload-bg:#ffffff;
  --v84-upload-soft:#f6f8fa;
  --v84-upload-line:#dce4ea;
  --v84-upload-text:#0a1720;
  --v84-upload-muted:#526573;
  --v84-upload-accent:#d5a021;
  --v84-upload-accent-2:#f0cf69;
  --v84-upload-ok:#13795b;
  --v84-upload-danger:#b42336;
}
[data-bs-theme="dark"]{
  --v84-upload-bg:#10232e;
  --v84-upload-soft:#0b1b24;
  --v84-upload-line:#294550;
  --v84-upload-text:#f6fafc;
  --v84-upload-muted:#b8c7cf;
  --v84-upload-ok:#62d5ad;
  --v84-upload-danger:#ff8d9b;
}
.smart-upload-native{
  position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;
  pointer-events:none!important;overflow:hidden!important;margin:0!important;padding:0!important;
}
.smart-upload-v84{margin:.25rem 0 0;color:var(--v84-upload-text);font-family:inherit}
.smart-upload-drop-v84{
  min-height:132px;border:1.5px dashed var(--v84-upload-line);border-radius:18px;background:var(--v84-upload-soft);
  padding:18px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;
  cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
  outline:none;color:var(--v84-upload-text)
}
.smart-upload-drop-v84:hover,.smart-upload-drop-v84:focus-visible,.smart-upload-drop-v84.is-dragging{
  border-color:var(--v84-upload-accent);background:color-mix(in srgb,var(--v84-upload-accent) 9%,var(--v84-upload-bg));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--v84-upload-accent) 12%,transparent);transform:translateY(-1px)
}
.smart-upload-icon-v84,.smart-upload-file-icon-v84{
  width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex:none;
  background:linear-gradient(145deg,var(--v84-upload-accent-2),var(--v84-upload-accent));color:#172733;font-size:1.45rem;
  box-shadow:0 8px 22px color-mix(in srgb,var(--v84-upload-accent) 22%,transparent)
}
.smart-upload-copy-v84{display:grid;gap:2px;min-width:0}.smart-upload-copy-v84 strong{font-weight:800;color:var(--v84-upload-text);font-size:.98rem}
.smart-upload-copy-v84 small{color:var(--v84-upload-muted);font-size:.86rem}.smart-upload-copy-v84 em{font-style:normal;color:var(--v84-upload-muted);font-size:.76rem;margin-top:3px}
.smart-upload-choose-v84{border:1px solid var(--v84-upload-line)!important;background:var(--v84-upload-bg)!important;color:var(--v84-upload-text)!important;border-radius:12px!important;font-weight:800!important;padding:.55rem .85rem!important}
.smart-upload-file-v84{border:1px solid var(--v84-upload-line);background:var(--v84-upload-bg);border-radius:18px;padding:15px 16px;box-shadow:0 8px 24px rgba(11,38,61,.05)}
.smart-upload-file-head-v84{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px}
.smart-upload-file-icon-v84{width:44px;height:44px;border-radius:13px;font-size:1.15rem;background:var(--v84-upload-soft);box-shadow:none;color:var(--v84-upload-accent)}
.smart-upload-file-name-v84{display:grid;min-width:0}.smart-upload-file-name-v84 strong{color:var(--v84-upload-text);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smart-upload-file-name-v84 small{color:var(--v84-upload-muted);font-size:.78rem}.smart-upload-percent-v84{font-weight:900;color:var(--v84-upload-text);font-variant-numeric:tabular-nums}
.smart-upload-progress-v84{height:9px;border-radius:999px;background:var(--v84-upload-soft);overflow:hidden;margin:12px 0 8px;border:1px solid color-mix(in srgb,var(--v84-upload-line) 80%,transparent)}
.smart-upload-progress-v84>span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--v84-upload-accent),var(--v84-upload-accent-2));transition:width .12s linear;box-shadow:0 0 14px color-mix(in srgb,var(--v84-upload-accent) 28%,transparent)}
.smart-upload-status-v84{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--v84-upload-muted);font-size:.79rem;min-height:21px}
.smart-upload-actions-v84{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.smart-upload-actions-v84 .btn{border-radius:10px;font-weight:700}
.smart-upload-v84.is-complete .smart-upload-file-v84{border-color:color-mix(in srgb,var(--v84-upload-ok) 40%,var(--v84-upload-line));background:color-mix(in srgb,var(--v84-upload-ok) 5%,var(--v84-upload-bg))}
.smart-upload-v84.is-complete .smart-upload-file-icon-v84{color:var(--v84-upload-ok);background:color-mix(in srgb,var(--v84-upload-ok) 11%,var(--v84-upload-bg))}
.smart-upload-v84.is-complete [data-smart-status]{color:var(--v84-upload-ok);font-weight:800}
.smart-upload-v84.is-error .smart-upload-file-v84{border-color:color-mix(in srgb,var(--v84-upload-danger) 55%,var(--v84-upload-line));background:color-mix(in srgb,var(--v84-upload-danger) 5%,var(--v84-upload-bg))}
.smart-upload-v84.is-error [data-smart-status]{color:var(--v84-upload-danger);font-weight:800}
.smart-upload-v84.is-paused [data-smart-status]{color:var(--v84-upload-accent);font-weight:800}
.smart-upload-attention-v84{animation:v84UploadAttention .85s ease}@keyframes v84UploadAttention{0%,100%{transform:none}30%{transform:translateX(-5px)}60%{transform:translateX(5px)}}
[data-bs-theme="dark"] .smart-upload-v84 .btn-outline-dark{color:var(--v84-upload-text);border-color:var(--v84-upload-line)}
@media(max-width:575.98px){
  .smart-upload-drop-v84{grid-template-columns:46px minmax(0,1fr);min-height:118px;padding:14px;gap:11px}
  .smart-upload-drop-v84 .smart-upload-choose-v84{grid-column:1/-1;width:100%}.smart-upload-icon-v84{width:46px;height:46px;border-radius:13px}
  .smart-upload-status-v84{align-items:flex-start;flex-direction:column;gap:2px}.smart-upload-file-head-v84{grid-template-columns:40px minmax(0,1fr) auto}.smart-upload-file-icon-v84{width:40px;height:40px}
}
