
:root{--bg:#0b111a;--panel:#121b27;--text:#e6edf3;--muted:#9fb3c8;--accent:#8ab4f8;--ok:#34d399;--bad:#ef4444;--warn:#f59e0b;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--bg);color:var(--text);}
header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #1f2b3a;background:#0d1520;position:sticky;top:0;z-index:2}
h1{font-size:18px;margin:0}
main{max-width:980px;margin:24px auto;padding:0 16px}
.panel{background:var(--panel);padding:16px 16px;border:1px solid #1f2b3a;border-radius:12px;margin-bottom:16px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0}
label{display:flex;gap:6px;align-items:center;color:var(--muted)}
input,select,textarea,button{background:#0e1723;border:1px solid #233044;color:var(--text);padding:8px 10px;border-radius:8px;font-size:14px}
textarea{width:100%;resize:vertical}
button{cursor:pointer}
button:hover{border-color:#2f4160}
.hint{color:var(--muted)}
.badge{padding:4px 8px;border-radius:999px;background:#233044;color:#cbd5e1;font-size:12px}
.badge.ok{background:rgba(52,211,153,.15);color:var(--ok)}
.badge.bad{background:rgba(239,68,68,.15);color:var(--bad)}
.table{width:100%;overflow:auto;border:1px solid #1f2b3a;border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:8px 10px;border-bottom:1px solid #1f2b3a;white-space:nowrap}
th{position:sticky;top:0;background:#0f1926}
.code{background:#0e1723;border:1px solid #233044;border-radius:8px;padding:12px;max-height:240px;overflow:auto}
.env input{width:360px}
