/* TASK-045 即時行情視覺 */
.rt-up { color: #dc2626; font-weight: 600; }       /* 台股紅漲 */
.rt-down { color: #059669; font-weight: 600; }     /* 台股綠跌 */
.rt-flat { color: #6b7280; }
.rt-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4em 0.9em;
  margin: 0.5em 0 1em;
  padding: 0.5em 0.8em;
  background: #f0f9ff;
  border-left: 3px solid #0284c7;
  border-radius: 4px;
  font-size: 0.92em;
  color: #075985;
}
.rt-bar [data-rt-status][data-rt-status-kind="err"] { color: #b91c1c; }
.rt-bar [data-rt-status][data-rt-status-kind="closed"] { color: #6b7280; }
.rt-bar [data-rt-status][data-rt-status-kind="live"] { color: #047857; font-weight: 600; }
.rt-table { width: 100%; border-collapse: collapse; font-size: 0.92em; }
.rt-table th, .rt-table td { padding: 0.35em 0.6em; }
.rt-table th { background: #f3f4f6; text-align: left; font-weight: 600; color: #374151; }
.rt-table tr + tr td { border-top: 1px solid #f3f4f6; }
.rt-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.rt-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.6em;
}
.rt-card {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0.6em 0.8em;
  background: white;
}
.rt-card .head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.3em;
}
.rt-card .head a { text-decoration: none; color: #2563eb; font-weight: 600; }
.rt-card .price { font-size: 1.25em; font-variant-numeric: tabular-nums; }
.rt-card .meta { color: #6b7280; font-size: 0.85em; margin-top: 0.2em; }
