/* assets/css/style.css */
:root {
    --primary: #f0b90b;
    --bg-card: #1a1d23;
    --bg-card2: #13161b;
    --border-color: #2d3139;
}

body { font-family: 'Segoe UI', system-ui, sans-serif; }

.card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
}

.card-header {
    background: var(--bg-card2);
    border-bottom: 1px solid var(--border-color);
    border-radius: 12px 12px 0 0 !important;
}

/* Stat cards */
.stat-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 1.25rem;
    transition: transform .2s, box-shadow .2s;
}
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.4); }
.stat-card .icon {
    width: 48px; height: 48px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
}
.stat-card .value { font-size: 1.6rem; font-weight: 700; line-height: 1; }
.stat-card .label { font-size: .8rem; color: #6c757d; text-transform: uppercase; letter-spacing: .05em; }

/* Colors */
.icon-yellow  { background: rgba(240,185,11,.15); color: var(--primary); }
.icon-green   { background: rgba(40,167,69,.15);  color: #28a745; }
.icon-red     { background: rgba(220,53,69,.15);  color: #dc3545; }
.icon-blue    { background: rgba(13,110,253,.15); color: #0d6efd; }
.icon-purple  { background: rgba(111,66,193,.15); color: #6f42c1; }
.icon-cyan    { background: rgba(13,202,240,.15); color: #0dcaf0; }

/* Tables */
.table-dark th { color: #adb5bd; font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }
.table > :not(caption) > * > * { background-color: transparent; }

/* Signal badge */
.signal-bar { height: 6px; border-radius: 3px; background: #2d3139; overflow: hidden; }
.signal-bar-fill { height: 100%; border-radius: 3px; transition: width .3s; }

/* Badges */
.badge-profit { background: rgba(40,167,69,.2); color: #28a745; border: 1px solid rgba(40,167,69,.3); }
.badge-loss   { background: rgba(220,53,69,.2);  color: #dc3545; border: 1px solid rgba(220,53,69,.3); }

/* Navbar active */
.navbar .nav-link.active {
    color: var(--primary) !important;
    border-bottom: 2px solid var(--primary);
}

/* Login */
.login-wrapper {
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: radial-gradient(ellipse at center, #1a1d23 0%, #0a0c0f 100%);
}
.login-card { width: 100%; max-width: 420px; }

/* Live feed */
@keyframes flashUp   { 0%,100%{background:transparent} 50%{background:rgba(34,197,94,.18)} }
@keyframes flashDown { 0%,100%{background:transparent} 50%{background:rgba(239,68,68,.18)} }
.flash-up   { animation: flashUp   .5s ease; }
.flash-down { animation: flashDown .5s ease; }
.arrow-up   { color:#22c55e; }
.arrow-down { color:#ef4444; }
.arrow-flat { color:#94a3b8; }
.spin { animation:spin 1s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #13161b; }
::-webkit-scrollbar-thumb { background: #2d3139; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #3d4149; }

/* Chart container */
.chart-container { position: relative; }

/* Pulse animation for live indicator */
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #28a745; animation: pulse 2s infinite; display: inline-block; }

/* Form controls dark */
.form-control, .form-select {
    background-color: #0d0f12 !important;
    border-color: var(--border-color) !important;
    color: #dee2e6 !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 .2rem rgba(240,185,11,.15) !important;
}