:root {
  --breakpoint: 768px;
  --sidebar-width: 220px;
  --sidebar-collapsed-width: 60px;
  --topbar-height: 60px;
  --bg: #f4f4f8;
  --accent: #2a2e35;
  --text: #333;
}

body {
  margin: 0;
  font-family: system-ui, sans-serif;
  background-color: var(--bg);
  color: var(--text);
}

.layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.topbar {
  height: var(--topbar-height);
  background-color: var(--accent);
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
}

.logo img {
  height: 40px;
}

.logoff-button {
  background: none;
  color: white;
  border: 1px solid white;
  padding: 0.4rem 0.8rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.9rem;
}

.sidebar {
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  height: calc(100% - var(--topbar-height));
  width: var(--sidebar-width);
  background-color: #fff;
  border-right: 1px solid #ccc;
  overflow: hidden;
  transition: width 0.3s;
  z-index: 10;
}

.sidebar.collapsed {
  width: var(--sidebar-collapsed-width);
}

.collapse-toggle {
  background: none;
  border: none;
  padding: 0.5rem;
  width: 100%;
  text-align: right;
  cursor: pointer;
}

.menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu li {
  display: flex;
}

.menu li a {
  display: flex;
  align-items: center;
  padding: 0.8rem 1rem;
  color: var(--text);
  text-decoration: none;
  transition: background 0.2s;
}

.menu li a:hover {
  background-color: #eee;
}

.menu i {
  margin-right: 1rem;
}

.sidebar.collapsed .menu span {
  display: none;
}

.content {
  margin-top: var(--topbar-height);
  margin-left: var(--sidebar-width);
  padding: 1rem;
  flex: 1;
  transition: margin-left 0.3s;
}

.sidebar.collapsed ~ .content {
  margin-left: var(--sidebar-collapsed-width);
}

/* Responsive adjustments */
@media (max-width: var(--breakpoint)) {
  .sidebar {
    position: absolute;
    width: 100%;
    height: auto;
    top: var(--topbar-height);
    left: 0;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }

  .sidebar.collapsed {
    height: 0;
    overflow: hidden;
  }

  .content {
    margin-left: 0;
    margin-top: calc(var(--topbar-height) + var(--sidebar-collapsed-width));
  }

  .sidebar.collapsed ~ .content {
    margin-top: var(--topbar-height);
  }
}
