/* Cards */
.card{
    background:#fff;border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(0,0,0,0.12)}

/* Article list card specifics */
.article-card{display:flex;flex-direction:column;height:100%}
.article-image{width:100%;height:180px;object-fit:cover;display:block}
.article-content{padding:18px}
.article-title{font-size:1.2rem;margin-bottom:8px;color:var(--dark)}
.article-title a{text-decoration:none;color:inherit}
.article-title a:hover{color:var(--primary)}
.article-summary{color:var(--muted);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Meta */
.article-meta{display:flex;gap:12px;color:#888;font-size:.9rem;flex-wrap:wrap}
.meta-item{display:flex;align-items:center;gap:6px}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin:36px 0;flex-wrap:wrap}
.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:6px;border:1px solid #e7e7e7;background:#fff;color:#333;text-decoration:none;transition:all .18s}
.page-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.page-link.current{background:var(--primary);color:#fff;border-color:var(--primary)}
.page-link.disabled{opacity:.45;cursor:not-allowed}

/* Tables */
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--card-shadow)}
.table th,.table td{padding:12px 15px;text-align:left;border-bottom:1px solid #f1f1f1}
.table th{background:#fbfbfb;font-weight:600}

/* Forms */
/* 表单样式 */
.form-container {
    max-width: 500px;
    margin: 0 auto;
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.form-control {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #3498db;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s;
    text-decoration: none;
}

.btn:hover {
    background-color: #2980b9;
}

.btn-danger {
    background-color: #e74c3c;
}

.btn-danger:hover {
    background-color: #c0392b;
}

.btn-success {
    background-color: #2ecc71;
}

.btn-success:hover {
    background-color: #27ae60;
}

/* Small helpers */
.kicker{color:var(--muted);font-size:.9rem;margin-bottom:12px}
.card-footer{padding:12px 18px;border-top:1px solid #f5f5f5;background:#fafafa}
