/* ============================================================================
   NEXORA · UPLOAD UI (V2026.174)
   Dropzone states, progress and attachment tiles. Kept in the site's own
   language: sharp corners, ink and lime, mono micro-labels.
   ========================================================================== */
.nxu-over{
  outline:2px dashed #c6ff34 !important; outline-offset:-6px;
  background-color:rgba(198,255,52,.10) !important;
}
.nxu-zone{position:relative;cursor:pointer;transition:background-color .2s var(--sc-ease-out,ease),outline-color .2s}
.nxu-zone:focus-visible{outline:3px solid #c6ff34;outline-offset:3px}

/* progress rail sits inside whatever tile is uploading */
.nxu-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(5,5,5,.16);z-index:4;overflow:hidden}
.nxu-bar i{display:block;height:100%;width:0;background:#c6ff34;transition:width .22s var(--sc-ease-out,ease)}

/* the mode badge. tells the truth about where the file actually went. */
.nxu-mode{
  display:inline-flex;align-items:center;gap:6px;
  font:700 9.5px/1 var(--font-mono,ui-monospace,monospace);
  letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;
}
.nxu-mode--storage{background:#c6ff34;color:#050505}
.nxu-mode--inline{background:rgba(5,5,5,.1);color:#57544a;border:1px solid rgba(5,5,5,.25)}
.nxu-note{
  font:500 11.5px/1.5 var(--font-mono,ui-monospace,monospace);
  color:#57544a;margin:8px 0 0;
}
.nxu-note b{color:#050505}

/* attachment tiles in the message composer */
.nxu-attachlist{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.nxu-att{
  position:relative;display:flex;align-items:center;gap:9px;
  border:1px solid rgba(5,5,5,.22);background:#fff;padding:8px 10px;max-width:230px;
}
.nxu-att img{width:34px;height:34px;object-fit:cover;flex:none;display:block}
.nxu-att .ic{
  width:34px;height:34px;flex:none;display:grid;place-items:center;background:#f5f4e7;
  font:700 9px/1 var(--font-mono,ui-monospace,monospace);color:#57544a;letter-spacing:.06em;
}
.nxu-att .nm{font:500 11.5px/1.35 var(--font-display,system-ui);color:#050505;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nxu-att .sz{font:500 10px/1.3 var(--font-mono,ui-monospace,monospace);color:#57544a}
.nxu-att .rm{
  margin-left:4px;border:0;background:transparent;cursor:pointer;
  font:700 15px/1 sans-serif;color:#57544a;padding:2px 4px;
}
.nxu-att .rm:hover{color:#050505}
.nxu-att .rm:focus-visible{outline:2px solid #c6ff34;outline-offset:2px}

@media (prefers-reduced-motion: reduce){
  .nxu-zone,.nxu-bar i{transition:none}
}

/* a composer with no conversation behind it should look inert, not broken */
.nx-msg-composer.is-locked{opacity:.55}
.nx-msg-composer.is-locked textarea{cursor:not-allowed}
