:root{
  --bg:#08111f;
  --panel:#0f172a;
  --muted:#94a3b8;
  --text:#e2e8f0;
  --line:rgba(148,163,184,.18);
  --accent:#2563eb;
  --accent-2:#14b8a6;
  --soft:#111c34;
}
*{box-sizing:border-box}
body{background:linear-gradient(180deg,#08111f,#0b1220 35%,#eef3f8 35%,#f8fafc 100%);color:#0f172a}
.navbar{background:rgba(8,17,31,.95);backdrop-filter:blur(8px)}
.logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:white;font-weight:800;font-size:.95rem;
}
.navbar-brand{
    line-height: 1;
    overflow: visible;
    padding-top: 0;
    padding-bottom: 0;
}

.logo-mark{
    display: block;
    height: 52px;
    width: auto;
    max-width: none;
    flex-shrink: 0;
    object-fit: contain;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

.brand-text{
    line-height: 1;
}
.hero-bg{
  position:relative;
  background:#123 url('/assets/images/market-bg.jpg') center/cover no-repeat;
  min-height:320px;
  border-radius:16px;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    rgba(10,20,40,.85),
    rgba(0,80,120,.65)
  );
  z-index:1;
  border-radius:16px;
}

.hero-bg .z-2{
  position:relative;
  z-index:2;
}

.hero-bg h1,
.hero-bg p,
.hero-bg .small-kicker{
  color:#fff;
}

.hero{
  padding:5rem 0 4rem;
  color:var(--text);
}
.hero-card,.glass-card{
  background:rgba(15,23,42,.8);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 20px 60px rgba(2,6,23,.25);
}
.hero .lead,.text-muted-soft{color:#cbd5e1}
.metric-card,.feature-card,.panel-card,.pricing-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.metric-number{font-size:2rem;font-weight:800}
.section-pad{padding:4rem 0}
.auth-wrap{min-height:calc(100vh - 72px)}
.auth-panel{
  background:white;border-radius:24px;padding:2rem;
  box-shadow:0 20px 50px rgba(15,23,42,.08);
}
.auth-side{
  background:
    linear-gradient(145deg,rgba(37,99,235,.8),rgba(20,184,166,.75)),
    url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?auto=format&fit=crop&w=1200&q=80') center/cover;
  border-radius:24px;
  min-height:560px;
}
.dashboard-shell{padding:2rem 0 3rem}
.dashboard-head{
  background:linear-gradient(135deg,#0f172a,#1d4ed8);
  color:white;border-radius:26px;padding:2rem;
}
.table thead th{font-size:.85rem;color:#475569}
.badge-plan-free{background:#e2e8f0;color:#0f172a}
.badge-plan-pro{background:#dbeafe;color:#1d4ed8}
.badge-plan-admin{background:#dcfce7;color:#166534}
.upload-drop{
  border:2px dashed #cbd5e1;border-radius:18px;padding:2rem;text-align:center;background:#f8fafc;
}
textarea.form-control.deck-notes{min-height:140px}
.stat-pill{
  display:inline-flex;gap:.5rem;padding:.5rem .9rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)
}
canvas{max-height:360px!important}
.small-kicker{letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:700;color:#64748b}
.hero-slab{
  border-radius:16px;
  box-shadow:0 20px 50px rgba(15,23,42,.18);
}
.text-blue .small-kicker,
.text-blue .metric-number,
.text-blue .custom-blue {
    color: #0d6efd; /* Bootstrap primary blue */
}