:root{
  --gh-primary:#1d4ed8;       /* blue-700 */
  --gh-secondary:#06b6d4;     /* cyan-500 */
  --gh-accent:#22c55e;        /* green-500 */
  --gh-ink:#0b1220;
  --gh-muted:#64748b;         /* slate-500 */
  --gh-card:#ffffff;
  --gh-bg:#f6f8fc;
  --gh-border:rgba(2,6,23,.08);
  --gh-shadow: 0 18px 60px rgba(2,6,23,.10);
  --gh-shadow-soft: 0 10px 30px rgba(2,6,23,.08);
  --gh-radius: 20px;
}

html,body{
  height:100%;
}

body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: var(--gh-bg);
  color: var(--gh-ink);
}

[data-theme="dark"]{
  --gh-ink:#e6edf6;
  --gh-muted:#9fb0c4;
  --gh-card:#0b1526;
  --gh-bg:#06101f;
  --gh-border:rgba(226,232,240,.10);
  --gh-shadow: 0 18px 60px rgba(0,0,0,.45);
  --gh-shadow-soft: 0 10px 30px rgba(0,0,0,.35);
}

a{ color: var(--gh-primary); }
a:hover{ color: var(--gh-secondary); }

.navbar{
  backdrop-filter: blur(10px);
  background: rgba(10, 16, 30, .65) !important;
}

.navbar .nav-link{
  color: rgba(255,255,255,.86) !important;
  font-weight: 600;
  letter-spacing: .2px;
}
.navbar .nav-link:hover{ color: #fff !important; }

.brand{
  font-weight: 900;
  letter-spacing: .3px;
}
.brand-badge{
  font-size:.72rem;
  padding:.22rem .55rem;
  border-radius:999px;
  background: rgba(6,182,212,.18);
  color: #bff6ff;
  border: 1px solid rgba(6,182,212,.35);
}

.hero-wrap{ padding-top: 5.5rem; }

.mesh{
  position:absolute;
  inset:-120px -120px auto -120px;
  height: 620px;
  background:
    radial-gradient( circle at 18% 18%, rgba(29,78,216,.55), transparent 52%),
    radial-gradient( circle at 70% 25%, rgba(6,182,212,.55), transparent 55%),
    radial-gradient( circle at 55% 80%, rgba(34,197,94,.45), transparent 55%);
  filter: blur(20px);
  opacity: .75;
  pointer-events:none;
}

.hero-card{
  border:1px solid var(--gh-border);
  background: linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.55));
  border-radius: calc(var(--gh-radius) + 6px);
  box-shadow: var(--gh-shadow);
  overflow:hidden;
}
[data-theme="dark"] .hero-card{
  background: linear-gradient(180deg, rgba(11,21,38,.86), rgba(11,21,38,.55));
}

.card.gh-card{
  border:1px solid var(--gh-border);
  border-radius: var(--gh-radius);
  background: var(--gh-card);
  box-shadow: var(--gh-shadow-soft);
}

.gh-glass{
  background: rgba(255,255,255,.64);
  border: 1px solid var(--gh-border);
  box-shadow: var(--gh-shadow-soft);
  backdrop-filter: blur(12px);
}
[data-theme="dark"] .gh-glass{
  background: rgba(11,21,38,.55);
}

.section-title{
  font-weight: 900;
  letter-spacing: .2px;
}
.section-subtitle{
  color: var(--gh-muted);
  max-width: 64ch;
}

.kpi{
  border-radius: 16px;
  padding: 14px 16px;
  border:1px solid var(--gh-border);
  background: rgba(255,255,255,.55);
}
[data-theme="dark"] .kpi{
  background: rgba(11,21,38,.55);
}

.icon-pill{
  width: 46px; height: 46px;
  border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(29,78,216,.12);
  color: var(--gh-primary);
  border:1px solid rgba(29,78,216,.18);
}

.hover-rise{
  transition: transform .18s ease, box-shadow .18s ease;
}
.hover-rise:hover{
  transform: translateY(-4px);
  box-shadow: var(--gh-shadow);
}

.badge-soft{
  background: rgba(6,182,212,.10);
  border: 1px solid rgba(6,182,212,.22);
  color: var(--gh-secondary);
}

.btn-primary{
  background: linear-gradient(135deg, var(--gh-primary), var(--gh-secondary));
  border: 0;
}
.btn-primary:hover{
  filter: brightness(1.02);
}

.btn-outline-light{
  border-color: rgba(255,255,255,.35);
}

.table-wrap{
  border:1px solid var(--gh-border);
  border-radius: var(--gh-radius);
  overflow:hidden;
  background: var(--gh-card);
  box-shadow: var(--gh-shadow-soft);
}

.table thead th{
  background: rgba(29,78,216,.07);
  color: var(--gh-ink);
  border-bottom: 1px solid var(--gh-border) !important;
}
[data-theme="dark"] .table thead th{
  background: rgba(6,182,212,.08);
}

.table td, .table th{
  border-color: var(--gh-border) !important;
}

.searchbar{
  border-radius: 999px;
  padding: 12px 16px;
  border:1px solid var(--gh-border);
  background: var(--gh-card);
  box-shadow: var(--gh-shadow-soft);
}
.searchbar input{
  border:0;
  outline:none;
  width:100%;
  background: transparent;
  color: var(--gh-ink);
}
.searchbar .bi{
  color: var(--gh-muted);
}

footer{
  border-top: 1px solid var(--gh-border);
  background: #050b16;
  color: rgba(255,255,255,.88);
}
footer a{ color: rgba(255,255,255,.82); text-decoration:none; }
footer a:hover{ color: #fff; }

.anchor-offset{ scroll-margin-top: 96px; }

.fade-in{
  opacity:0;
  transform: translateY(10px);
  transition: opacity .55s ease, transform .55s ease;
}
.fade-in.show{
  opacity:1;
  transform: translateY(0);
}
