:root{
  --bg:#0f172a;
  --card:#ffffff;
  --muted:#6b7280;
  --text:#0f172a;
  --brand:#111827;
  --primary:#2563eb;
  --primary-contrast:#fff;
  --radius:12px;
}

*{box-sizing:border-box}
body{margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial; color:var(--text); background:#f5f7fb}

.container{max-width:1100px; margin:0 auto; padding:24px}

.topbar{background:#0b1020; color:#fff}
.topbar .container{display:flex; align-items:center; justify-content:space-between}
.topbar a{color:#cbd5e1; text-decoration:none; margin-left:16px}
.topbar a:hover{color:#fff}
.brand{font-weight:700}

.card{background:var(--card); border-radius:var(--radius); padding:16px; box-shadow:0 1px 2px rgba(0,0,0,.06); margin-bottom:16px}
.row{display:flex; align-items:center; gap:12px}
.row .right{margin-left:auto}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.block{display:block; margin-top:12px}

.btn{display:inline-block; padding:10px 14px; border-radius:10px; border:1px solid #d1d5db; background:#f9fafb; cursor:pointer; text-decoration:none}
.btn:hover{background:#f3f4f6}
.btn.primary{background:var(--primary); color:var(--primary-contrast); border-color:var(--primary)}
.btn.primary:hover{filter:brightness(0.95)}
.btn.btn-light{background:#1f2937; color:#fff; border-color:#1f2937}

.filelist{margin-left:10px; color:var(--muted); font-size:.9rem}

.muted{color:var(--muted)}
.small{font-size:.9rem}

.file-title{font-weight:600; margin-bottom:8px}

table.detail{width:100%; border-collapse:collapse}
table.detail th, table.detail td{padding:8px 10px; border-top:1px solid #e5e7eb}
table.detail thead th{background:#f8fafc; border-top:none}
.num{text-align:right}
.right{text-align:right}
