@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap');
:root {
  --bg-primary: #0a0e17; --bg-secondary: #131a28; --bg-tertiary: #1c263a;
  --text-primary: #f8fafc; --text-secondary: #94a3b8; --text-muted: #64748b;
  --accent-brand: #3b82f6; --accent-brand-hover: #2563eb;
  --accent-positive: #10b981; --accent-positive-bg: rgba(16,185,129,0.1);
  --accent-negative: #ef4444; --accent-negative-bg: rgba(239,68,68,0.1);
  --border-color: rgba(255,255,255,0.08); --border-hover: rgba(255,255,255,0.15);
  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.3);
  --shadow-glow: 0 0 15px rgba(59,130,246,0.2);
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-full: 9999px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Outfit',sans-serif;font-weight:600;letter-spacing:-0.02em}
a{color:inherit;text-decoration:none} button{cursor:pointer;border:none;background:none;font-family:inherit}

/* Layout */
.app{display:flex;flex-direction:column;min-height:100vh}
.main-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeIn 0.35s ease-out forwards}

/* Header */
.header{width:100%;border-bottom:1px solid var(--border-color);background:rgba(10,14,23,0.9);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}
.stats-bar{background:var(--bg-tertiary);font-size:.72rem;padding:.45rem 2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:center}
.stats-content{display:flex;gap:2rem;color:var(--text-secondary);align-items:center}
.stat-val{color:var(--accent-brand);font-weight:600;margin-left:.25rem}
.color-btn{background:rgba(255,255,255,0.06);border:1px solid var(--border-color);color:var(--text-primary);padding:.18rem .55rem;border-radius:var(--radius-full);font-size:.68rem;margin-left:.4rem;cursor:pointer;font-family:inherit;transition:all .2s}
.color-btn:hover{background:rgba(255,255,255,0.1);border-color:var(--accent-brand)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.7rem 2rem;max-width:1400px;margin:0 auto;width:100%}
.nav-brand{display:flex;align-items:center;gap:.7rem;cursor:pointer}
.logo-icon{background:linear-gradient(135deg,var(--accent-brand),#8b5cf6);color:#fff;width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Outfit';font-size:1.15rem;box-shadow:var(--shadow-glow)}
.logo-text{font-family:'Outfit';font-size:1.2rem;font-weight:700;letter-spacing:-0.02em}
.nav-links{display:flex;gap:1.2rem}
.nav-link{color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all .2s;position:relative;padding:.2rem 0;cursor:pointer}
.nav-link:hover,.nav-link.active{color:var(--text-primary)}
.nav-link.active::after{content:'';position:absolute;bottom:-.35rem;left:0;width:100%;height:2px;background:var(--accent-brand);border-radius:2px;box-shadow:0 -2px 10px rgba(59,130,246,0.5)}
.search-bar{display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:.4rem .85rem;gap:.4rem;transition:all .2s}
.search-bar:focus-within{border-color:var(--accent-brand);box-shadow:0 0 0 1px var(--accent-brand)}
.search-bar input{background:none;border:none;color:var(--text-primary);font-size:.82rem;outline:none;font-family:inherit;width:160px}
.search-bar input::placeholder{color:var(--text-muted)}

/* Page Layout */
.page-layout{display:flex;gap:2rem;animation:fadeIn .35s ease-out forwards}
.page-main{flex:1;min-width:0}

/* Sidebar */
.sidebar{width:210px;flex-shrink:0;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:.85rem 0;height:fit-content;position:sticky;top:130px}
.sidebar-hdr{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 1.15rem;margin-bottom:.65rem;font-weight:600}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar-item{width:100%;display:flex;align-items:center;gap:.65rem;padding:.55rem 1.15rem;font-size:.84rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;font-family:inherit;transition:all .15s;text-align:left}
.sidebar-item:hover{color:var(--text-primary);background:rgba(255,255,255,0.03)}
.sidebar-item.active{color:var(--text-primary);background:rgba(59,130,246,0.08);font-weight:600}
.sidebar-ind{width:3px;height:16px;border-radius:3px;background:transparent;transition:all .15s}
.sidebar-item.active .sidebar-ind{background:var(--accent-brand);box-shadow:0 0 8px rgba(59,130,246,0.4)}

/* Table */
.table-wrap{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);overflow:hidden;margin-top:1.2rem}
.mtable{width:100%;border-collapse:collapse;text-align:left}
.mtable th{padding:.8rem 1.2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);white-space:nowrap;user-select:none}
.mtable th.sortable{cursor:pointer;transition:color .15s}
.mtable th.sortable:hover{color:var(--accent-brand)}
.mtable td{padding:.7rem 1.2rem;border-bottom:1px solid var(--border-color);vertical-align:middle;font-size:.9rem}
.mtable tr.row{transition:all .15s;cursor:pointer}
.mtable tr.row:hover{background:rgba(255,255,255,0.02)}
.mtable tr.row:last-child td{border-bottom:none}
.text-right{text-align:right} .text-center{text-align:center} .text-muted{color:var(--text-muted)} .font-medium{font-weight:500}
.asset-info{display:flex;align-items:center;gap:.8rem}
.asset-icon{width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:600;font-family:'Outfit';font-size:.82rem;color:var(--text-primary)}
.asset-names{display:flex;flex-direction:column}
.asset-name{font-weight:600;font-size:.88rem}
.asset-symbol{font-size:.72rem;color:var(--text-secondary);margin-top:.05rem}
.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600}
.positive{color:var(--accent-positive)} .negative{color:var(--accent-negative)}
.badge.positive{background:var(--accent-positive-bg);color:var(--accent-positive)}
.badge.negative{background:var(--accent-negative-bg);color:var(--accent-negative)}
.red-up-pos{color:var(--accent-negative)} .red-up-neg{color:var(--accent-positive)}
.badge.red-up-pos{background:var(--accent-negative-bg);color:var(--accent-negative)}
.badge.red-up-neg{background:var(--accent-positive-bg);color:var(--accent-positive)}
.sparkline-cell{width:140px;padding-right:1.2rem!important}

