:root{
  /* ==== BRAND PALETTE (customize here) ==== */
  --brand-50:#eef2ff;
  --brand-100:#e0e7ff;
  --brand-200:#c7d2fe;
  --brand-300:#a5b4fc;
  --brand-400:#818cf8;
  --brand-500:#6366f1;
  --brand-600:#4f46e5;
  --brand-700:#4338ca;
  --brand-800:#3730a3;
  --brand-900:#312e81;
  --brand:#4f46e5;

  --text:#111827;
  --muted:#6b7280;
  --surface:#ffffff;
  --ring:0 0 0 3px rgba(79,70,229,.35);
  --grad:linear-gradient(135deg,var(--brand-700),var(--brand-400));
}
/* Dark */
html.dark{
  --text:#e5e7eb;
  --muted:#94a3b8;
  --surface:#0e1629;
}

/* Basic atoms */
.input{padding:.65rem .9rem;border:1px solid #e5e7eb;border-radius:1rem;outline:none;background:var(--surface);color:var(--text)}
.input:focus{box-shadow:var(--ring);border-color:var(--brand-300)}
.btn-primary{padding:.7rem 1.1rem;background:var(--brand-600);color:#fff;border-radius:9999px;font-weight:800}
.btn-soft{padding:.7rem 1.1rem;background:var(--brand-50);color:var(--brand-800);border-radius:9999px;font-weight:700}
.btn-white{padding:.6rem 1rem;background:#fff;color:#1f2937;border-radius:9999px;font-weight:800}
.btn-outline{padding:.55rem .9rem;border:1px solid var(--brand-200);background:#fff;border-radius:9999px;color:var(--brand-700);font-weight:700}
.nav{color:#4b5563}
.nav:hover{color:var(--brand-700)}
.icon-btn{width:40px;height:40px;border-radius:9999px;display:grid;place-items:center;background:#fff;border:1px solid #e5e7eb}
.icon-btn:hover{box-shadow:var(--ring)}
.section-title{font-size:1.6rem;font-weight:900}
.card{background:var(--surface);border-radius:1.25rem;box-shadow:0 1px 2px rgba(0,0,0,.06);padding:1.25rem}
.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr)}}
/* Executive accents */
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi{background:var(--surface);border-radius:1rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.kpi-n{font-weight:900;font-size:1.25rem}
.kpi-t{font-size:.85rem;color:var(--muted)}
.hero-card{position:relative;border-radius:1.25rem;overflow:hidden;box-shadow:0 10px 30px rgba(30,58,138,.2)}
.hero-img{width:100%;height:380px;object-fit:cover;display:block}
.hero-badge{position:absolute;bottom:12px;left:12px;background:#111827;color:#fff;font-weight:800;padding:.4rem .6rem;border-radius:.75rem;font-size:.75rem}
.fab{position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:9999px;background:var(--brand-600);color:#fff;display:grid;place-items:center;font-size:20px;box-shadow:0 10px 20px rgba(29,78,216,.35)}
.fab:hover{transform:translateY(-2px)}
/* Tabs */
.tabs{display:flex;gap:.5rem;background:var(--surface);border:1px solid var(--brand-100);border-radius:9999px;padding:.35rem;max-width:max-content}
.tab{padding:.5rem 1rem;border-radius:9999px;font-weight:800;color:#4b5563}
.tab.active{background:var(--brand-600);color:#fff}
/* Toggle */
.toggle-wrap{display:flex;background:var(--brand-50);padding:.3rem;border-radius:9999px}
.toggle{padding:.45rem .8rem;border-radius:9999px;font-weight:800;color:#4b5563}
.toggle.active{background:var(--brand-600);color:#fff}
/* News/Project cards */
.news-card{display:flex;flex-direction:column;background:var(--surface);border-radius:1rem;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.news-cover{width:100%;height:180px;object-fit:cover}
.news-body{padding:1rem}
.news-meta{font-size:.8rem;color:var(--muted)}
.news-title{font-weight:900;font-size:1.05rem}
/* List rows */
.row{display:grid;grid-template-columns:80px 1.5fr 1fr 1fr 100px;gap:1rem;align-items:center;padding:1rem}
.row:hover{background:#f9fafb}
.row img{width:80px;height:56px;object-fit:cover;border-radius:.5rem}
/* Stars */
.star{font-size:1.2rem;line-height:1;opacity:.35}
.star.active{opacity:1}
/* Skeletons */
.skel{position:relative;overflow:hidden;background:#f3f4f6;border-radius:.75rem}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);transform:translateX(-100%);animation:sh 1.2s infinite}
@keyframes sh{to{transform:translateX(100%)}}
/* Dark extras */
html.dark, .dark body{background:#0b1220;color:#e5e7eb}
.dark .card,.dark .news-card,.dark .kpi{background:#0e1629;box-shadow:none;border:1px solid #1f2a44}
.dark .input{background:#0e1629;border-color:#1f2a44;color:#cbd5e1}
.dark .btn-outline{background:#0b1220;border-color:#29406e}
.dark .icon-btn{background:#0e1629;border-color:#1f2a44;color:#cbd5e1}
.dark .tabs{background:#0e1629;border-color:#1f2a44}
.dark .skel{background:#111b31}
/* Executive Bio */
.bio{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:1024px){.bio{grid-template-columns:340px 1fr}}
.bio-photo{width:100%;height:340px;object-fit:cover;border-radius:1rem;box-shadow:0 10px 20px rgba(0,0,0,.15)}
.badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--brand-200);background:var(--brand-50);color:var(--brand-700);padding:.35rem .6rem;border-radius:.75rem;font-weight:800;font-size:.75rem}


/* Hide horizontal scrollbar for nav overflow */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }


/* ===== Colored Header (brand gradient) ===== */
.header-colored {
  background: linear-gradient(90deg, var(--brand-700), var(--brand-500));
  color: #fff;
}
.header-colored .nav { color: rgba(255,255,255,.9); }
.header-colored .nav:hover { color: #fff; }
.header-colored .btn-outline {
  background: transparent;
  border-color: rgba(255,255,255,.55);
  color: #fff;
}
.header-colored .icon-btn {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.25);
  color: #fff;
}
.header-colored .icon-btn:hover { box-shadow: 0 0 0 3px rgba(255,255,255,.25); }
.header-colored .no-scrollbar { scrollbar-color: transparent transparent; }
