/* ===== VARIABLES ===== */
:root {
  --bg-main:    #0B0E11;
  --bg-card:    #1E2026;
  --bg-card2:   #1E2026;
  --border:     #2B3139;
  --border-glow:#0ecb8122;
  --green:      #0ECB81;
  --green-dim:  #0B9960;
  --red:        #F6465D;
  --red-dim:    #C83749;
  --blue:       #4da6ff;
  --yellow:     #FCD535;
  --text:       #EAECEF;
  --text-muted: #848E9C;
  --text-dim:   #B7BDC6;
  --font:       'Outfit', sans-serif;
  --mono:       'JetBrains Mono', monospace;
  --navbar-h:   62px;
  --radius:     2px;
  --transition: 0.2s ease;
}

/* ===== LIGHT THEME VARIABLES ===== */
:root.theme-light {
  --bg-main:    #f3f6f9;
  --bg-card:    #ffffff;
  --bg-card2:   #f8fafc;
  --border:     #e2e8f0;
  --border-glow:#00a65a44;
  --green:      #00a65a;
  --green-dim:  #008a4b;
  --text:       #1e293b;
  --text-muted: #64748b;
  --text-dim:   #475569;
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:15px; }
body { background:var(--bg-main); color:var(--text); font-family:var(--font); min-height:100vh; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:var(--font); }
input, select, textarea { font-family:var(--font); }

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--bg-main); }
::-webkit-scrollbar-thumb { background:#1e3050; border-radius:3px; }

/* ════════════════════════════════════════════════════════
   NAVBAR (Estilo CoinEx)
════════════════════════════════════════════════════════ */
.navbar {
  position:fixed; top:0; left:0; right:0; height:var(--navbar-h);
  background:var(--bg-card); border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 20px; z-index:1000;
  backdrop-filter:blur(12px);
}

/* Left section */
.navbar-left  { display:flex; align-items:center; gap:0; }
.navbar-right { display:flex; align-items:center; gap:10px; }

/* Logo */
.navbar-logo {
  display:flex; align-items:center; gap:8px;
  padding:6px 16px 6px 4px; margin-right:4px;
}
.logo-icon-nav { font-size:20px; }
.logo-text-nav { font-size:16px; font-weight:800; color:var(--text); white-space:nowrap; }
.logo-ai-nav   { color:var(--green); }

.navbar-divider {
  width:1px; height:24px; background:var(--border); margin:0 8px;
}

/* Nav links */
.navbar-links { display:flex; align-items:center; gap:2px; }
.nav-link {
  display:flex; align-items:center; gap:6px;
  padding:7px 12px; border-radius:8px;
  font-size:13.5px; font-weight:500; color:var(--text-dim);
  transition:var(--transition); white-space:nowrap;
}
.nav-link:hover { background:rgba(0,255,136,0.07); color:var(--text); }
.nav-link.active {
  background:transparent; color:var(--green);
  border:none;
}

/* Hamburger button */
.mobile-menu-btn {
  display:none;
  padding:8px; border-radius:8px; color:var(--text);
  background:transparent; transition:var(--transition);
  margin-left:8px;
}
.mobile-menu-btn:hover { background:rgba(255,255,255,0.05); }

/* Nav dropdown */
.nav-dropdown-wrapper { position:relative; }
.nav-dropdown-caret { font-size:10px; color:var(--text-muted); transition:transform 0.2s ease; margin-left:2px; }
.nav-dropdown-wrapper.open .nav-dropdown-caret { transform:rotate(180deg); }
.nav-dropdown-menu {
  position:absolute; top:calc(100% + 6px); left:0; min-width:200px;
  background:var(--bg-card); border:1px solid var(--border); border-radius:10px;
  padding:6px; box-shadow:0 12px 36px rgba(0,0,0,0.5);
  display:none; z-index:2000;
  animation:fadeIn .15s ease;
}
.nav-dropdown-wrapper.open .nav-dropdown-menu { display:block; }
.nav-dropdown-item {
  display:flex; align-items:center; gap:8px; padding:10px 14px; border-radius:7px;
  font-size:13px; font-weight:500; color:var(--text-dim);
  transition:var(--transition); white-space:nowrap;
}
.nav-dropdown-item:hover { background:rgba(0,255,136,0.07); color:var(--text); }
.nav-dropdown-item.active { color:var(--green); background:transparent; }

/* Bot status */
.navbar-bot-status {
  display:flex; align-items:center; gap:6px;
  padding:5px 12px; background:transparent; border:none;
}

/* Mode badge */
.mode-badge {
  display:flex; align-items:center; gap:6px; padding:5px 12px;
  border-radius:20px; font-size:12px; font-weight:600;
  background:rgba(77,166,255,0.1); border:1px solid rgba(77,166,255,0.25); color:var(--blue);
  white-space:nowrap;
}
.mode-badge.real { background:rgba(255,215,0,0.1); border-color:rgba(255,215,0,0.25); color:var(--yellow); }

/* Time */
.time-display { font-family:var(--mono); font-size:12px; color:var(--text-muted); white-space:nowrap; }

/* Login button (navbar) */
.btn-login-nav {
  padding:7px 16px; border-radius:2px; font-size:13px; font-weight:600;
  color:var(--text-dim); border:1px solid var(--border);
  transition:var(--transition);
}
.btn-login-nav:hover { border-color:var(--green); color:var(--green); }

/* ── User menu ─────────────────────────────────────── */
.user-menu { position:relative; }
.user-menu-btn {
  display:flex; align-items:center; gap:8px;
  padding:6px 12px; border-radius:10px; border:none;
  background:transparent; color:var(--text);
  transition:var(--transition); cursor:pointer;
}
.user-menu-btn:hover { opacity:0.8; }
.user-avatar {
  width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,var(--green),var(--green-dim));
  color:#060b14; font-size:13px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}
.user-name  { font-size:13px; font-weight:600; }
.user-caret { font-size:10px; color:var(--text-muted); }

.user-dropdown {
  position:absolute; top:calc(100% + 8px); right:0; min-width:200px;
  background:var(--bg-card); border:1px solid var(--border); border-radius:12px;
  padding:8px; box-shadow:0 16px 40px rgba(0,0,0,0.5);
  display:none; z-index:2000;
  animation:fadeIn .15s ease;
}
.user-dropdown.open { display:block; }
.dropdown-info { padding:10px 12px; }
.dropdown-divider { height:1px; background:var(--border); margin:6px 0; }
.dropdown-item {
  display:flex; align-items:center; gap:8px; padding:9px 12px;
  border-radius:8px; font-size:13px; color:var(--text-dim);
  transition:var(--transition); cursor:pointer;
}
.dropdown-item:hover { background:rgba(255,255,255,0.05); color:var(--text); }
.dropdown-item.danger:hover { background:rgba(255,71,87,0.1); color:var(--red); }

/* ════════════════════════════════════════════════════════
   MAIN LAYOUT
════════════════════════════════════════════════════════ */
.main-content {
  margin-top:var(--navbar-h);
  min-height:calc(100vh - var(--navbar-h));
  display:flex; flex-direction:column;
}
.page-content { padding:28px; flex:1; }

@media(max-width:768px) {
  .page-content { padding:16px; }
}

/* ════════════════════════════════════════════════════════
   AUTH PAGES (Login / Register)
════════════════════════════════════════════════════════ */
.auth-page {
  min-height: calc(100vh - 70px); display:flex; align-items:center; justify-content:center;
  background:var(--bg-main);
  background-image:
    radial-gradient(ellipse 800px 600px at 20% 40%, rgba(0,255,136,0.04) 0%, transparent 70%),
    radial-gradient(ellipse 600px 500px at 80% 60%, rgba(77,166,255,0.04) 0%, transparent 70%);
  padding:20px;
}
.auth-card {
  width:100%; max-width:420px;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:20px; padding:40px;
  box-shadow:0 24px 64px rgba(0,0,0,0.5);
  position:relative; overflow:hidden;
}
.auth-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--green),transparent);
}
.auth-logo {
  text-align:center; margin-bottom:32px;
}
.auth-logo-icon { font-size:36px; display:block; margin-bottom:8px; }
.auth-logo-text { font-size:22px; font-weight:800; }
.auth-logo-text span { color:var(--green); }
.auth-title { font-size:20px; font-weight:700; margin-bottom:6px; }
.auth-subtitle { font-size:13px; color:var(--text-muted); margin-bottom:28px; }
.auth-footer { text-align:center; margin-top:20px; font-size:13px; color:var(--text-muted); }
.auth-footer a { color:var(--green); font-weight:600; }
.auth-footer a:hover { text-decoration:underline; }

