/* Zona de arrastrar y soltar (core/_dropzone.html + core/js/dropzone_archivo.js). */
.dz-zone { position:relative;display:flex;align-items:center;gap:0.75rem;padding:0.875rem 1rem;border:1.5px dashed rgb(var(--c-stroke-strong));border-radius:0.75rem;background:rgb(var(--c-subtle));color:rgb(var(--c-txt-muted));cursor:pointer;transition:border-color .15s,background-color .15s; }
.dz-zone:hover, .dz-zone:focus-within { border-color:rgb(var(--c-primary)); }
.dz-zone:focus-within { outline:2px solid rgb(var(--c-primary) / .35);outline-offset:2px; }
.dz-zone.dz-over { border-color:rgb(var(--c-primary));background:rgb(var(--c-primary-light)); }
.dz-zone.dz-invalid { border-color:rgb(var(--c-danger)); }
.dz-input { position:absolute;width:1px;height:1px;opacity:0;overflow:hidden; }
.dz-text { display:flex;flex-direction:column;min-width:0; }
.dz-title { font-size:0.875rem;font-weight:500;color:rgb(var(--c-txt)); }
.dz-hint { font-size:0.75rem; }
.dz-file { display:flex;align-items:center;gap:0.5rem;margin-top:0.5rem;font-size:0.8125rem;color:rgb(var(--c-txt)); }
.dz-file .dz-name { font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.dz-file .dz-size { color:rgb(var(--c-txt-muted));flex-shrink:0; }
.dz-clear { margin-left:auto;color:rgb(var(--c-txt-muted));padding:0.125rem;border-radius:0.25rem; }
.dz-clear:hover { color:rgb(var(--c-danger)); }
.dz-error { margin-top:0.5rem;font-size:0.8125rem;color:rgb(var(--c-danger)); }
.dz-bar { margin-top:0.5rem;height:0.375rem;border-radius:9999px;background:rgb(var(--c-muted-bg));overflow:hidden; }
.dz-bar > span { display:block;height:100%;width:0;background:rgb(var(--c-primary));transition:width .1s; }
.hidden.dz-error, .dz-file.hidden, .dz-bar.hidden { display:none; }

/* Variante compacta: una línea de ~44px; el archivo elegido ocupa el lugar de la zona. */
.dz-compact .dz-zone { min-height:2.75rem;padding:0.375rem 0.75rem;gap:0.5rem;border-radius:0.5rem; }
.dz-compact .dz-text { flex-direction:row;align-items:baseline;gap:0.5rem;overflow:hidden;white-space:nowrap; }
.dz-compact .dz-title { overflow:hidden;text-overflow:ellipsis; }
.dz-compact .dz-hint { display:none; }
.dz-compact .dz-file { margin-top:0;min-height:2.75rem;padding:0.375rem 0.75rem;border:1.5px solid rgb(var(--c-stroke-strong));border-radius:0.5rem;background:rgb(var(--c-subtle));min-width:0; }
.dz-compact .dz-file:not(.hidden) ~ .dz-error { margin-top:0.25rem; }
.dz-compact:has(.dz-file:not(.hidden)) .dz-zone { display:none; }
.dz-row { display:flex;flex-direction:column;gap:0.5rem; }
@media (min-width:640px) { .dz-row { flex-direction:row;align-items:flex-start; } .dz-row > .btn { height:2.75rem; } }
.dz-row.hidden { display:none; }
