:root {
  --stk-verde: #2e7d32;
  --stk-verde-scuro: #1b5e20;
}

body {
  min-height: 100vh;
  background-color: #f5f6f8;
  padding-bottom: 70px; /* spazio per bottom-nav su mobile */
}

@media (min-width: 992px) {
  body { padding-bottom: 0; }
}

/* Sidebar desktop/tablet (>= 992px) */
.stk-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 240px;
  background: #1f2937;
  color: #fff;
  z-index: 1030;
}
.stk-sidebar .nav-link {
  color: #d1d5db;
}
.stk-sidebar .nav-link.active,
.stk-sidebar .nav-link:hover {
  color: #fff;
  background-color: var(--stk-verde);
  border-radius: .375rem;
}

.stk-content {
  padding: 1rem;
}
@media (min-width: 992px) {
  .stk-content { margin-left: 240px; padding: 1.5rem 2rem; }
}

/* Bottom navigation mobile (< 992px) */
.stk-bottomnav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid #dee2e6;
  display: flex;
  z-index: 1030;
}
@media (min-width: 992px) {
  .stk-bottomnav { display: none; }
}
.stk-bottomnav a {
  flex: 1;
  text-align: center;
  padding: .5rem 0;
  font-size: .72rem;
  color: #555;
  text-decoration: none;
}
.stk-bottomnav a.active { color: var(--stk-verde); font-weight: 600; }

/* Badge di stato colore semaforo, usati in Magazzino/Ordini/Clienti */
.stk-row-danger  { background-color: #fdecea !important; }
.stk-row-warning { background-color: #fff8e1 !important; }
.stk-row-amber   { background-color: #fff3e0 !important; }

.stk-kpi-card { border-left: 4px solid var(--stk-verde); }

/* Tabelle dense: su mobile passano a scorrimento orizzontale */
.table-responsive-stk {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .stk-hide-xs { display: none; }
}