/* Password strength */
.strength-bar { height:3px; background:var(--border); border-radius:2px; margin-top:6px; overflow:hidden; }
.strength-fill { height:100%; border-radius:2px; transition:width .3s,background .3s; width:0; }

/* ════════════════════════════════════════════════════════
   CARDS
════════════════════════════════════════════════════════ */
.card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px; position:relative; overflow:hidden; min-width:0;
}
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--border-glow),transparent);
}
.card-title { font-size:12px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.8px; margin-bottom:12px; font-weight:600; }

/* ════════════════════════════════════════════════════════
   GRIDS
════════════════════════════════════════════════════════ */
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(max-width:1200px){ .grid-4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:900px) { .grid-3{grid-template-columns:repeat(2,1fr);} }
@media(max-width:768px) { 
  .grid-4, .grid-3, .grid-2 { grid-template-columns:1fr; }
  
  /* Responsive Navbar Override */
  .navbar { padding: 0 12px !important; }
  .navbar-right { gap: 4px !important; }
  .navbar-divider { display:none; }
  .mobile-menu-btn { display:block; margin-left: 0; }
  .user-name { display:none !important; }
  .desktop-auth-buttons { display:none !important; }
  
  .navbar-links {
    position:fixed; top:var(--navbar-h); left:0; width:100%;
    background:var(--bg-card); border-bottom:1px solid var(--border);
    flex-direction:column; align-items:flex-start;
    padding:10px 20px 20px; box-shadow:0 12px 20px rgba(0,0,0,0.5);
    display:none; /* Hidden by default on mobile */
  }
  .navbar-links.show { display:flex; }
  
  .navbar-links .nav-link { width:100%; padding:12px; font-size:15px; }
  .navbar-links .nav-dropdown-wrapper { width:100%; }
  .navbar-links .nav-dropdown-menu { 
    position: fixed; 
    top: calc(var(--navbar-h) + 5px); 
    left: 10px; 
    right: 10px; 
    width: auto !important; 
    max-width: none; 
  }
  
  #navBotStatus span { display:none; } /* Hide text on small screens, keep icon */
}

