:root{--bg:#0f1115;--panel:#181b22;--panel-2:#20242d;--border:#2c313c;--text:#e6e9ef;--muted:#9aa3b2;--accent:#4f8cff;--ok:#2ecc71;--warn:#f5a623;--danger:#ff5d5d;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.console{max-width:820px;margin:0 auto;padding:32px 20px 80px}.console h1{font-size:20px;margin:0 0 4px}.console .sub{color:var(--muted);font-size:13px;margin:0 0 24px}.composer{display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}.composer textarea{width:100%;min-height:80px;resize:vertical;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit}.composer .row{display:flex;gap:10px;align-items:center;justify-content:space-between}.composer input{padding:8px 10px;width:180px}.composer input,button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;font:inherit}button{padding:8px 14px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.approve{background:var(--ok);border-color:var(--ok);color:#06281a}button.reject{background:transparent;border-color:var(--danger);color:var(--danger)}.status{color:var(--muted);font-size:13px;margin:16px 2px}.status.error{color:var(--danger)}.card{margin-top:18px;background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.card header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.card .tool{font-family:var(--mono);font-size:13px;color:var(--accent)}.card .badge{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.card .body{padding:16px;display:flex;flex-direction:column;gap:14px}.card .rationale{font-size:14px}.card .label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.card pre,.card textarea.args{font-family:var(--mono);font-size:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text);width:100%}.card textarea.args{min-height:120px;resize:vertical}.card .action{display:flex;flex-direction:column;gap:8px}.card .kv{display:flex;gap:8px;font-size:13px}.card .kv .k{color:var(--muted);min-width:90px}.card .kv .v{font-family:var(--mono)}.card .muted{color:var(--muted);font-size:13px}.card table.lines{width:100%;border-collapse:collapse;font-size:13px}.card table.lines td,.card table.lines th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}.card table.lines th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:500}.card table.lines .num{text-align:right;font-family:var(--mono)}.card table.lines tfoot td{font-weight:600;border-bottom:none}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:2px 8px}.card .actions{display:flex;gap:10px;padding:14px 16px}.card .actions,.outcome{border-top:1px solid var(--border)}.outcome{padding:12px 16px;font-size:13px}.outcome.ok{color:var(--ok)}.outcome.fail{color:var(--danger)}.outcome .ref{font-family:var(--mono)}.trail{padding:14px 16px;border-top:1px solid var(--border)}.timeline{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.timeline .event{display:flex;align-items:baseline;gap:8px;font-size:13px}.timeline .dot{width:8px;height:8px;border-radius:999px;background:var(--muted);flex:none;align-self:center}.timeline .event.approved .dot,.timeline .event.executed .dot{background:var(--ok)}.timeline .event.failed .dot,.timeline .event.rejected .dot{background:var(--danger)}.timeline .event.edited .dot{background:var(--warn)}.timeline .event-detail{color:var(--muted);font-family:var(--mono);font-size:12px}.card table.diff{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}.card table.diff td,.card table.diff th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top;font-family:var(--mono)}.card table.diff th{color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.card table.diff .field{color:var(--text)}.card table.diff .before{color:var(--muted);text-decoration:line-through}.card table.diff .after{color:var(--ok)}.card table.diff tr.added .before{text-decoration:none}.card table.diff tr.removed .after{color:var(--danger)}