:root { --border:#e6e6e6; --muted:#666; --bg:#fafafa; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin:0; background:var(--bg); color:#111; }
.wrap { max-width: 980px; margin: 28px auto; padding: 0 16px; }
.top { display:flex; justify-content:space-between; align-items:center; padding: 14px 16px; border:1px solid var(--border); border-radius:14px; background:#fff; }
.nav a { margin-left: 12px; text-decoration:none; color:#111; }
.flash { margin-top: 12px; padding: 10px 12px; border:1px solid var(--border); border-radius:12px; background:#fff; }
h1 { margin: 18px 0 8px; }
h2 { margin: 0 0 10px; font-size: 18px; }
.muted { color: var(--muted); }
.error { color: #b00020; }
.grid { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
@media (max-width: 820px) { .grid { grid-template-columns: 1fr; } }
.card { border:1px solid var(--border); border-radius:14px; background:#fff; padding: 14px 16px; }
label { display:block; margin: 10px 0; }
input[type="email"], input[type="password"] { width: 100%; padding: 10px; border:1px solid var(--border); border-radius:10px; }
input[type="file"] { display:block; margin: 10px 0; }
button { padding: 10px 12px; border:1px solid var(--border); border-radius:12px; background:#fff; cursor:pointer; }
button:hover { background:#f3f3f3; }
code { display:block; padding: 10px 12px; border:1px solid var(--border); border-radius:12px; background:#fff; overflow:auto; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { padding: 8px; border-bottom:1px solid #f1f1f1; }
.right { text-align:right; }
