/* file-row-a：附件清单行。生产宏 templates/partials/ui_file_row.html 的 ui_file_row。
   实例：课题详情（学生端与教师端审批共用）各节点附件清单。
   组件只负责行结构、密度与文字层级，动作区由调用方通过 {% call %} 传入，组件不定义按钮样式。 */
.ui-file-row {
  display: flex;
  align-items: center;
  gap: var(--ui-space-2);
  flex-wrap: wrap;
  padding: var(--ui-space-2) 0;
  border-bottom: 1px solid var(--ui-color-border);
}

.ui-file-row:last-child {
  border-bottom: 0;
}

.ui-file-row-name {
  min-width: 240px;
  flex: 1;
  color: var(--ui-color-primary-600);
  font-size: var(--ui-font-size-sm);
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ui-file-row-name:hover {
  text-decoration: underline;
}

.ui-file-row-meta {
  color: var(--ui-color-text-muted);
  font-size: var(--ui-font-size-xs);
  white-space: nowrap;
}

.ui-file-row-actions {
  display: flex;
  align-items: center;
  gap: var(--ui-space-2);
}

/* 紧凑密度：上传区、附件表等带分隔线的清单容器内使用。 */
.ui-file-row.is-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 9px 14px;
  flex-wrap: nowrap;
  border-top: 1px solid var(--ui-color-gray-100);
  border-bottom: 0;
  background: var(--ui-color-surface);
}

.ui-file-row-main {
  min-width: 0;
}

.ui-file-row.is-compact .ui-file-row-name {
  display: block;
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-wrap: normal;
}

.ui-file-row.is-compact .ui-file-row-name:hover {
  text-decoration: none;
}

.ui-file-row.is-compact .ui-file-row-meta {
  display: block;
  margin-top: 3px;
  color: var(--ui-color-text-disabled);
  font-size: 11px;
  white-space: normal;
}

.ui-file-row.is-compact .ui-file-row-actions {
  justify-content: flex-end;
  min-width: 64px;
}

@media (max-width: 760px) {
  .ui-file-row.is-compact {
    align-items: start;
  }

  .ui-file-row.is-compact .ui-file-row-name {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