/* ════════════════════════════════════════════════════════
   STAT CARDS
════════════════════════════════════════════════════════ */
.stat-value { font-size:28px; font-weight:800; font-family:var(--mono); color:var(--text); line-height:1; }
.stat-value.green { color:var(--green); }
.stat-value.red   { color:var(--red); }
.stat-sub    { font-size:12px; color:var(--text-muted); margin-top:6px; }
.stat-change { font-size:13px; font-weight:600; margin-top:8px; }
.stat-change.up   { color:var(--green); }
.stat-change.down { color:var(--red); }

/* ════════════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════════════ */
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:2px; font-size:14px; font-weight:600; transition:var(--transition); }
.btn-green { background:var(--green); color:#0B0E11; }
.btn-green:hover { opacity:.9; transform:translateY(-1px); box-shadow:0 6px 20px rgba(14,203,129,.25); }
.btn-red    { background:var(--red); color:#fff; border:none; }
.btn-red:hover    { opacity:.9; transform:translateY(-1px); box-shadow:0 6px 20px rgba(246,70,93,.25); }
.btn-outline { background:transparent; color:var(--text-dim); border:1px solid var(--border); }
.btn-outline:hover { border-color:var(--green); color:var(--green); }
.btn-sm   { padding:7px 14px; font-size:13px; }
.btn-icon { padding:8px; border-radius:2px; }
.btn-full { width:100%; justify-content:center; }

/* ════════════════════════════════════════════════════════
   TABLES
════════════════════════════════════════════════════════ */
.table-wrapper { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
thead th { padding:10px 14px; text-align:left; color:var(--text-muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.5px; border-bottom:1px solid var(--border); }
tbody tr { border-bottom:1px solid rgba(26,39,64,0.5); transition:var(--transition); }
tbody tr:hover { background:rgba(255,255,255,0.02); }
tbody td { padding:12px 14px; color:var(--text-dim); vertical-align:middle; }
tbody td.mono { font-family:var(--mono); }

/* ════════════════════════════════════════════════════════
   BADGES
════════════════════════════════════════════════════════ */
.badge        { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:2px; font-size:12px; font-weight:600; }
.badge-green  { background:rgba(14,203,129,0.1); color:var(--green); border:1px solid rgba(14,203,129,0.2); }
.badge-red    { background:rgba(246,70,93,0.1); color:var(--red); border:1px solid rgba(246,70,93,0.2); }
.badge-blue   { background:rgba(77,166,255,0.1); color:var(--blue); border:1px solid rgba(77,166,255,0.2); }
.badge-yellow { background:rgba(255,215,0,0.1); color:var(--yellow); border:1px solid rgba(255,215,0,0.2); }
.badge-gray   { background:rgba(90,106,138,0.15); color:var(--text-muted); border:1px solid var(--border); }

/* ════════════════════════════════════════════════════════
   FORMS
════════════════════════════════════════════════════════ */
.form-group   { margin-bottom:18px; }
.form-label   { display:block; font-size:13px; color:var(--text-dim); margin-bottom:6px; font-weight:500; }
.form-input, .form-select {
  width:100%; padding:11px 14px; background:var(--bg-main); border:1px solid var(--border);
  border-radius:2px; color:var(--text); font-size:14px; transition:var(--transition);
}
.form-input:focus, .form-select:focus { outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(14,203,129,0.08); }
.form-input::placeholder { color:var(--text-muted); }
.form-input.error { border-color:var(--red); }
.form-select option { background:var(--bg-card2); }

/* Input con icono */
.input-wrapper { position:relative; }
.input-icon { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:15px; pointer-events:none; }
.input-wrapper .form-input { padding-left:40px; }
.input-suffix { position:absolute; right:13px; top:50%; transform:translateY(-50%); cursor:pointer; color:var(--text-muted); font-size:13px; }
.input-suffix:hover { color:var(--text); }

/* Checkbox personalizado */
.checkbox-row { display:flex; align-items:center; gap:10px; cursor:pointer; }
.checkbox-row input[type=checkbox] { width:16px; height:16px; accent-color:var(--green); cursor:pointer; }
.checkbox-label { font-size:13px; color:var(--text-dim); }

/* ════════════════════════════════════════════════════════
   ALERTS
════════════════════════════════════════════════════════ */
.alert { display:flex; align-items:flex-start; gap:10px; padding:12px 16px; border-radius:10px; font-size:13px; margin-bottom:12px; }
.alert-warning { background:rgba(255,215,0,0.08); border:1px solid rgba(255,215,0,0.2); color:var(--yellow); }
.alert-danger  { background:rgba(255,71,87,0.08); border:1px solid rgba(255,71,87,0.2); color:var(--red); }
.alert-success { background:rgba(0,255,136,0.08); border:1px solid rgba(0,255,136,0.2); color:var(--green); }
.alert-info    { background:rgba(77,166,255,0.08); border:1px solid rgba(77,166,255,0.2); color:var(--blue); }

/* ════════════════════════════════════════════════════════
   COIN CARDS
════════════════════════════════════════════════════════ */
.coins-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.coin-card {
  background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px; transition:var(--transition); cursor:pointer; position:relative; overflow:hidden;
}
.coin-card:hover { border-color:rgba(0,255,136,0.3); transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.3); }
.coin-card.selected { border-color:var(--green); background:rgba(0,255,136,0.04); }
.coin-card.selected::after { content:'✓'; position:absolute; top:12px; right:12px; width:22px; height:22px; background:var(--green); color:#060b14; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; }
.coin-header  { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.coin-icon    { width:42px; height:42px; border-radius:50%; background:var(--bg-main); display:flex; align-items:center; justify-content:center; font-size:18px; border:1px solid var(--border); }
.coin-name    { font-weight:700; font-size:15px; }
.coin-symbol  { font-size:12px; color:var(--text-muted); font-family:var(--mono); }
.coin-price   { font-family:var(--mono); font-size:16px; font-weight:600; color:var(--text); }
.coin-change  { font-size:13px; font-weight:600; }
.coin-change.up   { color:var(--green); }
.coin-change.down { color:var(--red); }
.coin-meta    { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.coin-risk    { font-size:11px; padding:2px 8px; border-radius:10px; font-weight:600; }
.risk-bajo    { background:rgba(0,255,136,0.1);  color:var(--green); }
.risk-medio   { background:rgba(255,215,0,0.1);  color:var(--yellow); }
.risk-alto    { background:rgba(255,71,87,0.1);  color:var(--red); }
.amount-input-row { display:flex; align-items:center; gap:8px; margin-top:12px; padding-top:12px; border-top:1px solid var(--border); overflow:hidden; }
.amount-input-row input {
  flex:1; min-width:0; max-width:120px; padding:8px 10px; background:var(--bg-main); border:1px solid var(--border);
  border-radius:8px; color:var(--text); font-size:13px; font-family:var(--mono); transition:var(--transition);
  -moz-appearance:textfield;
}
.amount-input-row input::-webkit-outer-spin-button,
.amount-input-row input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.amount-input-row input:focus { outline:none; border-color:var(--green); }
.amount-input-row input.error { border-color:var(--red); }
.min-warning { font-size:11px; color:var(--red); margin-top:5px; display:none; }
.min-warning.show { display:block; }

/* ════════════════════════════════════════════════════════
   INVESTMENT CARDS (Lista de Inversión)
════════════════════════════════════════════════════════ */
.investments-grid { display:flex; flex-direction:column; gap:12px; }

.investment-card-row {
  background:var(--bg-card2); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px 20px; transition:var(--transition);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  position:relative; z-index:2;
}
.investment-card-row:hover { border-color:rgba(0,255,136,0.3); box-shadow:0 4px 16px rgba(0,0,0,0.2); }

.inv-col { display:flex; align-items:center; }
.inv-pair { flex:1.2; min-width:180px; gap:12px; }
.inv-details { flex:2; display:flex; gap:24px; border-left:1px solid var(--border); border-right:1px solid var(--border); padding:0 24px; justify-content:space-between; }
.inv-details > div { display:flex; flex-direction:column; gap:4px; }
.inv-stats { flex:1; display:flex; gap:24px; justify-content:center; }
.inv-actions { flex:1.5; flex-direction:column; align-items:flex-end; gap:8px; }

.investment-icon {
  width:44px; height:44px; border-radius:50%; background:var(--bg-main);
  display:flex; align-items:center; justify-content:center;
  font-size:18px; font-weight:800; border:1px solid var(--border); color:var(--green);
}
.investment-name { font-weight:700; font-size:16px; margin-bottom:2px; }
.investment-symbol { font-size:12px; color:var(--text-muted); font-family:var(--mono); }

.investment-invested { font-family:var(--mono); font-size:18px; font-weight:700; color:var(--text); line-height:1; margin-bottom:4px; }
.investment-qty { font-size:12px; color:var(--text-muted); font-family:var(--mono); }

.detail-label { font-size:11px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.5px; }
.detail-value { font-size:14px; font-family:var(--mono); font-weight:600; color:var(--text); }

.investment-stat { text-align:center; }
.stat-number { display:block; font-family:var(--mono); font-size:14px; font-weight:700; }
.stat-number.green { color:var(--green); }
.stat-number.red   { color:var(--red); }
.stat-label-small { font-size:10px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.4px; }

.investment-trades-list {
  margin-top:-8px; padding:20px 20px 10px 20px; background:var(--bg-main);
  border-radius:0 0 12px 12px; border:1px solid var(--border);
  border-top:none; overflow-x:auto; position:relative; z-index:1;
}
.investment-trades-list table { font-size:12px; white-space:nowrap; width:100%; }
.investment-trades-list th { font-size:11px; padding:6px 8px; border-bottom:1px solid var(--border); color:var(--text-muted); }
.investment-trades-list td { padding:8px; border-bottom:1px solid rgba(26,39,64,0.5); }

.investment-card {
  background:var(--bg-card2); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px; transition:var(--transition); min-width:0;
}
.investment-card:hover { border-color:rgba(0,255,136,0.2); box-shadow:0 4px 16px rgba(0,0,0,0.2); }
.investment-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.investment-pair { display:flex; align-items:center; gap:12px; }
.investment-value { text-align:right; }

.investment-details {
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px;
  padding:14px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.investment-detail { display:flex; flex-direction:column; gap:4px; }

.investment-stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
  margin-top:14px; padding:10px; background:var(--bg-main); border-radius:8px;
}

.investment-signal {
  display:flex; align-items:center; gap:10px; margin-top:12px; padding-top:10px;
  border-top:1px solid var(--border);
}
.signal-time { font-size:11px; color:var(--text-muted); }

.investment-trades-toggle {
  margin-top:12px; padding:8px 0; text-align:center;
  font-size:12px; color:var(--text-muted); cursor:pointer;
  border-top:1px solid var(--border); transition:var(--transition);
}
.investment-trades-toggle:hover { color:var(--green); }

.investment-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

@media(max-width:1024px) {
  .investment-card-row { flex-direction:column; align-items:stretch; gap:16px; }
  .inv-details { border:none; padding:12px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); justify-content:space-between; }
  .inv-actions { align-items:flex-start; flex-direction:row; justify-content:space-between; width:100%; }
}

@media(max-width:900px) {
  .investments-grid { grid-template-columns:1fr; }
  .investment-details { grid-template-columns:1fr; }
  .investment-stats { grid-template-columns:repeat(2,1fr); }
}

@media(max-width:576px) {
  .investment-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .investment-value { text-align: left; width: 100%; }
  .investment-actions { justify-content: flex-start; margin-top: 12px; }
}


/* ════════════════════════════════════════════════════════
   TOAST
════════════════════════════════════════════════════════ */
#toast-container { position:fixed; top:80px; right:24px; z-index:9999; display:flex; flex-direction:column; gap:8px; }
.toast {
  padding:13px 18px; border-radius:10px; font-size:13px; font-weight:500;
  box-shadow:0 8px 24px rgba(0,0,0,0.4); animation:slideIn .3s ease;
  display:flex; align-items:center; gap:10px; min-width:260px;
  backdrop-filter:blur(10px);
}
.toast-success { background:rgba(0,255,136,0.15); border:1px solid rgba(0,255,136,0.3); color:var(--green); }
.toast-error   { background:rgba(255,71,87,0.15); border:1px solid rgba(255,71,87,0.3); color:var(--red); }
.toast-warning { background:rgba(255,215,0,0.15); border:1px solid rgba(255,215,0,0.3); color:var(--yellow); }
.toast-info    { background:rgba(77,166,255,0.15); border:1px solid rgba(77,166,255,0.3); color:var(--blue); }

/* ════════════════════════════════════════════════════════
   CHART / BOT / GROK
════════════════════════════════════════════════════════ */
.chart-container { position:relative; height:280px; }
.chart-header    { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.chart-tabs      { display:flex; gap:4px; }
.chart-tab { padding:5px 12px; border-radius:7px; font-size:12px; font-weight:600; color:var(--text-muted); transition:var(--transition); }
.chart-tab.active, .chart-tab:hover { background:rgba(0,255,136,0.1); color:var(--green); }

.bot-panel     { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.bot-start-btn {
  padding:13px 28px; border-radius:2px; font-size:15px; font-weight:700;
  background:var(--green); color:#0B0E11;
  transition:var(--transition); display:flex; align-items:center; gap:8px;
  width: 100%; justify-content: center;
}
.bot-start-btn:hover { opacity:.9; transform:translateY(-1px); box-shadow:0 8px 20px rgba(14,203,129,.25); }
.bot-start-btn.running { background:var(--red); color:#fff; }
.bot-start-btn.running:hover { box-shadow:0 8px 20px rgba(246,70,93,.25); }

.signal-big   { text-align:center; padding:24px; }
.signal-label { font-size:48px; font-weight:900; letter-spacing:2px; }
.signal-buy   { color:var(--green); }
.signal-sell  { color:var(--red); }
.signal-hold  { color:var(--yellow); }
.confidence-bar  { height:6px; background:var(--border); border-radius:3px; margin:12px 0; overflow:hidden; }
.confidence-fill { height:100%; border-radius:3px; background:linear-gradient(90deg,var(--green-dim),var(--green)); transition:width .6s ease; }
.grok-reason { font-size:13px; color:var(--text-dim); line-height:1.7; margin-top:12px; }

/* ════════════════════════════════════════════════════════
   LOGS / MISC
════════════════════════════════════════════════════════ */
.log-list { max-height:220px; overflow-y:auto; }
.log-item { display:flex; gap:10px; padding:7px 0; border-bottom:1px solid rgba(26,39,64,0.4); font-size:12px; }
.log-time { color:var(--text-muted); font-family:var(--mono); white-space:nowrap; }
.log-msg  { color:var(--text-dim); }
.log-msg.info    { color:var(--blue); }
.log-msg.success { color:var(--green); }
.log-msg.warning { color:var(--yellow); }
.log-msg.error   { color:var(--red); }

.status-dot { width:8px; height:8px; border-radius:50%; background:var(--text-muted); transition:var(--transition); display:inline-block; }
.status-dot.running { background:var(--green); box-shadow:0 0 8px var(--green); animation:pulse 2s infinite; }
.status-dot.stopped { background:var(--red); }

.search-bar {
  display:flex; align-items:center; gap:10px; padding:11px 16px;
  background:var(--bg-card); border:1px solid var(--border); border-radius:10px; transition:var(--transition);
}
.search-bar:focus-within { border-color:var(--green); }
.search-bar input { flex:1; background:none; border:none; outline:none; color:var(--text); font-size:14px; }
.search-bar span  { color:var(--text-muted); }

.tabs     { display:flex; gap:4px; padding:4px; background:var(--bg-main); border-radius:10px; margin-bottom:20px; }
.tab-btn  { flex:1; padding:9px; text-align:center; border-radius:8px; font-size:13px; font-weight:600; color:var(--text-muted); transition:var(--transition); }
.tab-btn.active { background:var(--bg-card); color:var(--text); border:1px solid var(--border); }
.tab-btn:hover  { color:var(--text); }

.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.section-title  { font-size:17px; font-weight:700; }

.divider    { border:none; border-top:1px solid var(--border); margin:24px 0; }
.empty-state { text-align:center; padding:48px 24px; color:var(--text-muted); }
.empty-state .empty-icon { font-size:48px; margin-bottom:12px; opacity:.5; }
.empty-state p { font-size:14px; }

/* ════════════════════════════════════════════════════════
   ANIMATIONS
════════════════════════════════════════════════════════ */
@keyframes pulse   { 0%,100%{opacity:1;} 50%{opacity:.4;} }
@keyframes slideIn { from{transform:translateX(100%);opacity:0;} to{transform:translateX(0);opacity:1;} }
@keyframes fadeIn  { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:translateY(0);} }
.fade-in { animation:fadeIn .35s ease; }

/* ════════════════════════════════════════════════════════
   LUCIDE ICONS
════════════════════════════════════════════════════════ */
.lucide { display:inline-block; vertical-align:middle; }
.icon-inline { display:inline-flex; align-items:center; gap:6px; }
.icon-inline .lucide { width:16px; height:16px; flex-shrink:0; }
.card-title .lucide { width:16px; height:16px; margin-right:6px; }
.btn .lucide { width:16px; height:16px; }
.empty-icon .lucide { width:48px; height:48px; opacity:0.5; }
.input-icon .lucide { width:16px; height:16px; }
.input-suffix .lucide { width:16px; height:16px; }

/* ════════════════════════════════════════════════════════
   BOTTOM ACTION BAR (coins.php)
════════════════════════════════════════════════════════ */
.bottom-action-bar {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: rgba(13, 20, 36, 0.95); backdrop-filter: blur(10px);
  border-top: 1px solid var(--border); padding: 16px 24px;
  display: flex; align-items: center; justify-content: space-between;
  z-index: 1000; box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3);
}
@media(max-width:768px) {
  .bottom-action-bar { padding: 12px 16px; flex-direction:column; gap:10px; align-items:stretch; }
  .bottom-action-bar > div:last-child { width:100%; }
  .bottom-action-bar .btn { width:100%; justify-content:center; }
  .selected-coins-list { margin-right:0; max-height:60px; justify-content:center; }
}
.theme-light .bottom-action-bar { background: rgba(255, 255, 255, 0.95); }
.selected-coins-list {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  flex: 1; overflow-y: auto; max-height: 80px; margin-right: 20px;
}
.selected-coin-badge {
  background: var(--bg-main); border: 1px solid var(--border);
  color: var(--text); padding: 5px 8px 5px 10px; border-radius: 6px;
  font-size: 12px; font-family: var(--mono); font-weight: 600;
  display: flex; align-items: center; gap: 6px;
}
.selected-coin-badge img { width: 16px; height: 16px; border-radius: 50%; }
.badge-remove-btn {
  display: flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 50%;
  color: var(--text-muted); cursor: pointer; transition: 0.2s;
  background: rgba(255, 255, 255, 0.05);
}
.badge-remove-btn:hover { background: var(--red); color: white; }

/* ════════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════════ */
.main-footer {
  background: var(--bg-card);
  border-top: 1px solid var(--border);
  padding: 40px 20px 20px;
  margin-top: auto;
}
.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
}
.footer-brand {
  max-width: 300px;
}
.footer-brand .logo-text-nav span { color: var(--green); }
.footer-brand p {
  color: var(--text-muted);
  font-size: 13px;
  margin-top: 12px;
  line-height: 1.6;
}
.footer-links {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
}
.footer-column h4 {
  color: var(--text);
  font-size: 14px;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.footer-column a {
  display: block;
  color: var(--text-dim);
  font-size: 13px;
  margin-bottom: 10px;
  transition: var(--transition);
}
.footer-column a:hover {
  color: var(--green);
  transform: translateX(2px);
}
.footer-bottom {
  max-width: 1200px;
  margin: 40px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(26,39,64,0.5);
  text-align: center;
  color: var(--text-muted);
  font-size: 12px;
}
@media (max-width: 768px) {
  .footer-links { gap: 30px; flex-direction: column; }
  .footer-container { flex-direction: column; }
}

.mobile-only-controls { display: none !important; }
@media(max-width:768px) {
  .mobile-only-controls { display: flex !important; flex-direction: column; gap: 10px; width: 100%; border-top: 1px solid var(--border); padding-top: 15px; margin-top: 10px; }
  .mobile-only-controls .nav-link { width: 100%; justify-content: flex-start; }
  #navBotStatus, #themeToggleBtn, #languageDropdown { display: none !important; }
}
