/* ============================================================
   bi-dashboard.css — BI 大屏：栅格卡片、轮播/预警闪烁（跟随双主题令牌）
   ============================================================ */

.bi-screen {
  min-height: 100vh; background: radial-gradient(1200px 600px at 50% -10%, var(--panel2) 0%, var(--bg) 60%);
  padding: 20px; color: var(--text);
}
.bi-header { text-align: center; padding: 10px 0 20px; }
.bi-header h1 { font-size: 28px; font-weight: 700; letter-spacing: 6px; background: linear-gradient(90deg, var(--brand-1), var(--brand-2)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.bi-header .sub { font-size: 13px; color: var(--muted); letter-spacing: 2px; margin-top: 4px; }
.bi-header .clock { font-size: 13px; color: var(--cyan); margin-top: 6px; font-family: "SF Mono", Menlo, Consolas, monospace; }

.bi-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
.bi-card {
  background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 16px; position: relative; overflow: hidden;
}
.bi-card .bi-title { font-size: 13px; color: var(--muted); margin-bottom: 12px; letter-spacing: 1px; }
.bi-card.col-3 { grid-column: span 3; }
.bi-card.col-4 { grid-column: span 4; }
.bi-card.col-6 { grid-column: span 6; }
.bi-card.col-8 { grid-column: span 8; }
.bi-card.col-12 { grid-column: span 12; }
@media (max-width: 1100px) { .bi-card.col-3, .bi-card.col-4 { grid-column: span 6; } .bi-card.col-8 { grid-column: span 12; } }
@media (max-width: 700px) { .bi-card.col-3, .bi-card.col-4, .bi-card.col-6 { grid-column: span 12; } }

.bi-big-number { font-size: 42px; font-weight: 700; font-family: "SF Mono", Menlo, Consolas, monospace; }
.bi-big-number .unit { font-size: 14px; color: var(--muted); font-weight: 400; margin-left: 4px; }

/* 预警闪烁 */
.bi-alert {
  padding: 10px 12px; border-radius: var(--radius-md); margin-bottom: 8px;
  border: 1px solid var(--border); display: flex; align-items: center; gap: 8px; font-size: 13px;
}
.bi-alert.warn { border-color: var(--orange-border); background: var(--orange-soft); color: var(--orange); }
.bi-alert.error { border-color: var(--red-border); background: var(--red-soft); color: var(--red); }
.bi-alert.blink { animation: bi-blink 1.6s ease-in-out infinite; }
@keyframes bi-blink { 0%,100% { opacity: 1; } 50% { opacity: .55; } }

/* 迷你房态点阵 */
.bi-rooms { display: grid; grid-template-columns: repeat(auto-fill, minmax(30px, 1fr)); gap: 6px; }
.bi-room { height: 30px; border-radius: 5px; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700; cursor: default; }

/* 滚动列表 */
.bi-list { max-height: 240px; overflow-y: auto; }
.bi-list .item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.bi-list .item:last-child { border-bottom: none; }
