/* dashboard-redesign.css */
:root {
  --on-primary-fixed: #20005f;
  --inverse-on-surface: #f1effe;
  --surface-container-low: #f4f2ff;
  --on-secondary-fixed-variant: #004e60;
  --on-primary: #ffffff;
  --outline-variant: #cac3d8;
  --on-surface: #1a1b25;
  --inverse-primary: #cdbdff;
  --tertiary-fixed-dim: #ffb1c1;
  --primary: #632ce5;
  --on-tertiary-fixed-variant: #8f003f;
  --background: #fbf8ff;
  --on-primary-fixed-variant: #4f00d0;
  --surface-tint: #6833ea;
  --surface-bright: #fbf8ff;
  --tertiary-fixed: #ffd9df;
  --surface: #fbf8ff;
  --secondary-fixed-dim: #4cd6ff;
  --on-surface-variant: #494455;
  --surface-container: #eeecfb;
  --secondary-fixed: #b7eaff;
  --surface-dim: #dad9e7;
  --on-primary-container: #fcf6ff;
  --on-secondary-container: #005266;
  --on-background: #1a1b25;
  --tertiary-container: #da1e67;
  --primary-fixed-dim: #cdbdff;
  --on-secondary: #ffffff;
  --surface-container-high: #e8e7f5;
  --surface-container-highest: #e2e1ef;
  --surface-variant: #e2e1ef;
  --tertiary: #b30050;
  --on-tertiary-fixed: #3f0018;
  --outline: #7a7487;
  --primary-fixed: #e8deff;
  --on-error-container: #93000a;
  --surface-container-lowest: #ffffff;
  --primary-container: #7c4dff;
  --error-container: #ffdad6;
  --on-tertiary-container: #fff6f6;
  --on-secondary-fixed: #001f28;
  --on-error: #ffffff;
  --secondary: #00677f;
  --error: #ba1a1a;
  --inverse-surface: #2f303a;
  --secondary-container: #00ccf9;
  --on-tertiary: #ffffff;
}

body {
  background-color: var(--surface) !important;
  color: var(--on-surface) !important;
}

/* Material Icons */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle;
}

/* Glass Card */
.glass-card {
  background: rgba(255, 255, 255, 0.8) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 4px 20px rgba(99, 44, 229, 0.05) !important;
  border-radius: 1.5rem !important; /* 24px */
}

/* Typography Utilities */
.font-display-lg { font-family: 'Poppins', sans-serif !important; }
.text-display-lg { font-size: 48px !important; line-height: 1.2 !important; letter-spacing: -0.02em !important; font-weight: 700 !important; }

.font-headline-lg { font-family: 'Poppins', sans-serif !important; }
.text-headline-lg { font-size: 32px !important; line-height: 1.3 !important; font-weight: 600 !important; }

.font-headline-md { font-family: 'Poppins', sans-serif !important; }
.text-headline-md { font-size: 24px !important; line-height: 1.4 !important; font-weight: 600 !important; }

.font-body-lg { font-family: 'Inter', sans-serif !important; }
.text-body-lg { font-size: 18px !important; line-height: 1.6 !important; font-weight: 400 !important; }

.font-body-md { font-family: 'Inter', sans-serif !important; }
.text-body-md { font-size: 16px !important; line-height: 1.5 !important; font-weight: 400 !important; }

.font-label-md { font-family: 'Inter', sans-serif !important; }
.text-label-md { font-size: 14px !important; line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: 0.01em !important; }

.font-label-sm { font-family: 'Inter', sans-serif !important; }
.text-label-sm { font-size: 12px !important; line-height: 1.2 !important; font-weight: 600 !important; letter-spacing: 0.03em !important; }

