/* SafeProfit Pro v6 ULTIMATE Dashboard Theme */

/* KPI Cards */
.kpi-card { background:rgba(15,23,42,0.85); border:1px solid rgb(30,41,59); border-radius:0.5rem; padding:0.75rem 1rem; transition:border-color 0.2s; }
.kpi-card:hover { border-color:rgb(52,211,153,0.3); }
.kpi-label { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.05em; color:#94a3b8; }
.kpi-value { font-size:1.15rem; font-weight:600; margin-top:0.2rem; word-break:break-all; }

/* Money Flow Cards - special highlight */
.money-card { border-color:rgba(52,211,153,0.15); background:rgba(15,23,42,0.9); }
.money-card:hover { border-color:rgba(52,211,153,0.5); box-shadow:0 0 12px rgba(52,211,153,0.08); }

/* Panels */
.panel { background:rgba(15,23,42,0.7); border:1px solid rgb(30,41,59); border-radius:0.5rem; padding:1rem 1.25rem; }
.panel-title { font-size:0.95rem; font-weight:600; margin-bottom:0.75rem; color:#e2e8f0; }

/* Pills */
.pill { display:inline-block; padding:0.1rem 0.5rem; border-radius:9999px; font-size:0.7rem; font-weight:600; }
.pill.green { background:rgba(16,185,129,0.15); color:#34d399; }
.pill.emerald { background:rgba(16,185,129,0.15); color:#34d399; }
.pill.red   { background:rgba(244,63,94,0.15); color:#fb7185; }
.pill.rose  { background:rgba(244,63,94,0.15); color:#fb7185; }
.pill.amber { background:rgba(245,158,11,0.15); color:#fbbf24; }
.pill.slate { background:rgba(100,116,139,0.2); color:#cbd5e1; }
.pill.sky   { background:rgba(56,189,248,0.15); color:#7dd3fc; }
.pill.cyan  { background:rgba(6,182,212,0.15); color:#22d3ee; }
.pill.violet { background:rgba(167,139,250,0.15); color:#a78bfa; }

/* Badges */
.badge { padding:0.25rem 0.5rem; font-size:0.75rem; border-radius:0.375rem; background:rgba(30,41,59,0.8); border:1px solid rgb(51,65,85); }

/* Buttons */
.btn { padding:0.4rem 0.75rem; font-size:0.8rem; border-radius:0.375rem; transition:all 0.15s; cursor:pointer; border:none; color:white; }
.btn:hover { filter:brightness(1.15); transform:translateY(-1px); }
.btn:active { transform:translateY(0); }
.btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }

/* Tabs */
.tab { padding:0.5rem 1rem; font-size:0.85rem; border-radius:0.5rem 0.5rem 0 0; background:transparent; color:#94a3b8; border:1px solid transparent; cursor:pointer; transition:all 0.15s; border-bottom:none; }
.tab:hover { color:#e2e8f0; background:rgba(30,41,59,0.5); }
.tab.active { color:#34d399; background:rgba(15,23,42,0.7); border-color:rgb(30,41,59); border-bottom:2px solid #34d399; }
.tab-content { display:none; }
.tab-content.active { display:block; }

/* Tables */
tr.row td { border-bottom:1px solid rgba(30,41,59,0.7); padding:0.35rem 0; }
tr.row:hover td { background:rgba(30,41,59,0.3); }

/* Charts */
.chart-wrap { position:relative; width:100%; height:280px; max-height:50vh; }
.chart-wrap canvas { position:absolute !important; inset:0; width:100% !important; height:100% !important; }
.chart-wrap-sm { position:relative; width:100%; height:200px; }
.chart-wrap-sm canvas { position:absolute !important; inset:0; width:100% !important; height:100% !important; }

/* Timeline items */
.timeline-item { padding:0.5rem 0.75rem; background:rgba(15,23,42,0.5); border-left:3px solid #64748b; border-radius:0 0.25rem 0.25rem 0; }
.timeline-item.enter { border-left-color:#34d399; }
.timeline-item.wait { border-left-color:#fbbf24; }

/* Logs */
.log-line { white-space:pre-wrap; word-break:break-word; }
.log-INFO { color:#cbd5e1; }
.log-WARNING { color:#fbbf24; }
.log-ERROR { color:#fb7185; }
.log-CRITICAL { color:#f43f5e; font-weight:700; }
.log-SUCCESS { color:#34d399; }
.log-DEBUG { color:#64748b; }

/* Connection banner */
#conn-banner { position:fixed; top:0; left:0; right:0; padding:0.5rem 1rem; background:rgba(244,63,94,0.95); color:white; text-align:center; font-size:0.85rem; z-index:100; transform:translateY(-100%); transition:transform 0.25s; }
#conn-banner.show { transform:translateY(0); }

/* Scrollbar */
.scroll-area::-webkit-scrollbar { width:6px; height:6px; }
.scroll-area::-webkit-scrollbar-thumb { background:rgba(100,116,139,0.4); border-radius:3px; }
.scroll-area::-webkit-scrollbar-track { background:transparent; }

/* Scorer breakdown bars */
.scorer-bar { transition: width 0.3s ease; }

/* Module status cards */
.module-card { transition: border-color 0.2s; }
.module-card:hover { border-color: rgba(52,211,153,0.3); }

/* Pulse animation for live indicators */
@keyframes pulse-green {
  0%, 100% { box-shadow: 0 0 0 0 rgba(52,211,153,0.3); }
  50% { box-shadow: 0 0 8px 2px rgba(52,211,153,0.15); }
}
.pulse-live { animation: pulse-green 2s infinite; }

/* Mobile */
@media (max-width:640px) {
  header .text-xs { font-size:0.65rem; }
  .btn { padding:0.35rem 0.5rem; font-size:0.7rem; }
  .kpi-value { font-size:0.95rem; }
  .panel { padding:0.6rem 0.75rem; }
  .tab { padding:0.4rem 0.6rem; font-size:0.75rem; }
}
