:root{--bg: #0f1115;--panel: #171a21;--border: #262b36;--text: #e7e9ee;--muted: #8a90a0;--ok: #35c46a;--warn: #e7b23f;--fail: #e5484d;--accent: #5b8def;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:1100px;margin:0 auto;padding:0 24px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--border);margin-bottom:24px}.topbar h1{font-size:18px;margin:0}.topbar nav a{margin-left:20px;color:var(--muted);text-decoration:none;font-size:14px}.topbar nav a.active,.topbar nav a:hover{color:var(--text)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 20px;margin-bottom:20px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:#35c46a26;color:var(--ok)}.badge.warn{background:#e7b23f26;color:var(--warn)}.badge.fail{background:#e5484d26;color:var(--fail)}.badge.running{background:#5b8def26;color:var(--accent)}.muted{color:var(--muted)}form.inline{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}form.inline label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:4px}input,select{background:#10131a;border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:6px;font-size:14px}button{background:var(--accent);border:none;color:#fff;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:14px}button.danger{background:var(--fail)}button:hover{opacity:.9}.storage-bar{height:10px;border-radius:6px;background:#10131a;overflow:hidden;margin-top:8px}.storage-bar-fill{height:100%;background:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-form{width:320px;display:flex;flex-direction:column;gap:14px}.login-form h2{margin:0 0 4px;font-size:18px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login-form input{padding:8px 10px}.error{color:var(--fail);font-size:13px;margin:0}.topbar .user-info{display:flex;align-items:center;gap:12px;margin-left:20px}.topbar .user-info span{color:var(--muted);font-size:13px}.topbar .user-info button{padding:5px 10px;font-size:13px}.markdown-doc{line-height:1.6;font-size:14px}.markdown-doc h1,.markdown-doc h2,.markdown-doc h3{margin-top:28px;margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:6px}.markdown-doc h1:first-child,.markdown-doc h2:first-child{margin-top:0}.markdown-doc p{margin:12px 0}.markdown-doc ul,.markdown-doc ol{margin:12px 0;padding-left:24px}.markdown-doc li{margin:4px 0}.markdown-doc a{color:var(--accent)}.markdown-doc code{background:#10131a;border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:13px}.markdown-doc pre{background:#10131a;border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto}.markdown-doc pre code{border:none;padding:0;background:none}.markdown-doc blockquote{margin:12px 0;padding:4px 14px;border-left:3px solid var(--accent);color:var(--muted)}.markdown-doc table{margin:12px 0}.markdown-doc hr{border:none;border-top:1px solid var(--border);margin:20px 0}
