/* Side Menu Layout for Business 7 */
:root {
  --side-width: 280px;
  --main-dark: #1c2431;
  --accent-gold: #c0a060;
}

body {
  margin: 0;
  padding: 0;
  background: #fdfdfd;
}

.side-nav {
  width: var(--side-width);
  height: calc(100vh - 32px);
  position: fixed;
  left: 0;
  top: 32px;
  background: var(--main-dark);
  color: #fff;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  z-index: 5000; /* Increased to be below bar but above content */
}

.side-logo {
  padding: 0 40px;
  margin-bottom: 60px;
  font-family: 'Noto Serif JP', serif;
  font-size: 24px;
  color: var(--accent-gold);
}

.side-menu {
  list-style: none;
  flex: 1;
}

.side-menu li a {
  display: block;
  padding: 16px 40px;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.1em;
  transition: 0.3s;
  border-left: 3px solid transparent;
}

.side-menu li a:hover,
.side-menu li a.active {
  color: #fff;
  background: rgba(255,255,255,0.05);
  border-left-color: var(--accent-gold);
}

.side-footer {
  padding: 0 40px;
  font-size: 11px;
  color: rgba(255,255,255,0.3);
}

.main-content {
  margin-left: var(--side-width);
  flex: 1;
  padding: 80px 60px;
}

.demo-label-tag {
  display: inline-block;
  background: var(--accent-gold);
  color: #fff;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 4px;
  margin-bottom: 20px;
}

@media (max-width: 900px) {
  body { flex-direction: column; }
  .side-nav { width: 100%; height: auto; position: relative; padding: 20px 0; }
  .side-logo { margin-bottom: 20px; }
  .side-menu { display: flex; flex-wrap: wrap; }
  .main-content { margin-left: 0; padding: 40px 20px; }
}
