body{background:#0d1220;color:#dce3f0;font:15px/1.5 system-ui, sans-serif;margin:0}
a{color:#7fb4ff}
header.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #1f2739}
.brand{font-weight:700;text-decoration:none;color:#dce3f0}
main{padding:20px;max-width:1100px;margin:0 auto}
form.logout-form,form.snooze-form{display:inline}
button{background:#1f2739;color:#dce3f0;border:1px solid #303a52;border-radius:6px;padding:6px 10px;cursor:pointer}
button:hover{background:#2a3450}
.login-form{display:flex;flex-direction:column;gap:10px;max-width:320px}
.login-form input{padding:8px;border-radius:6px;border:1px solid #303a52;background:#151a2b;color:#dce3f0}
.error{color:#ff8a9b}
.banner{background:#d04a5e;color:#fff;padding:10px 14px;border-radius:8px}
.grid{display:flex;flex-wrap:wrap}
.tile{border-radius:10px;padding:14px;margin:8px;display:inline-block;min-width:220px;vertical-align:top}
.up{background:#12351f}
.down{background:#4a1420}
.unknown,.disabled{background:#252b3a;opacity:.7}
.snoozed{background:#4a3a14}
.tile-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tile-head a{font-weight:600;text-decoration:none}
.badge{font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.8}
.meta{font-size:13px;opacity:.85;margin:4px 0}
.failing{font-size:13px;color:#ff9fae;margin:4px 0}
.history{margin:8px 0}
.h{display:inline-block;width:4px;height:14px;margin-right:1px}
.h.ok{background:#3fa66a}
.h.bad{background:#d04a5e}
.snooze-form{margin:8px 0;display:flex;gap:4px;flex-wrap:wrap}
.links{font-size:13px;opacity:.85}
.footnote{margin-top:24px;font-size:13px;opacity:.7}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{padding:6px 10px;border-bottom:1px solid #1f2739;text-align:left;white-space:nowrap}
tr.row-bad{color:#ff9fae}
pre.raw{background:#151a2b;border:1px solid #1f2739;border-radius:8px;padding:12px;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
