* {
    margin:0; padding:0; box-sizing:border-box;
    font-family: "Microsoft YaHei", "Segoe UI", sans-serif;
}
body {
    background:#f7f9fc; color:#333; line-height:1.7;
}
.wrap {
    min-height:100vh; display:flex; flex-direction:column;
}
.container {
    max-width:1000px; margin:0 auto; padding:0 15px;
}

/* 头部 */
.header {
    background:#1f2937; color:#fff; padding:20px 0;
}
.header h1 {
    font-size:24px; display:inline-block;
}
.header a {
    float:right; background:#ef4444; color:#fff;
    padding:6px 14px; border-radius:6px; text-decoration:none;
}

/* 统计 */
.stat-bar {
    background:#fff; padding:10px 15px; border-radius:8px;
    margin-bottom:20px; font-size:14px; color:#555;
}

/* 导航 */
.nav {
    display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap;
}
.nav a {
    background:#fff; padding:10px 16px; border-radius:8px;
    text-decoration:none; color:#333; box-shadow:0 1px 3px rgba(0,0,0,0.05);
}
.nav a.active {
    background:#2563eb; color:#fff;
}

/* 卡片 */
.card-box {
    display:grid; gap:20px; margin-bottom:30px;
}
.card {
    background:#fff; border-radius:12px; overflow:hidden;
    display:flex; box-shadow:0 2px 10px rgba(0,0,0,0.06);
}
.card-pic {
    width:150px; background:#f3f4f6;
}
.card-pic img {
    width:100%; height:100%; object-fit:cover;
}
.card-info {
    flex:1; padding:20px;
}
.card-info h3 {
    font-size:19px; margin-bottom:10px;
}
.meta {
    font-size:13px; color:#666; margin-bottom:12px;
    display:flex; gap:10px; align-items:center;
}
.tag {
    background:#eef2ff; color:#2563eb;
    padding:2px 8px; border-radius:4px;
}
.intro {
    color:#444; margin-bottom:12px; font-size:14px;
}
.log {
    background:#f9fafb; padding:10px; border-radius:6px;
    font-size:13px; color:#333; margin-bottom:10px;
}
.md5 {
    font-family:consolas; font-size:12px; color:#555;
    margin-bottom:10px; word-break:break-all;
}
.down-box {
    display:flex; justify-content:space-between; align-items:center;
}
.down-box span {
    color:#999; font-size:13px;
}

/* 按钮 */
.btn {
    background:#2563eb; color:#fff; border:none;
    padding:8px 14px; border-radius:6px; cursor:pointer;
    text-decoration:none; display:inline-block;
}
.btn-sm {
    padding:4px 10px; font-size:13px;
}
.btn-big {
    padding:10px 20px;
}
.btn.blue {
    background:#2563eb;
}
.btn.red {
    background:#ef4444;
}

/* 空 */
.empty {
    background:#fff; padding:40px; text-align:center;
    color:#999; border-radius:12px;
}

/* 登录 */
.login-wrap {
    display:grid; place-items:center; height:80vh;
}
.login {
    background:#fff; padding:30px; border-radius:12px;
    width:100%; max-width:380px; box-shadow:0 2px 20px rgba(0,0,0,0.08);
}
.login h2, .login h3 {
    text-align:center; margin-bottom:20px;
}
.tip {
    text-align:center; margin-top:10px;
}
.red {
    color:#ef4444;
}

/* 面板 */
.panel {
    background:#fff; border-radius:12px; padding:22px;
    margin-bottom:20px; box-shadow:0 2px 8px rgba(0,0,0,0.05);
}
.panel h3 {
    margin-bottom:16px; font-size:17px;
}
.form input, .form select, .form textarea {
    width:100%; margin-bottom:14px; padding:12px;
    border:1px solid #e5e7eb; border-radius:8px;
}
.form textarea {
    resize:vertical;
}
.file-item {
    margin-bottom:14px;
}

/* 表格 */
.table-wrap {
    overflow-x:auto;
}
table {
    width:100%; border-collapse:collapse;
}
th, td {
    padding:12px; text-align:left; border-bottom:1px solid #e5e7eb;
}
th {
    background:#f9fafb;
}

/* 底部 */
.footer {
    margin-top:auto; background:#1f2937; color:#ddd;
    padding:25px 0; text-align:center; font-size:14px;
}
.footer p {
    margin-bottom:6px;
}
.stat {
    font-size:12px; color:#999;
}