:root{
  --bg:#0f1115;
  --panel:#0b0d12;
  --border:#22283a;
  --text:#e7ecff;
  --muted:rgba(231,236,255,.7);
  --btn:#1d2233;
  --btn2:#262c3f;
  --danger:#ff5d5d;
  --ok:#48e08a;
  --warn:#ffd36e;
  --accent:#697dff;
  font-synthesis-weight:none;
  text-rendering:optimizeLegibility;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{display:grid;grid-template-columns:300px 1fr 360px;height:100vh}
.left,.right{background:var(--panel);overflow:auto}
.center{background:var(--bg);overflow:auto}
.panel{border-right:1px solid var(--border)}
.right{border-left:1px solid var(--border)}
.hdr{padding:14px;border-bottom:1px solid var(--border)}
.hdr .title{font-weight:800}
.row{display:flex;gap:10px;align-items:center}
.gap8{gap:8px}
.gap12{gap:12px}
.mt8{margin-top:8px}
.mt10{margin-top:10px}
.mt12{margin-top:12px}
.mt14{margin-top:14px}
.mt16{margin-top:16px}
.mb8{margin-bottom:8px}
.mb10{margin-bottom:10px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.03);font-size:12px;color:var(--muted)}
.input,.select,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0f1220;color:var(--text);outline:none}
textarea{min-height:110px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.35}
.btn{cursor:pointer;border:1px solid var(--border);background:var(--btn);color:var(--text);padding:10px 12px;border-radius:12px}
.btn:hover{background:var(--btn2)}
.btn.primary{background:rgba(105,125,255,.2);border-color:rgba(105,125,255,.5)}
.btn.primary:hover{background:rgba(105,125,255,.3)}
.btn.danger{background:rgba(255,93,93,.12);border-color:rgba(255,93,93,.35)}
.btn.danger:hover{background:rgba(255,93,93,.18)}
.tabs{padding:10px}
.tabbtn{width:100%;text-align:left;margin-bottom:8px}
.card{padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}
.grid{display:grid;gap:10px}
.kv{display:grid;grid-template-columns:140px 1fr;gap:8px;font-size:13px}
.small{font-size:12px;color:var(--muted)}
.err{color:var(--danger);font-size:13px}
.ok{color:var(--ok);font-size:13px}
.warn{color:var(--warn);font-size:13px}
.list{display:grid;gap:8px;padding:10px}
.item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:16px;background:#0f1220}
.item:hover{background:#121735}
.avatar{width:34px;height:34px;border-radius:999px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}
.hr{height:1px;background:var(--border);margin:12px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.fieldRow{display:grid;grid-template-columns:1fr 1fr 110px 44px;gap:8px;align-items:start}
.pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.03);font-size:12px;color:var(--muted)}
.pre{white-space:pre-wrap;word-break:break-word;background:#0f1220;border:1px solid var(--border);border-radius:12px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}
