*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0f1115;color:#d7dae0;margin:0;padding:20px;font-size:14px}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}h1{font-size:20px;margin:0}h2,h3{margin:0 0 10px}
.card{background:#171a21;border:1px solid #262b36;border-radius:10px;padding:16px;margin-bottom:16px}.narrow{max-width:360px;margin:12vh auto}.wide{max-width:900px;margin:30px auto;max-height:90vh;overflow:auto}
input,select,textarea{background:#0f1115;color:#d7dae0;border:1px solid #333a49;border-radius:6px;padding:7px 9px;font:inherit}textarea{width:100%;min-height:130px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}
label{display:block;margin:8px 0}label input{display:block;width:100%;margin-top:4px}
button{background:#232938;color:#d7dae0;border:1px solid #333a49;border-radius:6px;padding:7px 12px;cursor:pointer;font:inherit}button:hover{background:#2c3447}button.primary{background:#2f6feb;border-color:#2f6feb;color:#fff}button.danger{background:#5b1d24;border-color:#7a2832}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.small{width:80px}.hidden{display:none!important}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid #262b36;vertical-align:top}th{color:#8b93a7;font-weight:600}
code{background:#0f1115;padding:2px 5px;border-radius:4px;font-size:12px;word-break:break-all}.muted{color:#8b93a7}.err{color:#ff7b7b;min-height:1em}.ok{color:#5fd68a}.warn{color:#e3b341}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);overflow:auto;padding:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pill{display:inline-block;padding:1px 7px;border-radius:99px;background:#232938;font-size:12px;margin-right:4px}