/* Economy tables */
.eco-wrap{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);overflow:hidden;margin-top:1.2rem}
.eco-table{width:100%;border-collapse:collapse}
.eco-table th{padding:.8rem 1.2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);text-align:left}
.eco-table td{padding:.65rem 1.2rem;border-bottom:1px solid var(--border-color);font-size:.9rem}
.eco-table tr:hover{background:rgba(255,255,255,0.02)}
.eco-table tr:last-child td{border-bottom:none}
.dir-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600}
.dir-badge.up{background:var(--accent-negative-bg);color:var(--accent-negative)}
.dir-badge.down{background:var(--accent-positive-bg);color:var(--accent-positive)}
.dir-badge.hold{background:rgba(100,116,139,0.15);color:var(--text-secondary)}

/* Footer */
.app-footer{border-top:1px solid var(--border-color);padding:1.5rem;text-align:center;margin-top:2rem}
.app-footer p{font-size:.82rem;color:var(--text-secondary);margin:.2rem 0}
.app-footer .text-muted{font-size:.72rem}

/* Title */
.page-title{font-size:1.4rem;font-weight:700;margin-bottom:.2rem}
.page-sub{font-size:.85rem;color:var(--text-secondary)}

/* ─── Detail View ─── */
.clickable-row {
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.clickable-row:hover {
  background-color: rgba(255,255,255,0.05) !important;
}
.asset-details {
  animation: fadeIn 0.4s ease forwards;
}
.back-btn {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  margin-bottom: 24px;
  transition: all 0.2s;
  font-weight: 500;
}
.back-btn:hover {
  background: var(--border-color);
  box-shadow: var(--shadow-glow);
}
.detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-color);
}
.detail-header h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: baseline;
}
.detail-price {
  text-align: right;
}
.huge-price {
  font-size: 3rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  display: block;
}
.detail-change {
  font-size: 1.2rem;
  font-weight: 500;
}
.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.detail-card {
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 24px;
  box-shadow: var(--shadow-lg);
}
.detail-card h3 {
  margin: 0 0 20px 0;
  font-size: 1.2rem;
  color: var(--text-primary);
}
.stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.stat-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 1rem;
}
.stat-item > div:last-child {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.large-chart {
  height: 180px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.2);
  border-radius: 8px;
}
.large-chart svg {
  width: 100%;
  height: 100%;
}

