* { box-sizing: border-box; }
body {
    font-family: -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    margin: 0;
    background: #f5f6f8;
    color: #1a1a1a;
}
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #1f2937;
    color: white;
    padding: 12px 24px;
}
.topbar .brand { color: white; text-decoration: none; font-weight: 600; }
.topbar nav a { color: #d1d5db; text-decoration: none; margin-left: 16px; }
.topbar nav a:hover { color: white; }
.topbar .user { color: #9ca3af; margin-right: 8px; }
.container { max-width: 960px; margin: 32px auto; padding: 0 16px; }
h1 { margin-bottom: 16px; }
.card {
    background: white;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.card.narrow { max-width: 480px; }
form label { display: block; margin-bottom: 14px; font-size: 14px; color: #374151; }
form input[type=text], form input[type=password], form input[type=file] {
    display: block;
    width: 100%;
    padding: 8px 10px;
    margin-top: 4px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
}
button {
    background: #2563eb;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
}
button:hover { background: #1d4ed8; }
table.list { width: 100%; border-collapse: collapse; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
table.list th, table.list td { text-align: left; padding: 10px 14px; border-bottom: 1px solid #eee; font-size: 14px; }
table.list th { background: #f3f4f6; }
.ok { color: #16a34a; font-weight: 600; }
.warn { color: #d97706; font-weight: 600; }
.error-badge { color: #dc2626; font-weight: 600; cursor: help; }
.error { color: #dc2626; }
.warn-box { background: #fef3c7; border: 1px solid #f59e0b; padding: 12px 16px; border-radius: 6px; }
.hint { font-size: 13px; color: #6b7280; }
code.slug { font-size: 13px; background: #f3f4f6; padding: 2px 8px; border-radius: 4px; color: #6b7280; }
