/* sidebar.html専用のスタイル */
.sidebar-nav ul {
  list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px;
}
.sidebar-nav input.submenu-toggle { 
  display: none; 
}
.sidebar-nav li a,
.sidebar-nav li > label,
.sidebar-nav li > span {
  display: block; padding: 12px 16px; background-color: #f4f8fb; border: 1px solid #e0e0e0; border-radius: 8px; color: #333; font-weight: 700; text-align: left; text-decoration: none; transition: all 0.2s ease; cursor: pointer; position: relative;
}
.sidebar-nav li a:hover {
  background-color: #e2f1ff; 
  border-color: var(--secondary-color);
  color: var(--primary-color);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}
.sidebar-nav li.current-parent > a,
.sidebar-nav li.current-parent > label {
  background-color: var(--primary-color);
  color: white;
  border-color: var(--primary-color);
}
.sidebar-nav li.current-page > a,
.sidebar-nav li.current-page > span {
  background-color: var(--primary-color);
  color: white;
  border-color: var(--primary-color);
}
.sidebar-nav li.current-parent .submenu .current-page a {
    color: var(--secondary-color) !important;
    font-weight: 700 !important;
    border-left-color: var(--secondary-color) !important;
}
.sidebar-nav .has-submenu > span { cursor: default; }
.sidebar-nav .has-submenu .submenu { padding-left: 20px; margin-top: 8px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; }
.sidebar-nav li.is-open .submenu { max-height: 500px; }
.sidebar-nav .has-submenu .submenu a {
  font-weight: normal; background-color: transparent !important; border: none !important; border-left: 3px solid #e0e0e0 !important; border-radius: 0; padding: 8px 12px !important; margin-bottom: 5px !important;
}
.sidebar-nav .has-submenu .submenu a:hover {
  background-color: #eef5fc !important;
  border-left-color: var(--secondary-color) !important;
}
.sidebar-nav .has-submenu > a::after,
.sidebar-nav .has-submenu > label::after { content: '▼'; font-size: 0.7em; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); transition: transform 0.3s; }
.sidebar-nav li.is-open > a::after,
.sidebar-nav li.is-open > label::after { transform: translateY(-50%) rotate(180deg); }
.sidebar-nav li.current-parent > a::after,
.sidebar-nav li.current-parent > label::after { filter: brightness(0) invert(1); }