:root{--bg:#f6f5f1;--fg:#1d1d1b;--muted:#6b6a65;--panel:#fffdf8;--line:#dcd9d0;--accent:#2b5d8c;--ok:#1f7a4d;--bad:#a83a2a;--warn:#9a6b00;--mono:ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17181a;--fg:#ece9e1;--muted:#9a978e;--panel:#1f2124;--line:#34373b;--accent:#7aa7d6;--ok:#5fc48f;--bad:#e0715f;--warn:#d8ae3c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:14px/1.45 system-ui,sans-serif}a{color:var(--accent)}h1{margin:0 0 .5rem;font-size:1.4rem}h2{margin:1.2rem 0 .4rem;font-size:1rem}code,.mono{font-family:var(--mono)}.small{font-size:.82rem}.muted{color:var(--muted)}.bad-text{color:var(--bad)}.pre{white-space:pre-wrap;word-break:break-word}.shell{grid-template-columns:180px 1fr;min-height:100vh;display:grid}nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;gap:.4rem;height:100vh;padding:1rem;display:flex;position:sticky;top:0}nav a{color:var(--fg);border-radius:6px;padding:.3rem .5rem;text-decoration:none}nav a.active,nav a[aria-current=page]{background:var(--bg);color:var(--accent)}nav .brand{margin-bottom:.6rem;font-weight:600}nav .spacer{flex:1}main{min-width:0;max-width:1400px;padding:1.2rem 1.5rem 3rem}@media (width<=800px){.shell{grid-template-columns:1fr}nav{flex-flow:wrap;height:auto;position:static}}section{margin-bottom:1.2rem}.cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem}.card h2{margin-top:0}.scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.35rem .5rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.badge{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.05rem .45rem;font-size:.78rem;display:inline-block}.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.bad{color:var(--bad);border-color:var(--bad)}.badge.warn{color:var(--warn);border-color:var(--warn)}.row{align-items:flex-end;gap:.8rem;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between;align-items:center}.field{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.82rem;display:flex}.field.grow{flex:1;min-width:240px}input,select,textarea,button{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.35rem .5rem}textarea{width:100%;font-family:var(--mono);font-size:.82rem}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none;padding:.35rem .2rem}.json{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.6rem;font-size:.8rem;overflow-x:auto}.error{color:var(--bad);border:1px solid var(--bad);white-space:pre-wrap;border-radius:6px;margin:.5rem 0;padding:.5rem .7rem}.kv{grid-template-columns:max-content 1fr;gap:.15rem .8rem;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.recipe{margin-top:.5rem}.logs{font-family:var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:6px;max-height:420px;padding:.5rem;font-size:.8rem;overflow:auto}.log.error{color:var(--bad)}.log.warn{color:var(--warn)}details>summary{cursor:pointer;margin:.4rem 0}.login{place-items:center;min-height:100vh;display:grid}.login form{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.8rem;width:min(360px,90vw);padding:1.5rem;display:flex}.tree{margin:0;padding-left:1.2rem}details.card>summary{margin:0}details.card[open]>summary{margin-bottom:.5rem}.grid2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem 1rem;display:grid}