/* ─── Enhanced Detail View ─── */
.detail-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}
.detail-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: .85rem;
}
.badge-symbol {
  background: linear-gradient(135deg, var(--accent-brand), #8b5cf6);
  color: #fff;
  padding: 2px 10px;
  border-radius: var(--radius-full);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.returns-bar {
  display: flex;
  gap: 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.return-cell {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  border-right: 1px solid var(--border-color);
  transition: background 0.15s;
}
.return-cell:last-child {
  border-right: none;
}
.return-cell:hover {
  background: rgba(255,255,255,0.03);
}
.chart-periods {
  display: flex;
  gap: 4px;
}
.period-btn {
  padding: 4px 12px;
  border-radius: var(--radius-sm);
  font-size: .78rem;
  font-weight: 500;
  color: var(--text-secondary);
  background: var(--bg-tertiary);
  border: 1px solid var(--border-color);
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
}
.period-btn:hover {
  color: var(--text-primary);
  border-color: var(--accent-brand);
}
.period-btn.active {
  background: var(--accent-brand);
  color: #fff;
  border-color: var(--accent-brand);
  box-shadow: 0 0 8px rgba(59,130,246,0.3);
}

/* ─── Language Picker ─── */
.lang-picker-wrap {
  display: inline-block;
  position: relative;
}
.lang-toggle {
  gap: 6px;
}
.lang-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: var(--bg-secondary);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
  z-index: 9999;
  min-width: 170px;
  padding: 6px 0;
  backdrop-filter: blur(16px);
  animation: fadeSlide .15s ease;
}
@keyframes fadeSlide {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.lang-option {
  padding: 8px 16px;
  cursor: pointer;
  font-size: .85rem;
  color: var(--text-secondary);
  transition: background 0.12s, color 0.12s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.lang-option:hover {
  background: rgba(255,255,255,0.05);
  color: var(--text-primary);
}
.lang-option.active {
  color: var(--accent-brand);
  font-weight: 600;
  background: rgba(59,130,246,0.08);
}
/* RTL Support */
[dir="rtl"] .sidebar { order: 2; }
[dir="rtl"] .page-main { order: 1; }
[dir="rtl"] .text-right { text-align: left !important; }
[dir="rtl"] .lang-dropdown { right: auto; left: 0; }

/* ─── Live Indicator ─── */
.live-indicator {
  cursor: pointer;
  font-size: .82rem;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: var(--radius-full);
  letter-spacing: .03em;
  transition: all 0.2s;
}
.live-indicator.live {
  color: #10b981;
  background: rgba(16,185,129,0.1);
  animation: livePulse 2s ease-in-out infinite;
}
.live-indicator.loading {
  color: #f59e0b;
  background: rgba(245,158,11,0.1);
}
.live-indicator.error {
  color: #ef4444;
  background: rgba(239,68,68,0.1);
}
.live-indicator.offline {
  color: #64748b;
  background: rgba(100,116,139,0.1);
}
.live-indicator:hover {
  transform: scale(1.05);
  filter: brightness(1.2);
}
@keyframes livePulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ─── Localized Asset Name ─── */
.asset-name-local {
  display: block;
  font-size: .72rem;
  color: var(--accent-brand);
  opacity: 0.85;
  line-height: 1.3;
  margin-top: 1px;
  font-weight: 400;
}

/* ══════════════════════════════════════════
   MOBILE RESPONSIVE (≤768px)
   ══════════════════════════════════════════ */
@media (max-width: 768px) {
  /* ── Stats Bar ── */
  .stats-bar {
    padding: .35rem .8rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .stats-content {
    gap: .8rem;
    white-space: nowrap;
    font-size: .65rem;
    min-width: max-content;
  }
  .live-indicator { font-size: .7rem; padding: 2px 6px; }

  /* ── Navigation ── */
  .nav {
    padding: .5rem .8rem;
    gap: .5rem;
  }
  .logo-icon { width: 26px; height: 26px; font-size: 1rem; }
  .logo-text { font-size: 1rem; }
  .nav-links {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: .1rem;
    flex: 1;
    margin: 0 .3rem;
    scrollbar-width: none;
  }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-link {
    font-size: .72rem;
    white-space: nowrap;
    padding: .25rem .45rem;
    flex-shrink: 0;
  }
  .search-bar { display: none; } /* hide on mobile to save space */

  /* ── Main Content ── */
  .main-content { padding: .8rem; }
  .page-title { font-size: 1.1rem; }
  .page-sub { font-size: .75rem; }

  /* ── Page Layout — sidebar becomes horizontal tabs ── */
  .page-layout {
    flex-direction: column;
    gap: .8rem;
  }
  .sidebar {
    width: 100%;
    position: static;
    border-radius: var(--radius-md);
    padding: .4rem;
    display: flex;
    flex-direction: column;
  }
  .sidebar-hdr { display: none; }
  .sidebar ul {
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 4px;
    scrollbar-width: none;
  }
  .sidebar ul::-webkit-scrollbar { display: none; }
  .sidebar-item {
    white-space: nowrap;
    padding: .4rem .7rem;
    font-size: .75rem;
    border-radius: var(--radius-full);
    flex-shrink: 0;
    gap: 0;
  }
  .sidebar-ind { display: none; }
  .sidebar-item.active {
    background: var(--accent-brand);
    color: #fff;
  }

  /* ── Table ── */
  .table-wrap {
    margin-top: .8rem;
    border-radius: var(--radius-md);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .mtable { min-width: 580px; }
  .mtable th {
    padding: .5rem .6rem;
    font-size: .62rem;
  }
  .mtable td {
    padding: .45rem .6rem;
    font-size: .78rem;
  }
  .asset-icon { width: 24px; height: 24px; font-size: .72rem; }
  .asset-info { gap: .5rem; }
  .asset-name { font-size: .78rem; }
  .asset-symbol { font-size: .62rem; }
  .asset-name-local { font-size: .6rem; }
  .sparkline-cell { width: 90px; padding-right: .6rem !important; }
  .badge { font-size: .72rem; padding: .1rem .35rem; }

  /* ── Economy Tables ── */
  .eco-wrap {
    margin-top: .8rem;
    border-radius: var(--radius-md);
    overflow-x: auto;
  }
  .eco-table th { padding: .5rem .6rem; font-size: .62rem; }
  .eco-table td { padding: .45rem .6rem; font-size: .78rem; }

  /* ── Detail View ── */
  .detail-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
  .detail-header h1, .detail-title { font-size: 1.4rem; }
  .huge-price { font-size: 1.8rem; }
  .detail-change { font-size: .95rem; }
  .detail-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .detail-card { padding: 14px; }
  .detail-card h3 { font-size: 1rem; margin-bottom: 12px; }
  .stat-grid { gap: 10px; }
  .stat-item { font-size: .85rem; }
  .returns-bar { flex-wrap: wrap; }
  .return-cell { min-width: 70px; padding: 8px 4px; font-size: .78rem; }
  .chart-periods { flex-wrap: wrap; }
  .period-btn { padding: 3px 8px; font-size: .7rem; }
  .large-chart { height: 140px; }
  .back-btn { padding: 6px 12px; font-size: .82rem; }
  .detail-meta { flex-wrap: wrap; font-size: .78rem; }

  /* ── Language ── */
  .lang-picker-wrap .color-btn,
  .lang-toggle { font-size: .65rem; }
  .lang-dropdown {
    min-width: 150px;
    right: -20px;
  }
  .lang-option { padding: 6px 12px; font-size: .78rem; }

  /* ── Footer ── */
  .app-footer { padding: 1rem .8rem; }
  .app-footer p { font-size: .72rem; }
}

/* ── Extra Small Phones (≤480px) ── */
@media (max-width: 480px) {
  .stats-content { gap: .5rem; font-size: .6rem; }
  .nav { padding: .4rem .5rem; }
  .nav-link { font-size: .65rem; padding: .2rem .3rem; }
  .logo-text { font-size: .9rem; }
  .main-content { padding: .5rem; }
  .page-title { font-size: 1rem; }
  .mtable { min-width: 520px; }
  .mtable td { padding: .35rem .45rem; font-size: .72rem; }
  .mtable th { padding: .4rem .45rem; font-size: .58rem; }
  .sidebar-item { padding: .35rem .55rem; font-size: .68rem; }
  .detail-header h1, .detail-title { font-size: 1.2rem; }
  .huge-price { font-size: 1.5rem; }
  .detail-card { padding: 10px; }
  .return-cell { min-width: 60px; padding: 6px 3px; font-size: .68rem; }
}

/* ── Tablet (769px-1024px) ── */
@media (min-width: 769px) and (max-width: 1024px) {
  .main-content { padding: 1.2rem; }
  .sidebar { width: 170px; }
  .sidebar-item { font-size: .78rem; padding: .45rem .9rem; }
  .nav-link { font-size: .78rem; }
  .search-bar input { width: 120px; }
  .detail-header h1 { font-size: 2rem; }
  .huge-price { font-size: 2.2rem; }
}
