:root {
  --teal: #176a21;
  --hospital: #176a21;
  --deep: #173719;
  --ink: #172c19;
  --muted: #4e6550;
  --line: #dce8d8;
  --paper: #fff;
}
body { background: #f6f9f4; }
#sidebar {
  background: #fff;
  color: var(--ink);
  border-right: 1px solid var(--line);
  box-shadow: none;
}
.brand {
  display: flex;
  width: fit-content;
  padding: 4px;
  box-shadow: none;
  text-decoration: none;
}
.pea-brand {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #10741c;
  font: 800 31px/1 system-ui, sans-serif;
  letter-spacing: -.065em;
  white-space: nowrap;
}
.pea-orb {
  position: relative;
  display: grid;
  place-items: center;
  width: 53px;
  height: 53px;
  border-radius: 50%;
  color: white;
  font-size: 21px;
  letter-spacing: -.045em;
  background: radial-gradient(circle at 30% 15%, #96e629, #2d9e12 54%, #08701c 78%);
  text-shadow: 0 1px 3px #06450b;
  box-shadow: inset 0 -3px #72b827;
}
.pea-orb::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 8px;
  width: 19px;
  height: 5px;
  border-radius: 50%;
  background: #fff9;
  transform: rotate(-28deg);
}
.workspace { background: #f8fbf6; border-color: var(--line); color: var(--ink); }
.workspace img { display: block; width: 112px; max-width: 100%; mix-blend-mode: multiply; }
.workspace small, .aside-footer { color: var(--muted); }
.menu a { color: #36533a; }
.menu a:hover, .menu a.current { background: #e8f4df; color: #165d22; }
.menu a.current::before { background: #5aae24; }
header { background: #fff; border-color: var(--line); box-shadow: none; }
.top h1::after { background: #81bd32; }
.stats div, .board, .hub-card, .directory-card { border-color: var(--line); box-shadow: 0 5px 18px #294b2410; }
.stats strong { color: #176a21; }
.stats div:before { background: #79bc3b; }
.hub-card, .room-grid .tile { background: linear-gradient(145deg, #fff, #edf7e5); }
.hub-card .avatar, .room-number { background: #176a21; color: #fff; }
button.primary { background: #176a21; box-shadow: 0 4px 12px #176a2226; }
.crumb, .tv header nav a.current { background: #e8f4df; color: #165d22; }
.tv-brand { display: none; }
.tv { background: #edf5e8; }
.tv header { background: #fff; color: var(--ink); min-height: 100px; border-bottom: 1px solid var(--line); }
.tv header small, .tv .top p { color: var(--muted); }
.tv header .tv-brand { display: inline-flex; }
.tv .top h1 { color: var(--deep); }
.tv .top h1::after { background: #81bd32; }
.tv .board { box-shadow: 0 10px 28px #284e2320; }
.tv thead th { background: #e3f0da; color: #305735; }
.tv .primary { background: #176a21; color: #fff; }
@media (max-width: 640px) {
  #sidebar { background: #fff; }
  .brand { margin: 0; }
}
