.spare-page { max-width:1000px; margin:40px auto; padding:0 20px; }
.spare-page h1 { font-size:24px; font-weight:700; color:#2d3748; margin-bottom:8px; }
.spare-page p { color:#a0aec0; font-size:14px; margin-bottom:24px; }
.spare-search-box { display:flex; gap:10px; margin-bottom:24px; flex-wrap:wrap; }
.spare-search-box select { padding:10px 14px; border:2px solid #e2e8f0; border-radius:10px; font-size:14px; }
.spare-search-box input { flex:1; min-width:200px; padding:10px 14px; border:2px solid #e2e8f0; border-radius:10px; font-size:14px; }
.spare-search-box button { padding:10px 24px; background:#6366f1; color:#fff; border:none; border-radius:10px; font-size:14px; font-weight:600; cursor:pointer; }
.spare-item { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:14px 18px; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; }
.spare-item .file-info { flex:1; min-width:0; }
.spare-item .file-name { font-weight:600; color:#2d3748; font-size:14px; }
.spare-item .file-path { font-size:12px; color:#a0aec0; margin-top:2px; word-break:break-all; }
.spare-item .file-size { font-size:12px; color:#a0aec0; }
.spare-item .download-btn { padding:6px 16px; background:#48bb78; color:#fff; border:none; border-radius:8px; cursor:pointer; font-size:13px; }
.spare-pagination { display:flex; justify-content:center; gap:6px; margin-top:20px; flex-wrap:wrap; }
.spare-pagination button { padding:6px 14px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; cursor:pointer; font-size:13px; }
.spare-pagination button.active { background:#6366f1; color:#fff; border-color:#6366f1; }
.spare-status { font-size:13px; color:#a0aec0; margin-bottom:16px; }
@media (max-width: 479px) {
  .desc-line1, .desc-line2 { display: block; }
  .desc-dot { display: none; }
}