/* apps-core 0.1.33 — module « dropzone » (voir dropzone.js). Couleurs : --acdz-accent, sinon --primary / --accent de l'app ;
   bordure et fond dérivés de la couleur du texte, donc justes en mode clair comme en mode sombre. Aucun texte grisé illisible. */
.acdz-wrap{display:block;max-width:100%;margin:.25rem 0}
.acdz{--acdz-a:var(--acdz-accent,var(--primary,var(--accent,#2563eb)));position:relative;display:flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:4.25rem;padding:.85rem 1rem;border:2px dashed color-mix(in srgb,currentColor 38%,transparent);border-radius:12px;
  background:color-mix(in srgb,currentColor 4%,transparent);color:inherit;text-align:center;cursor:pointer;box-sizing:border-box;transition:border-color .15s,background-color .15s}
.acdz:hover{border-color:var(--acdz-a)}
.acdz:focus-within{outline:3px solid color-mix(in srgb,var(--acdz-a) 70%,transparent);outline-offset:2px}
.acdz.acdz-over,.acdz-target.acdz-over{border-color:var(--acdz-a);border-style:solid;background:color-mix(in srgb,var(--acdz-a) 14%,transparent)}
.acdz-label{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;line-height:1.35;pointer-events:none;overflow-wrap:anywhere}
.acdz-ico{width:1.5rem;height:1.5rem;flex:none;color:var(--acdz-a)}
/* Le champ natif couvre toute la zone : clic, toucher et clavier restent ceux du navigateur */
.acdz>input.acdz-input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer;font-size:16px;z-index:1}
.acdz>input.acdz-input:disabled{cursor:not-allowed}
.acdz:has(>input:disabled){opacity:.6;cursor:not-allowed}
.acdz-list{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem}
.acdz-list[hidden]{display:none}
.acdz-file{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.3rem .3rem .3rem .65rem;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:8px}
.acdz-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acdz-size{flex:none;font-size:.85em;opacity:.85}
.acdz-remove{flex:none;min-width:2.25rem;min-height:2.25rem;border:0;border-radius:8px;background:transparent;color:inherit;font-size:1.25rem;line-height:1;cursor:pointer}
.acdz-remove:hover,.acdz-remove:focus-visible{background:color-mix(in srgb,currentColor 12%,transparent)}
.acdz-remove:focus-visible{outline:2px solid var(--acdz-accent,var(--primary,var(--accent,#2563eb)));outline-offset:1px}
.acdz-msg{display:block;margin-top:.3rem;font-size:.9em}
.acdz-msg:empty{display:none}
.acdz-msg.acdz-error{color:var(--acdz-error,var(--danger,#b42318));font-weight:600}
.acdz-msg-inline{margin-top:.2rem}
.acdz-target.acdz-over{outline:2px dashed var(--acdz-accent,var(--primary,var(--accent,#2563eb)));outline-offset:2px}
@media (prefers-color-scheme:dark){.acdz-msg.acdz-error{color:var(--acdz-error,var(--danger,#ff8a80))}}
:root[data-theme="dark"] .acdz-msg.acdz-error,.dark .acdz-msg.acdz-error,body.dark .acdz-msg.acdz-error{color:var(--acdz-error,var(--danger,#ff8a80))}
@media (prefers-reduced-motion:reduce){.acdz{transition:none}}
