:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
body { margin: 0; background: #f4f4f5; color: #18181b; }
header { background: #b20f03; color: #fff; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; }
header h1 { font-size: 18px; margin: 0; letter-spacing: .04em; }
header .who { font-size: 12px; opacity: .85; }
main { max-width: 960px; margin: 20px auto; padding: 0 16px; }
.card { background: #fff; border: 1px solid #e4e4e7; border-radius: 8px; padding: 14px 16px; margin-bottom: 16px; }
.card h2 { font-size: 14px; margin: 0 0 10px; text-transform: uppercase; letter-spacing: .05em; color: #71717a; }
.row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
input, select, button { font: inherit; padding: 6px 8px; border: 1px solid #d4d4d8; border-radius: 6px; }
input[type=text], input[type=url] { flex: 1; min-width: 180px; }
button { background: #18181b; color: #fff; border-color: #18181b; cursor: pointer; }
button.secondary { background: #fff; color: #18181b; }
button.danger { background: #b20f03; border-color: #b20f03; }
button:disabled { opacity: .5; cursor: default; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 8px 6px; border-bottom: 1px solid #f0f0f1; font-size: 14px; vertical-align: top; }
th { font-size: 11px; text-transform: uppercase; color: #a1a1aa; }
.tag { display: inline-block; font-size: 11px; padding: 1px 6px; border-radius: 999px; background: #e4e4e7; margin-left: 6px; }
.feat { background: #fde68a; }
.p1 { color: #b20f03; font-weight: 600; }
a { color: #1d4ed8; text-decoration: none; }
#msg { padding: 8px 12px; border-radius: 6px; margin-bottom: 12px; display: none; font-size: 14px; }
#msg.ok { background: #dcfce7; color: #166534; display: block; }
#msg.err { background: #fee2e2; color: #991b1b; display: block; }
.muted { color: #a1a1aa; font-size: 12px; }