/* Colors */
.text-primary { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.text-tertiary { color: var(--tertiary) !important; }
.text-on-surface { color: var(--on-surface) !important; }
.text-on-surface-variant { color: var(--on-surface-variant) !important; }
.text-on-primary { color: var(--on-primary) !important; }
.text-on-primary-fixed { color: var(--on-primary-fixed) !important; }
.text-on-primary-fixed-variant { color: var(--on-primary-fixed-variant) !important; }
.text-on-primary-container { color: var(--on-primary-container) !important; }
.text-on-secondary-container { color: var(--on-secondary-container) !important; }
.text-on-tertiary-container { color: var(--on-tertiary-container) !important; }

.bg-primary { background-color: var(--primary) !important; }
.bg-secondary { background-color: var(--secondary) !important; }
.bg-tertiary { background-color: var(--tertiary) !important; }
.bg-surface-container { background-color: var(--surface-container) !important; }
.bg-surface-container-high { background-color: var(--surface-container-high) !important; }
.bg-surface-container-low { background-color: var(--surface-container-low) !important; }
.bg-primary-fixed { background-color: var(--primary-fixed) !important; }
.bg-primary-container { background-color: var(--primary-container) !important; }
.bg-secondary-container { background-color: var(--secondary-container) !important; }
.bg-tertiary-container { background-color: var(--tertiary-container) !important; }

.border-outline-variant { border-color: var(--outline-variant) !important; }

/* Sidebar */
.stemaide-sidebar {
  background-color: var(--surface-container);
  width: 256px;
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  padding: 8px 24px;
  z-index: 1040;
  display: flex;
  flex-direction: column;
  transition: width 0.3s ease, padding 0.3s ease;
  overflow-x: hidden;
}

/* Collapsed Sidebar */
.stemaide-sidebar.stemaide-sidebar-collapsed {
  width: 80px;
  padding: 8px 12px;
}

.stemaide-sidebar.stemaide-sidebar-collapsed .text-label-md,
.stemaide-sidebar.stemaide-sidebar-collapsed .text-headline-md,
.stemaide-sidebar.stemaide-sidebar-collapsed .text-label-sm {
  opacity: 0;
  display: none !important;
}

.stemaide-sidebar.stemaide-sidebar-collapsed .stemaide-nav-item {
  justify-content: center;
  padding: 12px;
}

.stemaide-sidebar.stemaide-sidebar-collapsed .stemaide-nav-item span.material-symbols-outlined {
  margin: 0 !important;
}

.stemaide-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 0.75rem;
  color: var(--on-surface-variant);
  transition: all 0.2s ease;
  text-decoration: none;
  margin-bottom: 4px;
}

.stemaide-nav-item:hover {
  background-color: var(--surface-container-highest);
  color: var(--on-surface-variant);
}

.stemaide-nav-item.active {
  color: var(--primary);
  font-weight: bold;
  border-right: 4px solid var(--primary);
  background-color: rgba(205, 189, 255, 0.2); /* primary-fixed-dim with opacity */
  transform: scale(1.02);
}

.stemaide-main {
  margin-left: 256px;
  min-height: 100vh;
  padding-top: 64px; /* for fixed header */
  transition: margin-left 0.3s ease;
}

.stemaide-sidebar.stemaide-sidebar-collapsed ~ .stemaide-main {
  margin-left: 80px;
}

/* Header */
.stemaide-header {
  position: fixed;
  top: 0;
  right: 0;
  width: calc(100% - 256px);
  background: rgba(251, 248, 255, 0.8);
  backdrop-filter: blur(12px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  height: 64px;
  z-index: 1030;
  border-bottom: 1px solid var(--outline-variant);
  transition: width 0.3s ease;
}

.stemaide-sidebar.stemaide-sidebar-collapsed ~ .stemaide-main .stemaide-header {
  width: calc(100% - 80px);
}

.stemaide-search {
  background-color: var(--surface-container-low);
  border: none;
  border-radius: 9999px;
  padding: 8px 16px 8px 40px;
  width: 100%;
  max-width: 400px;
}

/* General Layout Utilities */
.gap-3 { gap: 12px !important; }
.gap-4 { gap: 16px !important; }
.gap-6 { gap: 24px !important; }

/* Dashboard Content specific */
.stemaide-welcome {
  background-color: var(--primary-fixed);
  border-radius: 1.5rem;
  padding: 40px;
  position: relative;
  overflow: hidden;
  margin-bottom: 40px;
}

/* Mobile Responsiveness */
@media (max-width: 1199.98px) {
  .stemaide-sidebar {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  }
  
  .stemaide-main {
    margin-left: 0 !important;
  }
  
  .stemaide-header {
    width: 100% !important;
  }
  
  body.g-sidenav-pinned .stemaide-sidebar {
    transform: translateX(0);
  }
}

/* Sidenav Toggler Fix */
.sidenav-toggler-inner {
  width: 18px;
}
.sidenav-toggler-line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--on-surface);
  border-radius: 2px;
  margin-bottom: 3px;
  transition: all 0.2s ease;
}
.sidenav-toggler-line:last-child {
  margin-bottom: 0;
}
