:root {
    --bg: #0f1419;
    --panel: #161b22;
    --border: rgba(255,255,255,0.1);
    --text: #e8eaed;
    --dim: #8b949e;
    --live: #3fb950;
    --dead: #f85149;
    --err: #ff6b6b;
    --accent: #58a6ff;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: Consolas, 'Courier New', monospace;
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    padding: 16px;
}
h1 { font-size: 18px; font-weight: 600; margin-bottom: 4px; }
.sub { color: var(--dim); font-size: 12px; margin-bottom: 12px; line-height: 1.5; }
.stats {
    display: flex; gap: 16px; flex-wrap: wrap;
    margin-bottom: 12px; font-size: 13px;
}
.stats span b { font-variant-numeric: tabular-nums; }
.stats .live b { color: var(--live); }
.stats .dead b { color: var(--dead); }
.cmd-row {
    display: flex; gap: 8px; align-items: center; margin-bottom: 8px;
}
.cmd-row label { color: var(--dim); font-size: 12px; white-space: nowrap; }
.cmd-input {
    flex: 1;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    font: inherit;
    font-size: 13px;
    padding: 8px 10px;
}
.cmd-input:focus { outline: none; border-color: var(--accent); }
.cmd-input.mass-mode { border-color: var(--live); }
textarea {
    width: 100%;
    min-height: 120px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    font: inherit;
    font-size: 13px;
    padding: 10px 12px;
    resize: vertical;
}
textarea:focus { outline: none; border-color: var(--accent); }
.actions { display: flex; gap: 10px; margin: 12px 0 16px; flex-wrap: wrap; }
button {
    font: inherit; font-size: 13px; padding: 8px 18px;
    border-radius: 6px; border: 1px solid var(--border);
    cursor: pointer; background: var(--panel); color: var(--text);
}
button.primary { background: var(--accent); border-color: var(--accent); color: #0d1117; font-weight: 600; }
button:disabled { opacity: 0.5; cursor: default; }
.columns {
    display: grid; grid-template-columns: 1fr 1fr; gap: 14px; min-height: 280px;
}
@media (max-width: 768px) { .columns { grid-template-columns: 1fr; } }
.box {
    display: flex; flex-direction: column;
    background: var(--panel); border: 1px solid var(--border);
    border-radius: 8px; overflow: hidden;
}
.box-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 12px; border-bottom: 1px solid var(--border);
    font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
}
.box.approvals .box-head { color: var(--live); }
.box.declined .box-head { color: var(--dead); }
.box-head .count { font-weight: 400; color: var(--dim); text-transform: none; letter-spacing: 0; }
.box-head button { padding: 3px 8px; font-size: 11px; }
.box-body { flex: 1; overflow-y: auto; padding: 8px 0; max-height: 50vh; }
.row {
    padding: 5px 12px; font-size: 12px; line-height: 1.45;
    word-break: break-all; border-bottom: 1px solid rgba(255,255,255,0.04);
}
.box.approvals .row .card,
.box.approvals .row .msg { color: var(--live); }
.box.approvals .row .msg { opacity: 0.9; }
.box.declined .row .card,
.box.declined .row .msg { color: var(--dead); }
.box.declined .row .msg { opacity: 0.9; }
.row .msg { margin-top: 2px; }
.empty { padding: 24px 12px; text-align: center; color: var(--dim); font-size: 12px; }
.status-line { margin-top: 12px; font-size: 12px; color: var(--dim); min-height: 1.2em; }
.status-line.running { color: var(--accent); }
.status-line.err { color: var(--err); }
