/* Green Bag — AutoTrade Interface */

:root {
  --gb-bg:       #0d1117;
  --gb-card:     #161b22;
  --gb-border:   #30363d;
  --gb-green:    #3fb950;
  --gb-muted:    #8b949e;
}

body {
  background-color: var(--gb-bg);
  color: #e6edf3;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.875rem;
}

/* ── Navbar ──────────────────────────────────────────────────────────────── */
.gb-navbar {
  background-color: var(--gb-card) !important;
  border-bottom: 1px solid var(--gb-border);
  box-shadow: 0 1px 8px rgba(0,0,0,.4);
}

/* ── Cards ───────────────────────────────────────────────────────────────── */
.gb-card, .gb-stat-card, .gb-inst-card {
  background-color: var(--gb-card);
  border-color: var(--gb-border);
  border-radius: 8px;
}

.gb-stat-card {
  transition: transform .15s;
}
.gb-stat-card:hover { transform: translateY(-2px); }

.gb-inst-card .card-header {
  background-color: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--gb-border);
  font-size: .8rem;
}

/* ── Table ───────────────────────────────────────────────────────────────── */
.gb-table thead th {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  background-color: rgba(255,255,255,.04);
  border-color: var(--gb-border);
  white-space: nowrap;
}

.gb-table td {
  border-color: var(--gb-border);
  vertical-align: middle;
}

.table-dark { background-color: var(--gb-card); }
.table-hover > tbody > tr:hover > td { background-color: rgba(255,255,255,.04); }

/* ── Router badge ─────────────────────────────────────────────────────────── */
#router-badge.running  { background-color: rgba(63,185,80,.2); color: var(--gb-green); border: 1px solid var(--gb-green); }
#router-badge.stopped  { background-color: rgba(248,81,73,.2); color: #f85149;         border: 1px solid #f85149; }
#router-badge.loading  { background-color: rgba(139,148,158,.15); color: var(--gb-muted); border: 1px solid var(--gb-border); }

/* ── Scrollbar ───────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--gb-bg); }
::-webkit-scrollbar-thumb { background: var(--gb-border); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #484f58; }

/* ── Log viewer ──────────────────────────────────────────────────────────── */
.gb-log-box {
  height: 540px;
  overflow-y: auto;
  background-color: #0d1117;
  font-size: 0.72rem;
  line-height: 1.5;
  color: #c9d1d9;
}

.gb-log-line {
  white-space: pre-wrap;
  word-break: break-all;
  padding: 1px 0;
  border-bottom: 1px solid rgba(255,255,255,.03);
}

.gb-log-line:hover { background: rgba(255,255,255,.04); }

/* colour key words */
.gb-log-line:has-text(ERROR)   { color: #f85149; }
.gb-log-line:has-text(WARNING) { color: #e3b341; }
.gb-log-line:has-text(INFO)    { color: #c9d1d9; }

/* ── Form inputs ─────────────────────────────────────────────────────────── */
.gb-input {
  background-color: #0d1117;
  border-color: var(--gb-border);
  color: #e6edf3;
}
.gb-input:focus {
  background-color: #161b22;
  border-color: var(--gb-green);
  color: #e6edf3;
  box-shadow: 0 0 0 2px rgba(63,185,80,.25);
}

/* ── Misc ────────────────────────────────────────────────────────────────── */
code { color: var(--gb-green); background: rgba(63,185,80,.1); padding: 2px 6px; border-radius: 4px; }
footer { border-color: var(--gb-border) !important; color: var(--gb-muted); font-size: .75rem; }
canvas { display: block; }
