/* 材料文档模块 */
.document-tools input {
  width: 210px;
  height: 40px;
  border: 1px solid rgba(126, 213, 238, .17);
  border-radius: 11px;
  padding: 0 12px;
  outline: 0;
  color: #eafaff;
  background: #092331;
  font: inherit;
}
.document-tools input::placeholder { color: #5e8291; }
.document-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
  gap: 14px;
}
.document-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 134px;
  padding: 18px 20px;
  border-radius: 4px;
  border-color: rgba(37, 144, 255, .38);
  overflow: hidden;
}
.document-card:hover {
  border-color: rgba(45, 200, 255, .68);
  box-shadow: 0 0 24px rgba(31, 164, 255, .13);
}
.document-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 72px;
  border: 1px solid rgba(67, 209, 255, .42);
  border-radius: 5px;
  color: #5ad9ff;
  background: linear-gradient(150deg, rgba(19, 112, 184, .33), rgba(5, 38, 83, .48));
  box-shadow: inset 0 0 18px rgba(36, 151, 255, .11);
}
.document-icon b { font-size: 14px; letter-spacing: .5px; }
.document-icon.pdf {
  color: #ff9b9f;
  border-color: rgba(255, 103, 116, .42);
  background: linear-gradient(150deg, rgba(145, 42, 58, .3), rgba(61, 17, 29, .46));
}
.document-icon.doc, .document-icon.docx { color: #76bbff; }
.document-icon.xls, .document-icon.xlsx {
  color: #6be2ae;
  border-color: rgba(75, 219, 158, .38);
  background: linear-gradient(150deg, rgba(27, 124, 88, .28), rgba(8, 56, 45, .45));
}
.document-info { min-width: 0; }
.document-info > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.document-info time { color: #6c91aa; font-size: 11px; white-space: nowrap; }
.document-info h3 { margin: 11px 0 6px; color: #e9f7ff; font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
.document-info p { margin: 0 0 7px; color: #8daab9; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.document-info small { color: #638a9e; font-size: 11px; }
.document-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  height: 38px;
  padding: 0 15px;
  border: 1px solid rgba(51, 205, 255, .4);
  border-radius: 5px;
  color: #67ddff;
  background: rgba(16, 109, 163, .19);
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}
.document-download:hover { color: #031521; background: #4bd8ff; box-shadow: 0 0 18px rgba(48, 204, 255, .3); }
.document-file-field { position: relative; display: block; margin: 15px 0; cursor: pointer; }
.document-file-field input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.document-file-field span {
  display: grid;
  gap: 6px;
  padding: 20px;
  border: 1px dashed rgba(83, 221, 241, .42);
  border-radius: 14px;
  text-align: center;
  background: rgba(25, 103, 128, .12);
}
.document-file-field:hover span, .document-file-field input:focus + span { border-color: #4be1ef; background: rgba(32, 157, 179, .16); }
.document-file-field b { font-size: 14px; }
.document-file-field small { color: #759ba9; font-size: 12px; }

@media (max-width: 760px) {
  .document-list { grid-template-columns: 1fr; }
  .document-tools input { width: 100%; flex: 1 1 180px; }
  .document-card { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 15px; }
  .document-icon { width: 52px; height: 60px; }
  .document-download { grid-column: 1 / -1; width: 100%; }
}
