body { font-family: system-ui, -apple-system, sans-serif; max-width: 1080px; margin: 0 auto; padding: 0 16px 48px; color: #1a1a1a; }
header nav { display: flex; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid #ddd; margin-bottom: 24px; }
header nav .brand { font-weight: 700; font-size: 1.1em; }
header nav .spacer { flex: 1; }
header nav .user { color: #555; font-size: 0.9em; }
.banner { padding: 8px 12px; margin: 8px 0; border-radius: 4px; }
.banner.warn { background: #fff3cd; border: 1px solid #e0c36a; }
table { border-collapse: collapse; width: 100%; margin: 12px 0; }
th, td { border: 1px solid #ddd; padding: 8px 10px; text-align: left; font-size: 0.93em; }
th { background: #f5f5f5; }
code { background: #f4f4f4; padding: 1px 5px; border-radius: 3px; font-size: 0.9em; }
.btn { display: inline-block; background: #1a73e8; color: #fff; padding: 8px 16px; border-radius: 4px; text-decoration: none; border: none; cursor: pointer; font-size: 0.95em; }
.btn.small { padding: 4px 10px; font-size: 0.85em; }
button { background: #1a73e8; color: #fff; padding: 8px 16px; border-radius: 4px; border: none; cursor: pointer; }
button.danger { background: #c5221f; }
.pill { display: inline-block; padding: 2px 10px; border-radius: 12px; font-size: 0.82em; background: #e8e8e8; }
.pill.ok, .pill.connected { background: #d3f0d3; }
.pill.failed { background: #f6d2d2; }
.pill.running { background: #fff3cd; }
.pill.missing { background: #f6d2d2; }
.srcs .on { background: #e3f2e3; border: 1px solid #9ccc9c; border-radius: 3px; padding: 1px 6px; font-size: 0.85em; }
form label { display: block; margin: 10px 0; }
form input[type=text], form input:not([type]) { width: 100%; max-width: 560px; padding: 6px 8px; }
form input[name] { width: 100%; max-width: 560px; padding: 6px 8px; box-sizing: border-box; }
label.chk { display: block; margin: 6px 0; }
fieldset { border: 1px solid #ddd; border-radius: 4px; max-width: 580px; margin: 12px 0; }
pre.log { background: #111; color: #ddd; padding: 12px; border-radius: 4px; overflow: auto; max-height: 70vh; font-size: 0.82em; }
dl.kv dt { font-weight: 600; margin-top: 8px; }
dl.kv dd { margin: 2px 0 8px; }
h2.danger { color: #c5221f; margin-top: 32px; }
