/* Parçalı yükleyici (site + panel ortak). Renkler sayfanın --brand / --line değişkenlerinden gelir. */
.uploader { --u-brand: var(--brand, #5b5ff0); --u-line: var(--line, #e6e8f0); --u-soft: var(--bg-soft, #f6f7fb); --u-ink: var(--ink, #15172a); --u-muted: var(--muted, #8b8fa5); }
.uploader-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; text-align: center; cursor: pointer;
  border: 2px dashed var(--u-line); border-radius: 18px; padding: 1.6rem 1rem; background: var(--u-soft); transition: border-color .2s, background .2s; margin: 0; }
.uploader-drop:hover, .uploader-drop.is-over { border-color: var(--u-brand); background: color-mix(in srgb, var(--u-brand) 7%, var(--u-soft)); }
.uploader-icon { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: color-mix(in srgb, var(--u-brand) 12%, transparent); color: var(--u-brand); font-size: 1.5rem; }
.uploader-text { color: var(--u-ink); font-size: .93rem; }
.uploader-text u { color: var(--u-brand); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.uploader-hint { color: var(--u-muted); font-size: .8rem; }
.uploader-list { display: grid; gap: .5rem; margin-top: .75rem; }
.uploader-list:empty { display: none; }
.uploader-item { display: flex; align-items: center; gap: .75rem; padding: .6rem .7rem; border: 1px solid var(--u-line); border-radius: 14px; background: var(--card, #fff); }
.uploader-thumb { width: 46px; height: 46px; border-radius: 11px; overflow: hidden; flex-shrink: 0; display: grid; place-items: center; background: var(--u-soft); color: var(--u-brand); font-size: 1.2rem; }
.uploader-thumb img, .uploader-thumb video { width: 100%; height: 100%; object-fit: cover; }
.uploader-meta { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.uploader-meta strong { font-size: .88rem; color: var(--u-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uploader-meta small { font-size: .76rem; color: var(--u-muted); }
.uploader-bar { height: 5px; border-radius: 5px; background: var(--u-soft); margin-top: .35rem; overflow: hidden; }
.uploader-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--u-brand), var(--mint, #2ed8a3)); border-radius: 5px; transition: width .2s; }
.uploader-item.is-done .uploader-bar { display: none; }
.uploader-item.is-done small::before { content: "\F26E"; font-family: bootstrap-icons; color: var(--mint, #2ed8a3); margin-right: .25rem; }
.uploader-item.is-error { border-color: #f3b3ba; background: #fff6f7; }
.uploader-item.is-error small { color: #c2283a; }
.uploader-remove { border: 0; background: transparent; color: var(--u-muted); width: 32px; height: 32px; border-radius: 9px; flex-shrink: 0; }
.uploader-remove:hover { background: var(--u-soft); color: #c2283a; }
.uploader-item.is-busy .uploader-remove { visibility: hidden; }
[data-bs-theme="dark"] .uploader-item.is-error { background: #2a1519; border-color: #5c2530; }
