:root{--bg:#f6f6f4;--fg:#1c1c1a;--card:#fff;--line:#d9d9d4;--mut:#6b6b64;--acc:#b8860b;--ok:#1f7a3d;--warn:#a86400;--bad:#b3261e;--info:#2456a6}
@media (prefers-color-scheme:dark){:root{--bg:#161614;--fg:#ecece8;--card:#1f1f1c;--line:#34342f;--mut:#9a9a92;--acc:#e0b04a;--ok:#5cc07a;--warn:#e0a040;--bad:#f07a72;--info:#7aa7f0}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--info)}header{background:var(--card);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:center;padding:.6rem 1rem}
header .brand{font-weight:700;color:var(--acc);text-decoration:none;margin-right:.6rem}header nav{display:flex;flex-wrap:wrap;gap:.2rem 1rem;flex:1}header nav a{color:var(--fg);text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}
header nav a:hover{border-color:var(--acc)}main{max-width:72rem;margin:1.2rem auto;padding:0 1rem}
h1{font-size:1.4rem;margin:.2rem 0 1rem}h2{font-size:1.1rem;margin:1.6rem 0 .6rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem;margin:.8rem 0}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
tr:last-child td{border-bottom:0}td.num{text-align:right;font-variant-numeric:tabular-nums}.mut{color:var(--mut)}.nowrap{white-space:nowrap}
.badge{display:inline-block;padding:.05rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid currentColor}
.b-ok{color:var(--ok)}.b-warn{color:var(--warn)}.b-failed,.b-overdue,.b-error{color:var(--bad)}.b-none,.b-info,.b-debug{color:var(--mut)}.b-running{color:var(--info)}
.flash{padding:.6rem .8rem;border-radius:6px;margin:.6rem 0;border:1px solid}.flash.ok{color:var(--ok)}.flash.error{color:var(--bad)}
label{display:block;margin:.5rem 0 .15rem;font-size:.85rem;color:var(--mut)}input[type=text],input[type=password],input[type=number],input[type=time],input[type=date],select,textarea{width:100%;max-width:34rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--fg);font:inherit}
textarea{min-height:5rem;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}input.short{max-width:8rem}
.row{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}.row>div{min-width:9rem}.chk{display:inline-flex;align-items:center;gap:.35rem;margin:.2rem .9rem .2rem 0;color:var(--fg);font-size:.95rem}
button,.btn{background:var(--acc);color:#111;border:0;border-radius:6px;padding:.45rem .9rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:transparent;color:var(--fg);border:1px solid var(--line)}button.danger{background:var(--bad);color:#fff}
form.inline{display:inline}pre,code{font-family:ui-monospace,Menlo,monospace;font-size:.85rem}pre{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.7rem;overflow:auto;max-height:22rem;white-space:pre-wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem}.stat b{font-size:1.5rem;display:block}
.token{font:700 1.4rem ui-monospace,Menlo,monospace;letter-spacing:.06em;background:var(--bg);border:2px dashed var(--acc);padding:.7rem 1rem;border-radius:8px;word-break:break-all}
details{margin:.5rem 0}summary{cursor:pointer;color:var(--info)}.login{max-width:24rem;margin:4rem auto}.warnbox{border:1px solid var(--warn);color:var(--warn);padding:.6rem .8rem;border-radius:6px;margin:.6rem 0}
@media (max-width:640px){th:nth-child(n+5),td:nth-child(n+5){display:none}}
