.subir { display: grid; gap: var(--e4); max-width: 46rem; margin-bottom: var(--e6); }
.zona {
  display: grid; gap: var(--e1); place-items: center; text-align: center; cursor: pointer; padding: var(--e7) var(--e4);
  border: 2px dashed var(--linea-fuerte); border-radius: var(--radio-g); background: var(--superficie);
  color: var(--tinta-suave); transition: background var(--duracion), border-color var(--duracion);
}
.zona:hover, .zona:focus-within { border-color: var(--acento); background: var(--acento-fondo); }
.zona--encima { border-color: var(--acento); background: var(--acento-fondo); border-style: solid; }
.zona__titulo { font-family: var(--fuente-titulo); font-size: var(--t-m); color: var(--tinta); }
.zona:focus-within { outline: 3px solid var(--foco); outline-offset: 2px; }

.subidas { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e2); }
.subida { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(6rem, 1fr) auto; grid-template-areas: "n b c" "t t t"; gap: var(--e1) var(--e3); align-items: center; padding: var(--e3); background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio); font-size: var(--t-s); }
.subida__nombre { grid-area: n; font-weight: 500; overflow-wrap: anywhere; }
.subida progress { grid-area: b; width: 100%; height: 0.6rem; accent-color: var(--acento); }
.subida button { grid-area: c; }
.subida__texto { grid-area: t; color: var(--tinta-suave); font-size: var(--t-xs); }
.subida--error { border-color: var(--error-b); background: var(--error-f); grid-template-areas: "n c" "t t"; grid-template-columns: 1fr auto; }
.subida--error .subida__texto { color: var(--error-t); font-size: var(--t-s); font-weight: 500; }
.subida--aviso { border-color: var(--e-pendiente-b); background: #F3F7FD; }
.subida--aviso .subida__texto { color: var(--e-pendiente-t); font-weight: 500; }

.subtitulo { font-size: var(--t-m); margin-bottom: var(--e4); }
.archivos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--e4); }
.archivo { background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio-g); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; }
.archivo__vista { height: 11rem; overflow: hidden; background: repeating-conic-gradient(#E1E8F2 0 25%, #F3F7FD 0 50%) 0 0 / 16px 16px; display: grid; place-items: center; }
.archivo__vista img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.archivo__tipo { font-family: var(--fuente-titulo); font-size: var(--t-l); color: var(--tinta-suave); }
.archivo__datos { padding: var(--e3) var(--e4) 0; }
.archivo__nombre { font-weight: 500; margin: 0; overflow-wrap: anywhere; }
.archivo__meta { margin: 0; font-size: var(--t-xs); color: var(--tinta-suave); }
.archivo__acciones { display: flex; gap: var(--e2); padding: var(--e3) var(--e4) var(--e4); }

.historial { max-width: 46rem; }
.dia { margin-bottom: var(--e5); }
.dia h2 { font-size: var(--t-m); padding-bottom: var(--e2); border-bottom: 2px solid var(--tinta); margin-bottom: var(--e2); }
.dia ol { list-style: none; margin: 0; padding: 0; }
.dia li { display: grid; grid-template-columns: 4rem 1fr; gap: var(--e3); padding: var(--e3) 0; border-bottom: 1px solid var(--linea); }
.dia time { color: var(--tinta-suave); font-size: var(--t-s); font-variant-numeric: tabular-nums; }
.dia p { margin: 0; }
.dia .detalle { display: block; color: var(--tinta-suave); font-size: var(--t-s); overflow-wrap: anywhere; }

@media (max-width: 640px) {
  .subida { grid-template-columns: 1fr auto; grid-template-areas: "n c" "b b" "t t"; }
}

/* Subida dentro de la ficha */
.subida-ficha { display: grid; gap: var(--e3); margin: var(--e2) 0; }
.subida-ficha__actual { display: grid; grid-template-columns: auto 1fr; gap: var(--e4); align-items: start; border: 1px solid var(--linea); border-radius: var(--radio); padding: var(--e3); background: var(--superficie); }
.subida-ficha__controles .acciones { margin-top: var(--e2); }
.subida-ficha__estado { margin: var(--e2) 0 0; font-size: var(--t-s); }
.subida-ficha__estado--error { color: var(--error-t); font-weight: 500; }
.subida-ficha__actual { grid-template-columns: 10rem minmax(0, 1fr); }
.subida-ficha__actual .archivo__vista img { width: 10rem; height: auto; max-height: 8rem; object-fit: cover; border-radius: var(--radio); }
@media (max-width: 40rem) { .subida-ficha__actual { grid-template-columns: 1fr; } }

/* Papelera de archivos: lo borrado se conserva 30 días y se puede restaurar. */
.papelera { margin-top: var(--e6); border: 1px solid var(--linea); border-radius: var(--radio-g); background: var(--superficie-2); }
.papelera[hidden] { display: none; }
.papelera__titulo { cursor: pointer; padding: var(--e4); font-weight: 600; }
.papelera__cuerpo { padding: 0 var(--e4) var(--e4); }
.archivos--papelera .archivo { opacity: 0.92; }
