*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px}
body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#f8fafc;color:#0f172a;line-height:1.5;font-size:1rem}
.container{width:90%;max-width:1200px;margin:0 auto;padding:0 1rem}
.card{background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.03);margin-bottom:1rem}
.card h1,.card h2,.card h3{margin-bottom:0.5rem;font-weight:600}
.card p{color:#6b7280;margin-bottom:0.8rem}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1rem 0}
.btn{display:inline-block;background:#3b82f6;color:#fff;padding:0.5rem 1rem;border-radius:2rem;text-decoration:none;font-weight:500;font-size:0.875rem;transition:background 0.2s;border:none;cursor:pointer}
.btn:hover{background:#2563eb}
.btn-danger{background:#ef4444}
.btn-danger:hover{background:#dc2626}
table{width:100%;border-collapse:collapse}
th,td{padding:12px;text-align:left;border-bottom:1px solid #e5e7eb;word-break:break-word;white-space:normal}
th{background:#f1f5f9;font-weight:600}
input,select,textarea{width:100%;padding:0.5rem;border:1px solid #ccc;border-radius:0.5rem;font-size:1rem}
label{font-weight:500;margin-top:0.5rem;display:block}
@media (max-width: 768px) {
    html { font-size: 20px; }  /* 后台保存时会覆盖此数值 */
    body { padding: 0; margin: 0; }
    .container { width: 100%; padding: 0 0.8rem; }
    .card-grid { grid-template-columns: 1fr; gap: 0.8rem; }
    .card { padding: 0.8rem; }
    .card p { font-size: 0.95rem; }
    .btn { font-size: 0.9rem; padding: 0.4rem 0.9rem; }
    th, td { font-size: 0.85rem; padding: 8px; }
}