/* GrowController – Grün-Thema über Bootstrap 5 (Contract: frisches Grün, hell/dunkel). */

:root {
  --gc-green: #2E9E5B;
  --gc-green-dark: #1E7A45;
  --gc-sprout: #8FD14F;
  --gc-tint: #E8F5EC;
  --gc-ink: #0F3D24;

  /* Bootstrap-Primärfarbe auf Grün umstellen */
  --bs-primary: #2E9E5B;
  --bs-primary-rgb: 46, 158, 91;
  --bs-link-color: #1E7A45;
  --bs-link-color-rgb: 30, 122, 69;
  --bs-link-hover-color: #0F3D24;
}

/* Buttons/Badges in Grün */
.btn-primary {
  --bs-btn-bg: var(--gc-green);
  --bs-btn-border-color: var(--gc-green);
  --bs-btn-hover-bg: var(--gc-green-dark);
  --bs-btn-hover-border-color: var(--gc-green-dark);
  --bs-btn-active-bg: var(--gc-green-dark);
  --bs-btn-active-border-color: var(--gc-ink);
  --bs-btn-disabled-bg: var(--gc-green);
  --bs-btn-disabled-border-color: var(--gc-green);
}
.btn-outline-primary {
  --bs-btn-color: var(--gc-green-dark);
  --bs-btn-border-color: var(--gc-green);
  --bs-btn-hover-bg: var(--gc-green);
  --bs-btn-hover-border-color: var(--gc-green);
  --bs-btn-active-bg: var(--gc-green-dark);
}
.text-success, .text-primary { color: var(--gc-green-dark) !important; }
.bg-success { background-color: var(--gc-green) !important; }

/* Marken-Navbar */
.gc-navbar { background-color: var(--gc-green-dark); }
.gc-navbar .navbar-brand,
.gc-navbar .nav-link,
.gc-navbar .navbar-text { color: #fff; }
.gc-navbar .nav-link.active { color: var(--gc-sprout); font-weight: 500; }

/* Sidebar (Desktop) */
.gc-sidebar { min-width: 200px; }
.gc-sidebar .nav-link {
  color: var(--bs-secondary-color);
  border-radius: .5rem;
  margin-bottom: 2px;
}
.gc-sidebar .nav-link.active {
  background-color: var(--gc-tint);
  color: var(--gc-ink);
  font-weight: 500;
}
[data-bs-theme="dark"] .gc-sidebar .nav-link.active {
  background-color: rgba(143, 209, 79, .18);
  color: var(--gc-sprout);
}
.gc-sidebar .nav-link i { width: 1.25rem; }

/* Mobile Bottom-Nav */
.gc-bottomnav {
  position: sticky;
  bottom: 0;
  z-index: 1030;
  background: var(--bs-body-bg);
  border-top: 1px solid var(--bs-border-color);
}
.gc-bottomnav a {
  flex: 1;
  text-align: center;
  padding: .4rem 0;
  font-size: .7rem;
  color: var(--bs-secondary-color);
  text-decoration: none;
}
.gc-bottomnav a.active { color: var(--gc-green-dark); }
[data-bs-theme="dark"] .gc-bottomnav a.active { color: var(--gc-sprout); }
.gc-bottomnav a i { display: block; font-size: 1.1rem; }

/* Sensor-/Aktor-Kacheln */
.gc-metric { background: var(--bs-tertiary-bg); border-radius: .75rem; padding: .75rem 1rem; }
.gc-metric .label { font-size: .75rem; color: var(--bs-secondary-color); }
.gc-metric .value { font-size: 1.4rem; font-weight: 500; color: var(--gc-green-dark); }
[data-bs-theme="dark"] .gc-metric .value { color: var(--gc-sprout); }

/* Status-Punkte (Geräte-/Sensor-Status, Contract §9/§5.1) */
.gc-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; }
.gc-dot.online, .gc-dot.ok { background: var(--bs-success); }
.gc-dot.offline, .gc-dot.absent { background: var(--bs-warning); }
.gc-dot.error { background: var(--bs-danger); }
.gc-dot.disabled, .gc-dot.provisioning { background: var(--bs-secondary); }

/* Demo-Modus-Markierung */
.gc-demo-banner { background: var(--gc-tint); color: var(--gc-ink); }

/* Tag/Nacht-Achse im Profil-Editor */
.gc-daynight { position: relative; height: 30px; border-radius: .5rem; overflow: hidden; background: #1b2330; }
.gc-daynight .day { position: absolute; top: 0; bottom: 0; background: #FAC775; }
.gc-axis { position: relative; height: 16px; font-size: .65rem; color: var(--bs-secondary-color); }
.gc-axis span { position: absolute; }
