/* ===================== Farm Management Landing ===================== */
:root {
  --fc-navy: #0a3060;
  --fc-navy-2: #123f7b;
  --fc-green: #58b947;
  --fc-green-2: #3d9a2e;
  --fc-green-rgb: 88,185,71;
  --fc-navy-rgb: 10,48,96;
  --fc-navy-dark: #071d3a;
  --fc-orange: #f7941e;
  --fc-purple: #7a4fd0;
  --fc-teal: #1fa8a0;
  --fc-red: #e4574d;
  --fc-blue: #2e8fd4;
  --fc-ink: #1b2a41;
  --fc-muted: #5d6b82;
  --fc-bg: #f5f8fc;
  --fc-white: #ffffff;
  --fc-radius: 18px;
  --fc-shadow: 0 18px 45px rgba(10, 48, 96, .12);
  --fc-grad: linear-gradient(120deg, var(--fc-green) 0%, var(--fc-green-2) 100%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--fc-ink);
  background: var(--fc-white);
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .navbar-brand { font-family: 'Poppins', sans-serif; }

.text-gradient {
  background: var(--fc-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------------- Navbar ---------------- */
.fc-navbar {
  padding: 14px 0;
  background: rgba(255, 255, 255, 0);
  transition: all .3s ease;
}
.fc-navbar.scrolled {
  background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(12px);
  box-shadow: 0 6px 24px rgba(10, 48, 96, .08);
  padding: 8px 0;
}
.fc-navbar .nav-link {
  color: var(--fc-ink);
  font-weight: 500;
  font-size: .95rem;
  padding: .5rem .85rem !important;
  border-radius: 10px;
}
.fc-navbar .nav-link:hover,
.fc-navbar .nav-link.active { color: var(--fc-green-2); background: rgba(var(--fc-green-rgb),.08); }
.fc-navbar .navbar-brand { font-size: 1.3rem; color: var(--fc-ink); }

.fc-logo {
  width: 40px; height: 40px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--fc-navy) 0%, var(--fc-navy-2) 60%, var(--fc-green) 130%);
  color: #fff; font-size: 1.15rem;
  box-shadow: 0 6px 16px rgba(var(--fc-navy-rgb),.25);
}

/* ---------------- Buttons ---------------- */
.btn-fc-primary {
  background: var(--fc-grad);
  border: none; color: #fff; font-weight: 600;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(var(--fc-green-rgb),.35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-fc-primary:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 30px rgba(var(--fc-green-rgb),.45); }
.btn-fc-outline {
  border: 2px solid rgba(var(--fc-navy-rgb),.18); color: var(--fc-navy);
  font-weight: 600; border-radius: 12px; background: #fff;
  transition: all .2s ease;
}
.btn-fc-outline:hover { border-color: var(--fc-green); color: var(--fc-green-2); background: rgba(var(--fc-green-rgb),.06); }

/* ---------------- Hero ---------------- */
.fc-hero {
  position: relative;
  padding: 160px 0 130px;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(var(--fc-green-rgb),.14), transparent 60%),
    radial-gradient(700px 420px at -10% 30%, rgba(46,143,212,.12), transparent 60%),
    linear-gradient(180deg, #f2f8fd 0%, #ffffff 80%);
  overflow: hidden;
}
.fc-badge {
  display: inline-flex; align-items: center;
  background: rgba(var(--fc-green-rgb),.12);
  color: var(--fc-green-2);
  font-weight: 600; font-size: .82rem;
  padding: .45rem .95rem; border-radius: 999px;
}
.fc-badge.light { background: rgba(255,255,255,.14); color: #d7f0cd; }
.fc-hero-title {
  font-size: clamp(2.1rem, 4.2vw, 3.4rem);
  font-weight: 800; line-height: 1.15; letter-spacing: -.5px;
}
.fc-hero-sub { font-size: 1.1rem; color: var(--fc-muted); max-width: 34rem; }
.fc-hero-meta { display: flex; flex-wrap: wrap; gap: 1.4rem; color: var(--fc-muted); font-weight: 500; font-size: .92rem; }
.fc-hero-meta i { color: var(--fc-green); }
.fc-hero-wave {
  position: absolute; left: 0; right: 0; bottom: -1px; height: 60px;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.6));
  pointer-events: none;
}

/* ---------------- Hero mockup ---------------- */
.fc-mockup-wrap { position: relative; }
.fc-mockup {
  position: relative;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(var(--fc-navy-rgb),.07);
}
.fc-mockup-bar {
  display: flex; align-items: center; gap: 7px;
  padding: 12px 16px;
  background: #f6f9fd; border-bottom: 1px solid rgba(var(--fc-navy-rgb),.06);
}
.fc-mockup-bar span { width: 11px; height: 11px; border-radius: 50%; background: #e2e8f0; }
.fc-mockup-bar span:nth-child(1) { background: #ff6058; }
.fc-mockup-bar span:nth-child(2) { background: #ffbd2e; }
.fc-mockup-bar span:nth-child(3) { background: #28ca42; }
.fc-mockup-body { padding: 18px; }

.fc-kpi {
  border-radius: 14px; padding: 14px 12px; color: #fff; text-align: start;
}
.fc-kpi b { display: block; font-size: 1.45rem; font-family: 'Poppins'; }
.fc-kpi small { opacity: .9; }
.kpi-a { background: linear-gradient(135deg, #8a4fe8, #6a5ae0); }
.kpi-b { background: linear-gradient(135deg, #f78f4a, #e2574c); }
.kpi-c { background: linear-gradient(135deg, #2ec5a9, #2e8fd4); }

.fc-chart {
  border: 1px solid rgba(var(--fc-navy-rgb),.07); border-radius: 14px; padding: 14px;
  background: #fbfdff;
}
.fc-bars { display: flex; align-items: flex-end; gap: 14px; height: 130px; padding-top: 12px; }
.fc-bar {
  flex: 1; height: var(--h);
  background: linear-gradient(180deg, var(--fc-green) 0%, var(--fc-navy-2) 140%);
  border-radius: 8px 8px 4px 4px;
  position: relative;
  transform-origin: bottom;
  animation: grow 1s cubic-bezier(.2,.8,.3,1) both;
}
.fc-bar span {
  position: absolute; bottom: -22px; left: 0; right: 0;
  text-align: center; font-size: .72rem; color: var(--fc-muted);
}
.fc-bars { margin-bottom: 24px; }
@keyframes grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }

.fc-mockup-row { display: flex; flex-wrap: wrap; gap: 8px; }
.fc-pill {
  font-size: .78rem; font-weight: 600;
  padding: .4rem .75rem; border-radius: 999px;
  display: inline-flex; align-items: center; gap: .35rem;
}
.fc-pill.ok { background: rgba(var(--fc-green-rgb),.12); color: var(--fc-green-2); }
.fc-pill.warn { background: rgba(247,148,30,.13); color: #c06d05; }
.fc-pill.info { background: rgba(46,143,212,.12); color: #1d6fa8; }

.fc-float-card {
  position: absolute; display: flex; align-items: center; gap: 10px;
  background: #fff; border-radius: 14px; padding: 12px 16px;
  border: 1px solid rgba(var(--fc-navy-rgb),.07);
  animation: floaty 5s ease-in-out infinite;
}
.fc-float-card i { font-size: 1.5rem; color: var(--fc-green); }
.fc-float-card b { display: block; font-family: 'Poppins'; font-size: 1rem; }
.fc-float-card small { color: var(--fc-muted); }
.fc-float-1 { top: 8%; inset-inline-end: -14px; }
.fc-float-2 { bottom: 6%; inset-inline-start: -18px; animation-delay: 1.4s; }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* ---------------- Clients ---------------- */
.fc-clients { padding: 40px 0 8px; text-align: center; }
.fc-clients-label {
  color: var(--fc-muted); font-weight: 600; font-size: .78rem;
  letter-spacing: .14em; text-transform: uppercase; margin-bottom: 6px;
}
.fc-client-logo {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.fc-client-img {
  height: 84px; width: auto; object-fit: contain;
  transition: transform .25s ease, filter .25s ease;
  filter: saturate(.95);
}
.fc-client-img-lg { height: 96px; }
.fc-client-img:hover { transform: translateY(-3px); filter: none; }
.fc-client-name { color: var(--fc-navy); font-size: .92rem; font-weight: 700; }
.fc-client-logo small { color: var(--fc-muted); font-size: .82rem; font-weight: 500; max-width: 15rem; }
.fc-client-sep { width: 1px; height: 64px; background: rgba(var(--fc-navy-rgb),.14); }
html[lang="ar"] .fc-clients-label { letter-spacing: 0; }

/* ---------------- Stats ---------------- */
.fc-stats { padding: 56px 0; background: #fff; border-bottom: 1px solid rgba(var(--fc-navy-rgb),.06); }
.fc-stat-num { font-size: 2.4rem; font-weight: 800; color: var(--fc-navy); }
.fc-stats p { color: var(--fc-muted); margin: 0; font-weight: 500; }

/* ---------------- Sections ---------------- */
.fc-section { padding: 100px 0; }
.fc-section-alt { background: var(--fc-bg); }
.fc-section-head { max-width: 640px; margin: 0 auto; }
.fc-title { font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -.4px; }
.fc-subtitle { color: var(--fc-muted); font-size: 1.05rem; }

/* ---------------- Feature cards ---------------- */
.fc-card {
  background: #fff; border: 1px solid rgba(var(--fc-navy-rgb),.07);
  border-radius: var(--fc-radius); padding: 28px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.fc-card:hover { transform: translateY(-6px); box-shadow: var(--fc-shadow); }
.fc-card h5 { font-weight: 700; margin: 16px 0 10px; }
.fc-card p { color: var(--fc-muted); font-size: .95rem; }

.fc-icon {
  width: 54px; height: 54px; border-radius: 15px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.5rem; color: #fff;
}
.ic-green { background: linear-gradient(135deg, var(--fc-green), #7ed957); }
.ic-blue { background: linear-gradient(135deg, var(--fc-blue), #5ab0ea); }
.ic-purple { background: linear-gradient(135deg, var(--fc-purple), #9a6fe8); }
.ic-orange { background: linear-gradient(135deg, var(--fc-orange), #f7b34e); }
.ic-teal { background: linear-gradient(135deg, var(--fc-teal), #3ec8bd); }
.ic-red { background: linear-gradient(135deg, var(--fc-red), #ef7b72); }
.ic-navy { background: linear-gradient(135deg, var(--fc-navy), var(--fc-navy-2)); }

.fc-list { list-style: none; padding: 0; margin: 14px 0 0; }
.fc-list li {
  position: relative; padding-inline-start: 24px;
  color: var(--fc-ink); font-size: .9rem; font-weight: 500;
  margin-bottom: 7px;
}
.fc-list li::before {
  content: '\F26B'; /* bi-check-lg */
  font-family: 'bootstrap-icons';
  position: absolute; inset-inline-start: 0; top: 0;
  color: var(--fc-green); font-size: .85rem;
}

/* ---------------- Journey ---------------- */
.fc-journey {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  position: relative;
}
.fc-journey::before {
  content: ''; position: absolute; top: 34px; left: 6%; right: 6%;
  height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, var(--fc-navy), var(--fc-green));
  opacity: .25;
}
.fc-step {
  position: relative; text-align: center; padding: 0 6px;
}
.fc-step-dot {
  width: 42px; height: 42px; margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--fc-grad); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-family: 'Poppins';
  box-shadow: 0 8px 18px rgba(var(--fc-green-rgb),.35);
  position: relative; z-index: 1;
}
.fc-step > i { font-size: 1.7rem; color: var(--fc-navy); display: block; margin-bottom: 8px; }
.fc-step h6 { font-weight: 700; font-size: .95rem; }
.fc-step p { font-size: .8rem; color: var(--fc-muted); margin: 0; }

/* ---------------- Dashboards ---------------- */
.fc-dash-tabs { gap: 8px; }
.fc-dash-tabs .nav-link {
  border-radius: 999px; font-size: .85rem; font-weight: 600;
  color: var(--fc-navy); background: #eef3f9; padding: .45rem 1rem;
}
.fc-dash-tabs .nav-link.active { background: var(--fc-navy); color: #fff; }

.fc-dash-panel {
  background: #fff; border-radius: var(--fc-radius);
  padding: 30px; border: 1px solid rgba(var(--fc-navy-rgb),.07);
  min-height: 320px;
}
.fc-dash-panel h5 { font-weight: 700; color: var(--fc-navy); }
.fc-dash-panel p { color: var(--fc-muted); }

.fc-chart-legend { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: 16px 0 10px; color: var(--fc-muted); font-size: .78rem; }
.fc-chart-legend > span, .fc-plan-legend > div { display: inline-flex; align-items: center; gap: 7px; }
.fc-chart-legend-compact { margin: 12px 0 8px; gap: 14px; font-size: .72rem; }
.fc-legend-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.fc-legend-actual, .fc-legend-completed { background: var(--fc-green); }
.fc-legend-target { background: var(--fc-blue); }
.fc-legend-active { background: #4e91cf; }
.fc-legend-overdue { background: var(--fc-orange); }
.fc-legend-line { display: inline-block; width: 17px; height: 0; border-top: 3px solid; border-radius: 3px; }
.fc-legend-line.fc-legend-actual { border-color: var(--fc-green); }
.fc-legend-line.fc-legend-target { border-color: var(--fc-blue); border-top-style: dashed; }
.fc-legend-target-mark { display: inline-block; height: 14px; border-left: 2px solid var(--fc-navy); }

.fc-column-chart, .fc-line-chart, .fc-quality-chart, .fc-tracker-chart { background: var(--fc-bg); border-radius: 14px; padding: 14px; }
.fc-column-plot { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; height: 132px; align-items: end; padding: 0 5px; background: repeating-linear-gradient(to top, transparent 0, transparent 31%, rgba(var(--fc-navy-rgb),.08) 32%, transparent 33%); }
.fc-column-group { display: flex; align-items: end; justify-content: center; gap: 6px; height: 100%; }
.fc-column { display: block; width: min(26px, 38%); height: var(--bar-height); border-radius: 5px 5px 2px 2px; }
.fc-column-target { background: linear-gradient(180deg, var(--fc-blue), var(--fc-navy)); }
.fc-column-actual { background: linear-gradient(180deg, var(--fc-green), var(--fc-green-2)); }
.fc-column-labels, .fc-line-labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 8px; color: var(--fc-muted); font-size: .72rem; text-align: center; }
.fc-line-chart { padding: 12px 14px 8px; direction: ltr; }
.fc-line-chart svg { display: block; width: 100%; height: 138px; overflow: visible; }
.fc-chart-grid { fill: none; stroke: rgba(var(--fc-navy-rgb),.1); stroke-width: 1; }
.fc-chart-line { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.fc-chart-line-target { stroke: var(--fc-blue); stroke-dasharray: 8 7; }
.fc-chart-line-actual { stroke: var(--fc-green); }
.fc-chart-points { fill: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; }
.fc-chart-points-target { stroke: var(--fc-blue); }
.fc-chart-points-actual { stroke: var(--fc-green); }
.fc-line-labels { grid-template-columns: repeat(7, minmax(0, 1fr)); margin-top: 2px; font-size: .68rem; }
.fc-quality-chart { display: grid; gap: 14px; padding: 18px 16px; }
.fc-quality-row { display: grid; grid-template-columns: 74px minmax(0, 1fr) 38px; align-items: center; gap: 10px; color: var(--fc-ink); font-size: .78rem; }
.fc-quality-row strong { text-align: end; color: var(--fc-navy); font-size: .78rem; }
.fc-quality-track { position: relative; height: 11px; border-radius: 99px; background: linear-gradient(90deg, rgba(var(--fc-navy-rgb),.05) 0 33%, rgba(var(--fc-navy-rgb),.1) 33% 66%, rgba(var(--fc-navy-rgb),.05) 66%); }
.fc-quality-track b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--fc-green), var(--fc-green-2)); }
.fc-quality-track i { position: absolute; z-index: 1; top: -4px; height: 19px; border-left: 2px solid var(--fc-navy); }
.fc-plans-chart { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 7vw, 70px); min-height: 190px; padding: 12px; }
.fc-plan-donut { display: grid; place-items: center; width: 158px; aspect-ratio: 1; flex: 0 0 auto; border-radius: 50%; background: conic-gradient(var(--fc-green) 0 64%, #4e91cf 64% 88%, var(--fc-orange) 88% 100%); }
.fc-plan-donut > div { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 70%; aspect-ratio: 1; border-radius: 50%; background: #fff; }
.fc-plan-donut strong { color: var(--fc-navy); font-size: 1.65rem; line-height: 1.1; }
.fc-plan-donut span { color: var(--fc-muted); font-size: .68rem; }
.fc-plan-legend { display: grid; gap: 14px; color: var(--fc-muted); font-size: .78rem; }
.fc-plan-legend strong { margin-inline-start: auto; color: var(--fc-navy); }
.fc-tracker-chart { display: grid; gap: 14px; padding: 18px 16px; }
.fc-tracker-row { display: grid; grid-template-columns: minmax(88px, 125px) minmax(0, 1fr); align-items: center; gap: 12px; color: var(--fc-ink); font-size: .74rem; }
.fc-tracker-row > div { display: flex; height: 13px; overflow: hidden; border-radius: 99px; background: rgba(var(--fc-navy-rgb),.08); }
.fc-tracker-row i { display: block; height: 100%; }
.fc-track-completed { background: var(--fc-green); }
.fc-track-active { background: #4e91cf; }
.fc-track-overdue { background: var(--fc-orange); }
.fc-shipment-timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin: 36px 0 14px; direction: ltr; }
.fc-shipment-timeline::before { position: absolute; top: 17px; left: 10%; right: 10%; height: 2px; background: #dce5ee; content: ''; }
.fc-timeline-step { position: relative; z-index: 1; display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.fc-timeline-node { display: grid; place-items: center; width: 36px; height: 36px; border: 2px solid #dce5ee; border-radius: 50%; background: #fff; color: var(--fc-muted); }
.fc-timeline-step.is-complete .fc-timeline-node { border-color: var(--fc-green); background: var(--fc-green); color: #fff; }
.fc-timeline-step.is-current .fc-timeline-node { border-color: var(--fc-blue); color: var(--fc-blue); box-shadow: 0 0 0 5px rgba(46,143,212,.12); }
.fc-timeline-step strong { color: var(--fc-navy); font-size: .68rem; line-height: 1.25; direction: rtl; }
.fc-timeline-step small { color: var(--fc-muted); font-size: .65rem; direction: ltr; }

/* ---------------- AI section ---------------- */
.fc-ai {
  background:
    radial-gradient(700px 400px at 90% 10%, rgba(var(--fc-green-rgb),.18), transparent 60%),
    linear-gradient(135deg, #08264c 0%, var(--fc-navy) 55%, #0f4d33 130%);
  color: #fff;
}
.fc-ai-sub { color: rgba(255,255,255,.78); font-size: 1.05rem; }
.fc-ai-point {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px; padding: 12px 14px;
  font-size: .9rem; font-weight: 500;
}
.fc-ai-point i { color: var(--fc-green); font-size: 1.15rem; }

.fc-chat { border-radius: var(--fc-radius); overflow: hidden; background: #fff; color: var(--fc-ink); }
.fc-chat-head {
  display: flex; align-items: center; gap: 10px;
  background: var(--fc-navy); color: #fff;
  padding: 14px 18px; font-weight: 600; font-family: 'Poppins';
}
.fc-chat-head i { color: var(--fc-green); font-size: 1.3rem; }
.fc-chat-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.fc-msg { max-width: 82%; padding: 11px 15px; border-radius: 14px; font-size: .9rem; line-height: 1.45; }
.fc-msg.user { align-self: flex-end; background: var(--fc-navy); color: #fff; border-bottom-right-radius: 4px; }
.fc-msg.bot { align-self: flex-start; background: var(--fc-bg); border: 1px solid rgba(var(--fc-navy-rgb),.08); border-bottom-left-radius: 4px; }

/* ---------------- Why us ---------------- */
.fc-why {
  background: #fff; border: 1px solid rgba(var(--fc-navy-rgb),.07);
  border-radius: var(--fc-radius); padding: 24px;
  height: 100%;
  transition: transform .25s ease, box-shadow .25s ease;
}
.fc-why:hover { transform: translateY(-5px); box-shadow: var(--fc-shadow); }
.fc-why i { font-size: 1.9rem; color: var(--fc-green); }
.fc-why h6 { font-weight: 700; margin: 12px 0 8px; }
.fc-why p { color: var(--fc-muted); font-size: .9rem; margin: 0; }

/* ---------------- Demo ---------------- */
.fc-demo {
  background:
    radial-gradient(600px 400px at 8% 20%, rgba(var(--fc-green-rgb),.22), transparent 60%),
    linear-gradient(135deg, var(--fc-navy) 0%, #08264c 70%);
  color: #fff;
}
.fc-demo-points { list-style: none; padding: 0; margin: 0; }
.fc-demo-points li {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; font-weight: 500; color: rgba(255,255,255,.9);
}
.fc-demo-points i { color: var(--fc-green); font-size: 1.15rem; }

.fc-form-card {
  background: #fff; color: var(--fc-ink);
  border-radius: 22px; padding: 34px;
}
.fc-form-card .form-label { font-weight: 600; font-size: .88rem; }
.fc-form-card .form-control,
.fc-form-card .form-select {
  border-radius: 10px; padding: .65rem .9rem;
  border: 1.5px solid #e3eaf2; font-size: .95rem;
}
.fc-form-card .form-control:focus,
.fc-form-card .form-select:focus {
  border-color: var(--fc-green);
  box-shadow: 0 0 0 .2rem rgba(var(--fc-green-rgb),.15);
}
.fc-form-card .was-validated .form-control:invalid,
.fc-form-card .form-control.is-invalid { border-color: var(--fc-red); }

.fc-success-icon {
  width: 72px; height: 72px; margin: 0 auto;
  border-radius: 50%; background: var(--fc-grad);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 2rem;
  box-shadow: 0 12px 28px rgba(var(--fc-green-rgb),.4);
  animation: pop .4s cubic-bezier(.2,.8,.3,1.4) both;
}
@keyframes pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }

.fc-toast-container { z-index: 1090; }
.fc-toast-container .toast { box-shadow: var(--fc-shadow); }

/* ---------------- Footer ---------------- */
.fc-footer { background: #071d3a; padding: 60px 0 26px; }
.fc-footer-text { color: rgba(255,255,255,.6); font-size: .9rem; }
.fc-footer-links { display: flex; flex-direction: column; gap: 8px; }
.fc-footer-links a {
  color: rgba(255,255,255,.72); text-decoration: none;
  font-size: .92rem; transition: color .2s;
}
.fc-footer-links a:hover { color: var(--fc-green); }
.fc-footer-hr { border-color: rgba(255,255,255,.12); margin: 30px 0 20px; }
.fc-footer-dev { color: var(--fc-green); text-decoration: none; font-weight: 600; }

/* ---------------- Back to top ---------------- */
.fc-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 1030;
  width: 46px; height: 46px; border-radius: 12px; border: none;
  background: var(--fc-navy); color: #fff; font-size: 1.1rem;
  box-shadow: 0 10px 24px rgba(var(--fc-navy-rgb),.35);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: all .3s ease;
}
.fc-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.fc-top:hover { background: var(--fc-green-2); }

/* ---------------- Reveal animation ---------------- */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.3,1); }
.reveal.visible { opacity: 1; transform: none; }

/* ---------------- Language toggle ---------------- */
.fc-lang-toggle {
  border: 1.5px solid rgba(var(--fc-navy-rgb),.18);
  border-radius: 999px; background: #fff;
  color: var(--fc-navy); font-weight: 600; font-size: .85rem;
  transition: all .2s ease;
}
.fc-lang-toggle:hover { border-color: var(--fc-green); color: var(--fc-green-2); background: rgba(var(--fc-green-rgb),.07); }

/* ---------------- RTL / Arabic ---------------- */
html[lang="ar"] body {
  font-family: 'Tajawal', 'Inter', system-ui, sans-serif;
}
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3,
html[lang="ar"] h4, html[lang="ar"] h5, html[lang="ar"] h6,
html[lang="ar"] .navbar-brand, html[lang="ar"] .fc-kpi b,
html[lang="ar"] .fc-stat-num, html[lang="ar"] .fc-step-dot {
  font-family: 'Cairo', 'Tajawal', sans-serif;
  letter-spacing: 0;
}
html[dir="rtl"] .fc-msg.user { align-self: flex-start; border-radius: 14px 14px 4px 14px; }
html[dir="rtl"] .fc-msg.bot  { align-self: flex-end;   border-radius: 14px 14px 14px 4px; }
html[dir="rtl"] .fc-top { right: auto; left: 22px; }
html[dir="rtl"] .fc-bars { direction: ltr; }

/* ---------------- Responsive ---------------- */
@media (max-width: 991.98px) {
  .fc-journey { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .fc-journey::before { display: none; }
  .fc-float-1 { right: 0; }
  .fc-float-2 { left: 0; }
}
@media (max-width: 575.98px) {
  .fc-journey { grid-template-columns: repeat(2, 1fr); }
  .fc-hero { padding-top: 130px; }
  .fc-float-card { position: static; margin-top: 12px; display: inline-flex; }
  .fc-form-card { padding: 24px; }
  .fc-dash-panel { padding: 18px; }
  .fc-column-chart, .fc-line-chart, .fc-quality-chart, .fc-tracker-chart { padding: 11px; }
  .fc-plans-chart { gap: 18px; flex-wrap: wrap; }
  .fc-plan-donut { width: 132px; }
  .fc-tracker-row { grid-template-columns: minmax(72px, 92px) minmax(0, 1fr); gap: 8px; font-size: .67rem; }
  .fc-quality-row { grid-template-columns: 62px minmax(0, 1fr) 32px; gap: 7px; font-size: .7rem; }
  .fc-shipment-timeline { gap: 0; }
  .fc-timeline-node { width: 30px; height: 30px; }
  .fc-shipment-timeline::before { top: 14px; }
  .fc-timeline-step strong { font-size: .58rem; }
  .fc-timeline-step small { font-size: .58rem; }
}

.fc-theme {
  --fc-green-rgb: 88,185,71;
  --fc-navy-rgb: 10,48,96;
  --fc-navy-dark: #071d3a;
  --fc-grad: linear-gradient(120deg, var(--fc-green), var(--fc-green-2));
}
.fc-theme.theme-farm {
  --fc-navy: #0a3060;
  --fc-navy-2: #123f7b;
  --fc-navy-dark: #071d3a;
  --fc-green: #58b947;
  --fc-green-2: #3d9a2e;
  --fc-green-rgb: 88,185,71;
  --fc-navy-rgb: 10,48,96;
  --fc-bg: #f5f8fc;
}
.fc-theme.theme-ocean {
  --fc-navy: #0c3557;
  --fc-navy-2: #126782;
  --fc-navy-dark: #08283f;
  --fc-green: #168aad;
  --fc-green-2: #0b7285;
  --fc-green-rgb: 22,138,173;
  --fc-navy-rgb: 12,53,87;
  --fc-bg: #eff8fb;
}
.fc-theme.theme-citrus {
  --fc-navy: #674018;
  --fc-navy-2: #9a601f;
  --fc-navy-dark: #462a0f;
  --fc-green: #e8872b;
  --fc-green-2: #c46215;
  --fc-green-rgb: 232,135,43;
  --fc-navy-rgb: 103,64,24;
  --fc-bg: #fff8ef;
}
.fc-theme.theme-orchid {
  --fc-navy: #3d2b69;
  --fc-navy-2: #6845a0;
  --fc-navy-dark: #2a1c4b;
  --fc-green: #8656c7;
  --fc-green-2: #6d3caf;
  --fc-green-rgb: 134,86,199;
  --fc-navy-rgb: 61,43,105;
  --fc-bg: #f7f3fc;
}
.fc-theme.theme-earth {
  --fc-navy: #12433d;
  --fc-navy-2: #1a6e60;
  --fc-navy-dark: #0b302c;
  --fc-green: #178b78;
  --fc-green-2: #0e7565;
  --fc-green-rgb: 23,139,120;
  --fc-navy-rgb: 18,67,61;
  --fc-bg: #eff8f5;
}
.fc-theme .fc-stats { background: color-mix(in srgb, var(--fc-bg) 60%, #fff); }
.fc-theme .fc-footer { background: var(--fc-navy-dark); }
