
:root{
  --bg:#0b1020;
  --card:#121a2e;
  --text:#e6e6f0;
  --muted:#9aa3b2;
  --accent:#7c3aed;
  --gold:#FFD700;
  --blue:#00BFFF;
  --rowUp:#102e18;
  --rowDown:#2e1212;
  --border:#22304a;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:var(--text);
}
.app-header{
  padding:16px 20px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,#0c1326 0%, #0b1020 100%);
}
.app-header h1{margin:0 0 4px 0;font-weight:700;letter-spacing:0.4px}
.subtitle{margin:0;color:var(--muted)}
.controls{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  padding:16px 20px;
}
.control-row{display:flex;flex-direction:column;gap:6px;background:var(--card);padding:10px;border:1px solid var(--border);border-radius:14px}
.control-row label{font-size:12px;color:var(--muted)}
.control-row input,.control-row select,.control-row button{
  padding:10px;border-radius:10px;border:1px solid var(--border);background:#0e162a;color:var(--text)
}
.control-row.buttons{grid-column:1/-1;display:flex;flex-direction:row;gap:10px;align-items:center}
.control-row button{cursor:pointer;border:1px solid #394867}
.control-row button#fetchBtn{background:var(--accent);border:none}
.control-row button.secondary{background:#1a233b}
.status{color:var(--muted)}
.summary{padding:8px 20px}
.summary h2, .table-wrap h2{margin:6px 0 8px 0}
.summary-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
}
.card h3{margin:0 0 6px 0;font-size:14px;color:var(--muted)}
.kv{display:flex;justify-content:space-between;margin:3px 0}
.kv span.value{font-variant-numeric: tabular-nums}
.table-wrap{padding:0 20px 40px}
.scroll-x{overflow:auto;border:1px solid var(--border);border-radius:12px}
table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
thead th, tbody td{
  border-bottom:1px solid var(--border);
  border-right:1px solid var(--border);
  padding:8px 10px;
  font-variant-numeric: tabular-nums;
}
thead th{position:sticky;top:0;background:#0f1730;z-index:2}
tbody tr:nth-child(even){background:rgba(255,255,255,0.01)}
.timecell{white-space:nowrap}
.pricecell{font-weight:600}
.text-gold{color:var(--gold)}
.text-blue{color:var(--blue)}
.row-up{background:var(--rowUp)!important}
.row-down{background:var(--rowDown)!important}
.app-footer{padding:20px;color:var(--muted);border-top:1px solid var(--border)}
.group-head{
  background:#0b132a;
  color:#cdd3e1;
  font-weight:700;
  text-align:center;
  border-right:2px solid #2a3a5a;
}
.small{font-size:12px;color:var(--muted)}
