@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --primary-color: #1677ff;
  --primary-gradient: linear-gradient(45deg, #1677ff, #36cff0);
  --success-color: #52c41a;
  --warning-color: #faad14;
  --error-color: #ff4d4f;
  --font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
    'Noto Sans', sans-serif;
}

body {
  font-family: var(--font-family);
  margin: 0;
  padding: 0;
}

// Layout styles
.app-layout {
  min-height: 100vh;
}

.app-header {
  @apply flex items-center justify-between px-6 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700;
  height: 64px;
}

.app-sidebar {
  @apply bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700;

  .ant-menu {
    @apply border-0;

    .ant-menu-item {
      @apply rounded-lg;
      height: 44px;
      line-height: 44px;
      margin-bottom: 8px;

      .ant-menu-item-icon + span {
        opacity: 1;
        transition: opacity 0.2s;
      }

      &:hover {
        @apply bg-gray-100 dark:bg-gray-700;
      }

      &.ant-menu-item-selected {
        background: var(--primary-color);
        color: #fff;
      }
    }

    &.ant-menu-inline-collapsed {
      .ant-menu-item, 
      .ant-menu-submenu .ant-menu-submenu-title {
        padding: 0 !important;
        text-align: center;

        .ant-menu-item-icon {
          line-height: 44px;
          margin: 0;
        }

        .ant-menu-title-content {
          opacity: 0;
          display: none;
        }
      }
    }

    .ant-menu-submenu {
      .ant-menu-submenu-title {
        @apply  rounded-lg;
        height: 44px;
        line-height: 44px;
        
        &:hover {
          @apply bg-gray-100 dark:bg-gray-700;
        }
      }

      &.ant-menu-submenu-open {
        > .ant-menu-submenu-title {
          color: var(--primary-color);
        }
      }
    }
  }
}

// Logo styles
.logo {
  @apply flex items-center justify-center h-16 border-b border-gray-200 dark:border-gray-700;
  
  h1 {
    @apply text-lg font-semibold m-0;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

// Dark mode styles
.dark {
  @apply bg-gray-900;
  
  .ant-card {
    background: #1f1f1f;
    
    .ant-card-head {
      color: rgba(255, 255, 255, 0.85);
      border-bottom-color: #303030;
    }
  }
  
  .ant-table {
    background: #1f1f1f;
    
    .ant-table-thead > tr > th {
      background: #141414;
      color: rgba(255, 255, 255, 0.85);
    }
    
    .ant-table-tbody > tr > td {
      border-bottom: 1px solid #303030;
    }
  }
}

// Statistics card styles
.stat-card {
  @apply rounded-lg border border-gray-100 dark:border-gray-800 p-6;
  
  .stat-icon {
    @apply w-12 h-12 rounded-full flex items-center justify-center mb-4;
  }
  
  .stat-title {
    @apply text-gray-600 dark:text-gray-400 text-sm font-medium;
  }
  
  .stat-value {
    @apply text-2xl font-semibold mt-2;
  }
}