    /* ===== Layout ===== */
    .app {
      display: flex;
      height: 100%;
      background: #f5f5f5;
      overflow: hidden;
    }

    .sidebar {
      width: 280px;
      background: #fff;
      border-right: 1px solid #e0e0e0;
      display: flex;
      flex-direction: column;
      padding: 20px;
      overflow-y: auto;
      flex-shrink: 0;
      position: fixed;
      left: 0;
      top: 0;
      height: 100%;
      z-index: 100;
      transform: translateX(0);
      transition: transform 0.3s ease;
      box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    }

    .sidebar-content {
      flex: 1;
      padding-bottom: 80px;
    }

    .sidebar-footer {
      margin-top: auto;
      padding: 12px 0;
      border-top: 1px solid #eee;
    }

    .sidebar.collapsed {
      transform: translateX(-100%);
      box-shadow: none;
    }

    .sidebar-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.5);
      z-index: 99;
      display: none;
    }

    .sidebar-backdrop.active {
      display: block;
    }

    .main {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-width: 0;
      margin-left: 280px;
      transition: margin-left 0.3s ease;
      height: 100%;
      overflow: hidden;
    }

    .main.full-width {
      margin-left: 0;
    }
