@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');

body {
  background: #e0e5ec;
}

main {
    margin-left: 5rem;

}

.headFont {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.bodyFont {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.navbar {
  width: 5rem;
  height: 100vh;
  position: fixed;
  background-color: #18181B;
  transition: width 200ms ease;
  z-index: 100;
}

.logo {
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  height: 8rem;
  color: antiquewhite;
  font-size: 0.5rem;
  letter-spacing: 0.3ch;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo img {
  max-height: 100%;
  max-width: 100%;
  height: auto;
  transition: transform 200ms;
  display: block;
  filter: none;
}

.navbar:hover .logo img {
  transform: scale(1.5);
}

.navbar-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.nav-item {
  width: 100%;
}

.nav-link {
  display: flex;
  align-items: center;
  height: 5rem;
  color: aliceblue;
  text-decoration: none;
  filter: grayscale(100%) opacity(0.7);
  transition: 200ms ease;
}

.link-text {
  display: none;
  margin-left: 0.75rem;
  white-space: nowrap;
}

.nav-link:hover {
  filter: grayscale(0%) opacity(1);
  background: #539CF2;
}

.navbar:hover {
  width: 14rem;
}

.logout-item {
  margin-top: auto; /* Pushes the logout button to the bottom */
}

#logoutButton:hover {
  margin-top: auto; /* Pushes the logout button to the bottom */
  background: #EC3F39;
}

#logoutButton {
  color: rgb(251, 215, 215);
  cursor: pointer;
}


body::-webkit-scrollbar {
    width: 0.25rem;
}

body::-webkit-scrollbar-track {
    background: #1e1e24;
}

body::-webkit-scrollbar-thumb {
    background: #6649b8;
}

/* Small screens */
@media only screen and (max-width: 600px) {
    .navbar {
      bottom: 0;
      width: 100vw;
      height: 5rem;
    }

    .navbar:hover{
        width: 100vw;
    }

    .navbar:hover .link-text{
        display: none;
    }
  
    .logo {
      display: none;
    }
  
    .navbar-nav {
      flex-direction: row;
    }
    
    .nav-link {
      justify-content: center;
    }

    .nav-link i {
      min-width: 1.5rem;
      margin: 0 1rem;
      align-items: center;
      font-size: 1rem;
      text-align: center;
    }
  
    main {
      margin: 0;
      margin-bottom: 10vh;
    }
  }
  
  /* Large screens */
  @media only screen and (min-width: 600px) {
    .navbar {
      top: 0;
      width: 8rem;
      height: 100vh;
    }

    .nav-link i {
      min-width: 1.5rem;
      margin: 0 3rem;
      text-align: center;
      font-size: 1.2rem;
    }
  
    .navbar:hover {
      width: 16rem;
    }
  
    .navbar:hover .link-text {
      display: inline;
    }
  
    .navbar:hover .logo svg
    {
      margin-left: 11rem;
    }
  
    .navbar:hover .logo-text
    {
      left: 0px;
    }
  }

  /* Client Dashboard Enhancements */
  .client-card-hover {
    transition: all 0.3s ease;
  }
  
  .client-card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  
  .stat-card {
    background: linear-gradient(135deg, var(--bg-color) 0%, var(--bg-color-dark) 100%);
  }
  
  .modal-animation {
    animation: modalFadeIn 0.3s ease-out;
  }
  
  @keyframes modalFadeIn {
    from {
      opacity: 0;
      transform: scale(0.9);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }
  
  .dashboard-grid {
    display: grid;
    gap: 1.5rem;
  }
  
  @media (min-width: 768px) {
    .dashboard-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (min-width: 1024px) {
    .dashboard-grid {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  
  @media (min-width: 1280px) {
    .dashboard-grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  
  .shift-item {
    transition: all 0.2s ease;
  }
  
  .shift-item:hover {
    background-color: #f8f9fa;
    border-left-color: #0066cc;
  }

  /* Neomorphic design styles - Updated to match clean design */
  .neomorphic {
    background: #e0e5ec;
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
    border-radius: 20px;
    border: none;
  }

  .neomorphic-inset {
    background: #e0e5ec;
    box-shadow: inset 6px 6px 12px #a3b1c6, inset -6px -6px 12px #ffffff;
    border-radius: 16px;
    border: none;
  }

  .neomorphic-light {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border-radius: 16px;
    border: none;
  }

  .neomorphic-button {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border-radius: 16px;
    border: none;
    transition: all 0.3s ease;
  }

  .neomorphic-button:hover {
    box-shadow: 3px 3px 8px #a3b1c6, -3px -3px 8px #ffffff;
  }

  .neomorphic-button:active {
    box-shadow: inset 3px 3px 8px #a3b1c6, inset -3px -3px 8px #ffffff;
  }

  /* Colored neomorphic cards */
  .neo-card {
    border-radius: 20px;
    border: none;
    transition: all 0.3s ease;
  }

  .neo-blue {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
  }

  .neo-blue:hover {
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  }

  .neo-green {
    background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
  }

  .neo-green:hover {
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  }

  .neo-purple {
    background: linear-gradient(135deg, #bc4e9c 0%, #f80759 100%);
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
  }

  .neo-purple:hover {
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  }

  /* Neomorphic Client Cards */
  .neo-client-card {
    background: #e0e5ec;
    box-shadow: 9px 9px 16px #a3b1c6, -9px -9px 16px #ffffff;
    border-radius: 20px;
    border: none;
    transition: all 0.3s ease;
  }

  .neo-client-card:hover {
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
  }

  /* Neomorphic Input */
  .neo-input {
    background: #e0e5ec;
    box-shadow: inset 6px 6px 12px #a3b1c6, inset -6px -6px 12px #ffffff;
    border-radius: 16px;
    border: none;
    transition: all 0.3s ease;
    color: #374151;
  }

  .neo-input:focus {
    outline: none;
    box-shadow: inset 6px 6px 12px #a3b1c6, inset -6px -6px 12px #ffffff;
  }

  /* Neomorphic Button */
  .neo-button {
    background: #e0e5ec;
    box-shadow: 6px 6px 12px #a3b1c6, -6px -6px 12px #ffffff;
    border-radius: 16px;
    border: none;
    transition: all 0.3s ease;
    color: #667eea !important;
    font-weight: 600;
  }

  .neo-button:hover {
    box-shadow: 3px 3px 8px #a3b1c6, -3px -3px 8px #ffffff;
  }

  .neo-button:active {
    box-shadow: inset 3px 3px 8px #a3b1c6, inset -3px -3px 8px #ffffff;
  }

  /* Shift status indicators */
  .shift-active {
    border-left: 4px solid #10b981;
  }

  .shift-inactive {
    border-left: 4px solid #d1d5db;
  }

  .shift-completed {
    border-left: 4px solid #3b82f6;
  }

  /* Form enhancements */
  .form-section {
    background: #e0e5ec;
    border-radius: 16px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: inset 2px 2px 6px #a3b1c6, inset -2px -2px 6px #ffffff;
  }

  /* Checkbox styling */
  .neo-input-checkbox {
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: #e0e5ec;
    box-shadow: inset 3px 3px 6px #a3b1c6, inset -3px -3px 6px #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
  }

  .neo-input-checkbox:checked {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    box-shadow: inset 2px 2px 4px rgba(0,0,0,0.2);
  }

  .neo-input-checkbox:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 12px;
    font-weight: bold;
  }

  /* Responsive adjustments for mobile */
  @media only screen and (max-width: 600px) {
    .neomorphic {
      margin: 0.5rem;
      padding: 1rem;
    }
    
    .neo-card {
      margin-bottom: 1rem;
    }

    .grid.lg\\:grid-cols-3 {
      grid-template-columns: 1fr;
    }
  }



