:root { color-scheme: light; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin:0; padding:0; }
.container { max-width: 1100px; margin: 0 auto; padding: 16px; }
.header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 12px 16px; border-bottom: 1px solid #e5e5e5; position: sticky; top: 0; background: #fff; z-index: 10; }
.brand { font-weight: 700; letter-spacing: .2px; }
.nav a { margin-left: 12px; text-decoration:none; color:#111; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.card { border: 1px solid #e5e5e5; border-radius: 12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; min-height: 320px; }
.card .img { height: 150px; background: #f2f2f2; display:flex; align-items:center; justify-content:center; font-size: 13px; color:#666; }
.card img { width:100%; height:100%; object-fit:cover; display:block; }
.card .body { padding: 12px; display:flex; flex-direction:column; gap: 8px; flex:1; }
.card h3 { margin:0; font-size: 16px; }
.card p { margin:0; color:#444; font-size: 14px; line-height: 1.35; }
.btn { display:inline-block; padding: 10px 12px; border-radius: 10px; border: 1px solid #ddd; text-decoration:none; color:#111; background:#fff; }
.btn.primary { border-color:#111; }
.badge { font-size: 12px; border: 1px solid #ddd; padding: 3px 8px; border-radius: 999px; color:#333; }
.footer { border-top: 1px solid #e5e5e5; padding: 18px; color:#666; font-size: 13px; }

.form-row { display:flex; flex-direction:column; gap:6px; margin: 10px 0; }
input[type=text], input[type=email], input[type=password], textarea, select, input[type=datetime-local] {
  padding: 10px 10px; border-radius: 10px; border: 1px solid #ddd; font-size: 14px;
}
textarea { min-height: 120px; }
table { width:100%; border-collapse: collapse; }
th, td { text-align:left; padding: 10px; border-bottom: 1px solid #eee; font-size: 14px; }
.small { font-size: 12px; color:#666; }
.notice { padding: 10px 12px; border: 1px solid #eee; background: #fafafa; border-radius: 10px; }
.error { padding: 10px 12px; border: 1px solid #f3c9c9; background: #fff5f5; border-radius: 10px; color: #8a1f1f; }
.success { padding: 10px 12px; border: 1px solid #c9f3d5; background: #f5fff7; border-radius: 10px; color: #1f8a41; }
