/* ═══════════════════════════════════════════════════════════════════════════
   EdenUpDo — Upload / Download fenêtre flottante.
   Convention EdenALOS : règles CSS pour Eden.shell.createFloatingWindow
   avec className 'edenupdo-window'. Sans ces règles, winEl manque
   position:fixed + flex column → bodyEl à hauteur 0.
   ═══════════════════════════════════════════════════════════════════════════ */
.edenupdo-window {
  position: fixed;
  display: flex;
  flex-direction: column;
  background: rgba(10, 12, 18, 0.97);
  border: 1px solid rgba(88, 200, 255, 0.16);
  border-radius: 12px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55), 0 0 24px rgba(88, 200, 255, 0.10);
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #e8edf3;
}
.edenupdo-window.edenupdo-window-maximized { border-radius: 0; box-shadow: none; }
.edenupdo-window-titlebar {
  display: flex; align-items: center;
  height: 32px;
  padding: 0 12px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid #2a3140;
  cursor: grab;
  user-select: none;
  flex-shrink: 0;
}
.edenupdo-window-title {
  font-size: 13px; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-left: 6px;
}
.edenupdo-window-body {
  display: flex; flex-direction: column;
  flex: 1 1 0%;
  min-height: 0;
  overflow: hidden;
  position: relative;
  background: #0a0c12;
  padding: 0;
}

/* Tabs Téléverser / Télécharger */
.edenupdo-tabs {
  display: flex;
  background: #11151c;
  border-bottom: 1px solid #2a3140;
  flex-shrink: 0;
}
.edenupdo-tab {
  background: transparent;
  border: none;
  color: #8a96a8;
  padding: 10px 18px;
  font: 13px/1 inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s, background .15s;
}
.edenupdo-tab:hover { color: #cfd8e3; background: rgba(88, 200, 255, 0.04); }
.edenupdo-tab.is-active {
  color: #58c8ff;
  border-bottom-color: #58c8ff;
}

/* Zone de contenu (scrollable) */
.edenupdo-content {
  flex: 1 1 0%;
  min-height: 0;
  overflow-y: auto;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.edenupdo-row {
  display: flex; flex-direction: column;
  gap: 6px;
}
.edenupdo-label {
  font-size: 11px;
  color: #8a96a8;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.edenupdo-input {
  background: #161b24;
  border: 1px solid #2a3140;
  color: #e8edf3;
  border-radius: 6px;
  padding: 8px 12px;
  font: 13px/1 'JetBrains Mono', monospace;
  outline: none;
}
.edenupdo-input:focus { border-color: #58c8ff; }

/* Drop zone HTML5 (drag fichiers OS dessus) */
.edenupdo-dropzone {
  border: 2px dashed #2a3140;
  border-radius: 10px;
  padding: 36px 16px 28px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: border-color .12s, background .12s;
  cursor: default;
  min-height: 140px;
}
.edenupdo-dropzone.is-active {
  border-color: #58c8ff;
  background: rgba(88, 200, 255, 0.06);
}
.edenupdo-dropzone svg {
  color: #58c8ff;
  opacity: 0.7;
}
.edenupdo-dz-title {
  font-size: 14px;
  color: #cfd8e3;
  font-weight: 500;
}
.edenupdo-dz-hint {
  font-size: 12px;
  color: #8a96a8;
}
.edenupdo-link {
  background: none;
  border: none;
  color: #58c8ff;
  cursor: pointer;
  font-size: 12px;
  font-family: inherit;
  text-decoration: underline;
  padding: 0;
}

/* Queue de fichiers à téléverser */
.edenupdo-queue {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.edenupdo-empty {
  text-align: center;
  color: #5a6678;
  font-size: 12px;
  font-style: italic;
  padding: 12px 0;
}
.edenupdo-q-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  background: #11151c;
  border: 1px solid #2a3140;
  border-radius: 8px;
}
.edenupdo-q-item.is-uploading {
  border-color: rgba(88, 200, 255, 0.45);
  background: rgba(88, 200, 255, 0.06);
}
.edenupdo-q-item.is-done {
  border-color: rgba(74, 222, 128, 0.45);
  background: rgba(74, 222, 128, 0.05);
}
.edenupdo-q-item.is-error {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.05);
}
.edenupdo-q-icon {
  color: #8a96a8;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.edenupdo-q-info {
  flex: 1;
  min-width: 0;
}
.edenupdo-q-name {
  font-size: 13px;
  color: #cfd8e3;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.edenupdo-q-meta {
  font-size: 11px;
  color: #8a96a8;
  margin-top: 2px;
  font-family: 'JetBrains Mono', monospace;
}
.edenupdo-q-remove {
  background: transparent;
  border: 1px solid transparent;
  color: #5a6678;
  border-radius: 4px;
  width: 26px;
  height: 26px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.edenupdo-q-remove:hover {
  border-color: rgba(239, 68, 68, 0.45);
  color: #ef4444;
}

/* Boutons d'action principaux */
.edenupdo-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 4px;
}
.edenupdo-btn-primary, .edenupdo-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font: 13px/1 inherit;
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.edenupdo-btn-primary {
  background: #58c8ff;
  color: #04101a;
  border: 1px solid #58c8ff;
  font-weight: 600;
}
.edenupdo-btn-primary:hover:not(:disabled) {
  background: #7ad4ff; border-color: #7ad4ff;
}
.edenupdo-btn-primary:disabled {
  opacity: 0.45; cursor: not-allowed;
}
.edenupdo-btn-ghost {
  background: transparent;
  color: #8a96a8;
  border: 1px solid #2a3140;
}
.edenupdo-btn-ghost:hover:not(:disabled) {
  border-color: #58c8ff; color: #58c8ff;
}
.edenupdo-btn-ghost:disabled {
  opacity: 0.45; cursor: not-allowed;
}

/* Status bar bottom */
.edenupdo-status {
  flex-shrink: 0;
  padding: 8px 18px;
  border-top: 1px solid #2a3140;
  background: #11151c;
  font-size: 11.5px;
  color: #8a96a8;
  font-variant-numeric: tabular-nums;
  min-height: 30px;
  display: flex;
  align-items: center;
}
