:root{
  --fcg-gold:#E0C000;
  --fcg-slate:#406080;
  --fcg-bg:#F6F7FA;
  --fcg-card:#ffffff;
  --fcg-border:#E6E8EC;
  --fcg-text:#0f172a;
}
body{ background: var(--fcg-bg); }
.fcg-card{
  background: var(--fcg-card);
  border: 1px solid var(--fcg-border);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(16,24,40,.06);
}
.btn-fcg{
  background: var(--fcg-gold);
  border-color: var(--fcg-gold);
  color: #1b1b1b;
  font-weight: 600;
}
.btn-fcg:hover{ filter: brightness(.98); }
.btn-fcg-outline{
  border-color: var(--fcg-slate);
  color: var(--fcg-slate);
  font-weight: 600;
}
.btn-fcg-outline:hover{
  background: rgba(64,96,128,.08);
  color: var(--fcg-slate);
}
.navbar-brand img{
  width: 28px;
  height: 28px;
  object-fit: contain;
  background: rgba(255,255,255,.12);
  border-radius: 8px;
  padding: 3px;
}
.fcg-badge{
  background: rgba(255,255,255,.16);
  color:#fff;
  padding: .25rem .5rem;
  border-radius: 999px;
  font-size: .85rem;
}
.kbd{
  background: #111827;
  color: white;
  padding: .1rem .35rem;
  border-radius: .35rem;
}
.fcg-warn{
  border-left: 6px solid var(--fcg-gold);
}

/* Mobile-first card lists */
.fcg-vertical-carousel{
  display:flex;
  flex-direction:column;
  gap: .75rem;
  scroll-snap-type:y proximity;
}
.fcg-vertical-carousel > *{ scroll-snap-align:start; }
.fcg-card-link{ transition: transform .08s ease, box-shadow .08s ease; }
.fcg-card-link:active{ transform: scale(.995); }

.fcg-dot{
  width: .55rem;
  height: .55rem;
  display:inline-block;
  border-radius:999px;
  vertical-align: middle;
  box-shadow: 0 0 0 2px rgba(255,255,255,.9);
}
.fcg-dot-warn{ background: #f59e0b; }

.fcg-chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding: .25rem .5rem;
  border-radius:999px;
  border: 1px solid var(--fcg-border);
  background: rgba(255,255,255,.7);
  font-size: .8rem;
}

/* Accordion look for internal forms */
.fcg-accordion .accordion-item{ border:0; }
.fcg-accordion .accordion-button{
  border-radius: 14px !important;
  background: #fff;
  border: 1px solid var(--fcg-border);
  box-shadow: 0 6px 18px rgba(16,24,40,.06);
  color: var(--fcg-text);
  font-weight: 700;
}
.fcg-accordion .accordion-button:not(.collapsed){
  background: #fff;
}
.fcg-accordion .accordion-body{ padding-top: .9rem; }

/* Offcanvas bottom sheet tweaks */
.offcanvas.offcanvas-bottom{
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}
