/* Evaluasi 25 Okt (Umum): standar unggah berkas (lihat nx-upload.js). */
.nx-upload { display: grid; gap: 8px; }
.nx-upload__zone { position: relative; min-height: 92px; display: grid; place-items: center; padding: 14px; text-align: center;
    border: 1.5px dashed #CDD5E1; border-radius: 12px; background: #F8FAFD; color: #5B6475; cursor: pointer;
    transition: border-color .14s linear, background-color .14s linear; }
.nx-upload--sm .nx-upload__zone { min-height: 64px; padding: 10px; }
.nx-upload__zone:hover, .nx-upload.is-drag .nx-upload__zone { border-color: #1D4ED8; background: rgba(36, 107, 253, .08); }
.nx-upload__input { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; opacity: 0; cursor: pointer; z-index: 2; }
.nx-upload__input:focus-visible + .nx-upload__msg, .nx-upload__zone:focus-within { outline: 2px solid #1D4ED8; outline-offset: 2px; }
.nx-upload__msg { display: flex; flex-direction: column; align-items: center; gap: 4px; pointer-events: none; font-size: .82rem; }
.nx-upload__msg i { font-size: 1.5rem; color: #1D4ED8; }
.nx-upload__msg b { color: #172033; font-weight: 600; }
.nx-upload__msg small { color: #5B6475; }
.nx-upload.has-file .nx-upload__msg { display: none; }
.nx-upload__list { display: grid; gap: 8px; width: 100%; pointer-events: none; }
.nx-upload__item { display: flex; align-items: center; gap: 12px; text-align: left; }
.nx-upload__item img, .nx-upload__item i { flex: none; width: 64px; height: 64px; border-radius: 8px; object-fit: cover; border: 1px solid #E3E8F0; background: #fff; display: grid; place-items: center; font-size: 1.6rem; color: #5B6475; }
.nx-upload__item span { min-width: 0; display: grid; }
.nx-upload__item b { color: #172033; font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nx-upload__item small { color: #5B6475; font-size: .75rem; }
.nx-upload__current { display: flex; align-items: center; gap: 12px; font-size: .8rem; color: #5B6475; }
.nx-upload__current img { width: 72px; height: 72px; border-radius: 8px; object-fit: cover; border: 1px solid #E3E8F0; }
.nx-upload__clear { justify-self: start; border: 0; background: none; padding: 0; color: #C2322F; font-size: .8rem; font-weight: 600; text-decoration: underline; cursor: pointer; }
[data-bs-theme="dark"] .nx-upload__zone { background: #0F1726; border-color: #34425E; color: #9AA7BF; }
[data-bs-theme="dark"] .nx-upload__msg b, [data-bs-theme="dark"] .nx-upload__item b { color: #E6ECF7; }
