:root {
  --wpm-primary: #95a5a6; /* Concrete */
  --wpm-secondary: #7f8c8d; /* Asbestos */
  --wpm-accent: #bdc3c7; /* Silver */
  --wpm-bg: #f7f9fb; /* Light background */
  --wpm-text: #2c3e50; /* Wet Asphalt */
  --wpm-border: #e5e8eb;
  --wpm-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

html body { background-color: var(--wpm-bg); color: var(--wpm-text); }

html body .brand-primary { background-color: var(--wpm-primary) !important; }
html body .brand-secondary { background-color: var(--wpm-secondary) !important; }
html body .brand-accent { background-color: var(--wpm-accent) !important; }

html body .sidenav { background: #ffffff; box-shadow: var(--wpm-shadow); }
html body .sidenav .user-view { background: var(--wpm-primary); }

html body .fixed-action-btn { z-index: 999; }
html body .fixed-action-btn .btn-large { background-color: var(--wpm-primary); color: #fff; box-shadow: var(--wpm-shadow); }
html body .fixed-action-btn .btn-large:hover { background-color: var(--wpm-secondary); }

html body a { color: var(--wpm-secondary); }
html body a:hover { color: var(--wpm-primary); }

/* --- Breadcrumb (Drupal core outputs nav.breadcrumb > ol.breadcrumb) --- */
html body div.breadcrumb {
  background: transparent;
  box-shadow: none;
  border-bottom: 1px solid var(--wpm-border);
  padding: 6px 0 8px;
}
html body div.breadcrumb ol.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.95rem;
  line-height: 1.6;
}
html body div.breadcrumb ol.breadcrumb li {
  display: inline;
  color: var(--wpm-secondary);
}
html body div.breadcrumb ol.breadcrumb li + li:before {
  content: ' / ';
  color: var(--wpm-accent);
  padding: 0 4px;
}
html body div.breadcrumb a {
  color: var(--wpm-secondary);
  text-decoration: none;
}
html body div.breadcrumb a:hover {
  color: var(--wpm-primary);
  text-decoration: underline;
}

/* --- Sidenav block wrapper fix: prevent full-width nav stripe --- */
html body nav#block-wpm-main-menu {
  display: contents; /* wrapper doesn't occupy space; only sidenav is visible */
}

/* Ensure sidenav behaves as off-canvas panel and list items are block-level */
html body #wpm-sidenav.sidenav {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 998;
  transform: translateX(-105%); /* hidden by default, Materialize controls this */
  width: 300px; /* явная ширина панели */
  border-right: 1px solid var(--wpm-border);
}
html body #wpm-sidenav.sidenav li { display: block; }
html body #wpm-sidenav.sidenav li a {
  display: block;
  color: var(--wpm-text);
  padding: 12px 20px;
  text-decoration: none;
}
html body #wpm-sidenav.sidenav li a:hover {
  background: var(--wpm-accent);
  color: #fff;
}

/* Payroll tables spacing and button styles */
html body .wpm-payroll-table {
  margin: 24px 0 32px;
  border: 1px solid var(--wpm-border);
  border-radius: 6px;
  overflow: hidden;
}
html body .wpm-role-divider {
  margin: 32px 0 48px;
  border: 0;
  height: 1px;
  background: var(--wpm-border);
}
html body a.btn.brand-primary {
  background-color: var(--wpm-primary) !important;
  color: #fff !important;
  box-shadow: var(--wpm-shadow);
}
html body a.btn.brand-primary:hover {
  background-color: var(--wpm-secondary) !important;
}
