body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

code {
  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}


.spinner-logo {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: auto;
    background-color: rgba(0,0,0,0.5);
    animation: none;
    z-index:9999;
  }
  
  /* @keyframes spinner-logo-spin {
  from {
    transform:  rotate(0deg);
  }
  to {
    transform:  rotate(360deg);
  }
  }
  
  .spinner-img {
  width: 70px;
  height: auto;
  border-radius: 50%;
  animation: spinner-logo-spin infinite 5s linear;
  } */
  
  
  .section--white {
    color: #9f4aff;
    background: rgba(255,255,255,0.3);
  }
  
  .section--white .loader--spinner div:after,
  .section--white .loader--roller div:after,
  .section--white .loader--default div,
  .section--white .loader--ellipsis div,
  .section--white .loader--grid div,
  .section--white .loader--facebook div {
    background: #1245A8;
  }
  
  .section--white .loader--ripple div {
    border-color: #1245A8;
  }
  
  .section--white .loader--ring div {
    border-color: #00539f transparent transparent transparent;
  }
  
  .section--white .loader--dual-ring:after {
    border-color: #00539f transparent #00539f transparent;
  }
  
  
  .loader--roller {
    display: inline-block;
    position: relative;
    height: 85px;
    width: 85px;
    color: #000;
  }
  
  .loader--roller div {
    animation: loader--roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 32px 32px;
  }
  
  .loader--roller div:after {
    display: block;
    position: absolute;
    border-radius: 50%;
    content: " ";
    margin: -5px 0 0 -5px;
    height:8px;
    width: 8px;
  }
  
  .loader--roller div:nth-child(1) {
    animation-delay: -0.036s;
  }
  
  .loader--roller div:nth-child(1):after {
    top: 50px;
    left: 50px;
  }
  
  .loader--roller div:nth-child(2) {
    animation-delay: -0.072s;
  }
  
  .loader--roller div:nth-child(2):after {
    top: 54px;
    left: 45px;
  }
  
  .loader--roller div:nth-child(3) {
    animation-delay: -0.108s;
  }
  
  .loader--roller div:nth-child(3):after {
    top: 57px;
    left: 39px;
  }
  
  .loader--roller div:nth-child(4) {
    animation-delay: -0.144s;
  }
  
  .loader--roller div:nth-child(4):after {
    top: 58px;
    left: 32px;
  }
  
  .loader--roller div:nth-child(5) {
    animation-delay: -0.18s;
  }
  
  .loader--roller div:nth-child(5):after {
    top: 57px;
    left: 25px;
  }
  
  .loader--roller div:nth-child(6) {
    animation-delay: -0.216s;
  }
  
  .loader--roller div:nth-child(6):after {
    top: 54px;
    left: 19px;
  }
  
  .loader--roller div:nth-child(7) {
    animation-delay: -0.252s;
  }
  
  .loader--roller div:nth-child(7):after {
    top: 50px;
    left: 14px;
  }
  
  .loader--roller div:nth-child(8) {
    animation-delay: -0.288s;
  }
  
  .loader--roller div:nth-child(8):after {
    top: 45px;
    left: 10px;
  }
  
  @keyframes loader--roller {
    0% {
        transform: rotate(0deg);
    }
  
    100% {
        transform: rotate(360deg);
    }
  }

  .uploading-text {
    position: absolute;
    top: calc(50% + 25px); /* Adjust the distance from the spinner */
    /* left:calc(40% + 70px); */
    color: #000000; /* Adjust the text color */
    font-size: 18px; /* Adjust the text size */
    text-align: center;
    font-weight: 600;
    background-color: rgba(255,255,255,0.8);
  }

  /* Spinner overlay */
.spinner-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index:9999;
  pointer-events: none; /* Prevent clicking through the spinner */
  /* background-color: rgba(0,0,0,0.5); */
  -webkit-backdrop-filter: blur(0.5px);
          backdrop-filter: blur(0.5px);
  pointer-events: stroke;
  transition: all 0.3s ease-in-out;
  transform: scale(1.1);
  background-color: rgb(236, 236, 236,0.2);

}

.spinner-overlay > * {
  /* pointer-events: auto; Allow interaction with the loader */
  z-index: 1001;
}
/* Enhanced Login Modal Styles */

/* Keyframes for animations */
@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes slideInFromRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInFromLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}

/* Tab Buttons */
.login-modal-tabs {
  display: flex;
  width: 100%;
  background-color: #b7d4ff;
  margin: 0px;
  padding: 5px;
  border-radius: 6px;
  /* flex-direction: column; */
  align-items: center;
  gap: 4px;
  margin-bottom: 1.5rem;
}

.login-tab-button {
  flex: 1 1;
  background: none;
  border: none;
  padding: 10px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: #4c4c4c;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 6px;
}

.login-tab-button:hover {
  background-color: #9abbff;
  color: white;
  box-shadow: 0 4px 8px rgba(18, 69, 168, 0.1);
}

.login-tab-button.active {
  background-color: #1245A8;
  color: white;
  box-shadow: 0 4px 8px rgba(18, 69, 168, 0.2);
}



/* Form Inputs */

.login-auth-form {
  /* padding:15px 20px; */
  transition: all 0.3s ease;
}

.login-form-group {
  margin-bottom: 16px;
}

.login-form-group label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 6px;
}

.login-form-group-input {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid rgba(102, 126, 234, 0.2);
  border-radius: 12px;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.login-form-group-input:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.15);
  background: rgba(255, 255, 255, 0.95) !important;
  transform: translateY(-1px);
}

.login-form-group-input::placeholder {
  color: rgba(102, 126, 234, 0.6);
}

/* Submit Button */
.login-submit-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background-color: #1245A8;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.login-submit-button:hover {
  background-color: #0d3580;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(18, 69, 168, 0.3);
}

.login-submit-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(18, 69, 168, 0.3);
}

.login-submit-button:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

/* Reset Redirect Button */
.reset-redirect-button {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 8px;
}

.reset-redirect-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.4);
}

/* Forgot Password Link */
.forgot-password-link {
  background: none;
  border: none;
  color: #667eea;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  padding: 4px 0;
  position: relative;
}

.forgot-password-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #667eea;
  transition: width 0.3s ease;
}

.forgot-password-link:hover {
  color: #764ba2;
}

.forgot-password-link:hover::after {
  width: 100%;
}

/* Divider */
.login-auth-divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 14px 0;
  padding: 0 20px;
}

.login-auth-divider::before,
.login-auth-divider::after {
  content: '';
  flex: 1 1;
  border-bottom: 1px solid #000;
}

.login-auth-divider span {
  padding: 0 10px;
  font-size: 14px;
  color: #666;
}

/* Social Auth Buttons */
.login-social-auth-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 16px;
}

.login-social-button {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border: 2px solid rgba(102, 126, 234, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.login-social-button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(102, 126, 234, 0.1) 0%, transparent 70%);
  transition: all 0.3s ease;
  transform: translate(-50%, -50%);
}

.login-social-button:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
  border-color: #667eea;
}

.login-social-button:hover::before {
  width: 100px;
  height: 100px;
}

.login-social-button img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  position: relative;
  z-index: 1;
}

/* Account Toggle */
.account-toggle {
  text-align: center;
  margin: 0;
  margin-top: 10px;
  font-size: 13px;
  color: #666;
  animation: fadeInUp 0.5s ease 0.3s both;
}

.account-toggle a {
  color: #1245A8;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-left: 4px;
  position: relative;
}

.account-toggle a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  transition: width 0.3s ease;
}

.account-toggle a:hover {
  color: #764ba2;
  transform: translateY(-1px);
}

.account-toggle a:hover::after {
  width: 100%;
}

/* Loading States */
.loading {
  position: relative;
  overflow: hidden;
}

.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Responsive Design */
@media (max-width: 480px) {
  .login-modal-tabs {
    flex-direction: column;
    gap: 4px;
  }
  
  .login-tab-button {
    padding: 10px 16px;
    font-size: 13px;
  }
  
  .login-submit-button {
    padding: 12px 20px;
    font-size: 14px;
  }
}


/* Accessibility improvements */
.login-submit-button:focus,
.login-tab-button:focus,
.forgot-password-link:focus {
  outline: 2px solid #667eea;
  outline-offset: 2px;
}

/* High contrast mode */
@media (prefers-contrast: high) {
  .login-submit-button {
    background: #000;
    border: 2px solid #fff;
  }
  
  .login-tab-button.active {
    background: #000;
    border: 2px solid #fff;
  }
}
/* Feature Cards Container Layout */
.feature-cards-container {
    flex-grow: 2;
    padding: 20px;
    max-width: 60%;
    display: grid;
    grid-template-areas:
      "card-1 card-2"
      "card-4 card-3"
      "card-5 card-5";
    grid-gap: 10px 16px;
    gap: 10px 16px;
    padding: 10px 24px;
    /* background-color: #dcc8f6; */
    background-color: #d0e0ff;
    border-radius: 20px;
    height: 90vh;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;

  }
  
  /* Card Wrapper Positioning */
  .card-wrapper {
    height: 28vh;
    width: 100%;
  }
  
  .card-wrapper.card-1 { grid-area: card-1; }
  .card-wrapper.card-2 { grid-area: card-2; }
  .card-wrapper.card-3 { grid-area: card-3; }
  .card-wrapper.card-4 { grid-area: card-4; }
  .card-wrapper.card-5 { 
    grid-area: card-5; 
    height: 26vh;
  }
  
  /* Feature Card Styling */
  .feature-card {
    position: relative;
    height: 100%;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
                box-shadow 0.4s ease;
  }
  
  .feature-card:hover, .feature-card.hovered {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 8px 25px rgba(138, 43, 226, 0.15);
  }
  
  /* Card Image Container and Gradient Overlay */
  .card-image-container {
    position: relative;
    height: 100%;
    width: 100%;
  }
  
  .card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, filter 0.5s ease;
  }
  
  .feature-card:hover .card-image {
    transform: scale(1.05);
    filter: brightness(0.9);
  }
  
  .card-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      to bottom right,
      rgba(72, 32, 232, 0.8) 0%,
      rgba(69, 22, 163, 0.4) 50%,
      rgba(79, 0, 138, 0.2) 100%
    );
    transition: opacity 0.3s ease;
  }
  
  .feature-card:hover .card-gradient-overlay {
    opacity: 0.9;
  }
  
  /* Card Content Styling */
  .home-card-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 80%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: white;
    z-index: 2;
    box-sizing: content-box;
  }
  
  /* Card Title and Description */
  .card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 8px 0;
    letter-spacing: 0.3px;
    transition: transform 0.3s ease;
  }
  
  .feature-card:hover .card-title {
    transform: translateY(-3px);
  }
  
  .card-description {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 300;
    margin: 0;
    opacity: 0.85;
    max-width: 90%;
    transition: opacity 0.3s ease;
  }
  
  .feature-card:hover .card-description {
    opacity: 1;
  }


  
  /* Explore Button */
  .explore-button {
      background: transparent;
      border: none;
      color: #c2d0f9;
      font-family: 'Poppins', sans-serif;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      text-align: right;
      align-self: flex-end;
      padding: 8px 12px;
      border-radius: 4px;
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: center;
      cursor: pointer;
      padding: 5px 20px;
      transition: transform 0.3s ease, opacity 0.3s ease, color 0.3s ease , all 0.3s ease-in-out;
      background: linear-gradient(to right, #5d86ff 50%, transparent 50%);
      background-size: 200% 100%;
      background-position: right bottom;
  }

  .feature-card:hover .explore-button {
    font-size: 15px;
    color:#dfe9fc;
  }

  .explore-button:hover {
      color: #fff;
    font-size: 15px;
      /* Text color changes to white */
      border-radius: 1rem;
      transform: scale(1.05);
      -webkit-text-decoration: solid;
              text-decoration: solid;
      background-position: left bottom;
      transition: background-position 0.3s ease;
  }
  
  /* .explore-button:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: white;
    transition: width 0.3s ease;
  } */
  
  .explore-button:hover:before {
    width: 100%;
  }
  
  .plus-icon {
    display: inline-block;
    transition: transform 0.3s ease;
    margin-left: 2px;
  }
  
  .explore-button:hover .plus-icon {
    transform: translateX(4px);
  }
  
  /* Card-5 (Wider Bottom Card) Specific Styles */
  .card-wrapper.card-5 .home-card-content {
    /* flex-direction: row;
    align-items: center; */
    width: 95%;
  }
  
  .card-wrapper.card-5 .card-header {
    flex: 1 1;
  }
  
  .card-wrapper.card-5 .card-title {
    font-size: 20px;
  }
  
  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .feature-cards-container {
      grid-template-areas:
        "card-1"
        "card-2"
        "card-3"
        "card-4"
        "card-5";
      height: auto;
    }
    
    .card-wrapper {
      height: 180px;
    }
    
    .card-wrapper.card-5 {
      height: 100px;
    }
  }
.agents-page {
  width: 100%;
  position: relative;
  /* background-color: #dcc8f6; */
  background-color: #d0e0ff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  overflow: hidden;
}

.agents-title {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  background: linear-gradient(90deg, #e91e63 0%, #4169e1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.agents-container {
  border: 2px solid rgba(233, 30, 99, 0.3);
  border-radius: 16px;
  padding: 1rem;
  background-color: white;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  width: 85%;
  height: 70vh;
  position: relative;
  transition: transform 0.5s ease-in-out;
}

.agents-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.agents-header h2 {
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.page-numbers {
  display: flex;
  gap: 0.5rem;
}

.page-number {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.9rem;
  color: #555;
}

.page-number.active {
  background-color: #f8f8f8;
  font-weight: 600;
  color: #333;
}

.agents-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.agent-card {
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 25vh;
  transition: all 0.3s ease;
}

.agent-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
}

.agent-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.agent-icon {
  font-size: 1.25rem;
  margin-bottom: 0.25rem;
}

.agent-title {
  font-weight: 600;
  color: #333;
  font-size: 1rem;
}

.agent-description {
  color: #666;
  font-size: 0.85rem;
  line-height: 1.4;
}

.agent-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}

.ellipsis {
  color: #888;
  font-weight: bold;
  cursor: pointer;
}

.use-agent-button {
  background-color: #1f1f1f;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background-color 0.2s;
}

.use-agent-button:hover {
  background-color: #333;
}

.arrow {
  margin-left: 0.5rem;
  font-size: 0.9rem;
}

.pagination-dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin: 1rem;
}

.pagination-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #2f2f2f;
  cursor: pointer;
  transition: background-color 0.2s;
  transition: all 0.3s ease-in-out;
}

.pagination-dot.active {
  background-color: #8a2be2;
  transform: scale(1.5);
}

.navigation-arrows {
  position: absolute;
  width: 98%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  margin: 0 1%;
}

.arrow-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: white;
  border: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  transition: all 0.2s;
}

.arrow-button:hover {
  background-color: #f8f8f8;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.arrow-icon {
  font-size: 1rem;
  line-height: 1;
}

@keyframes slideLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes slideRight {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

.slide-left {
  animation: slideLeft 0.5s ease-in-out;
}

.slide-right {
  animation: slideRight 0.5s ease-in-out;
}

@media (max-width: 992px) {
  .agents-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .agents-grid {
    grid-template-columns: 1fr;
  }

  .agents-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .navigation-arrows {
    top: auto;
    bottom: 1rem;
    transform: none;
  }
}

/* .ai-agent-wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
  }
  
  .gradient-title {
    background: linear-gradient(90deg, #c44eb9 0%, #7852db 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 36px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
    transition: transform 0.3s ease;
  }
  
  .gradient-title:hover {
    transform: scale(1.02);
  }
  
  .main-container {
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    padding: 30px;
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.3s ease;
  }
  
  .main-container:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  }
  
  .features-container {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    animation: fadeIn 0.5s ease;
  }
  
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .feature-card {
    flex: 1;
    background-color: #fcfcfc;
    border-radius: 12px;
    padding: 24px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);
  }
  
  .feature-card h2 {
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 12px;
  }
  
  .feature-card p {
    font-size: 15px;
    line-height: 1.5;
    color: #666;
    margin-bottom: 20px;
  }
  
  .icons-container {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
  }
  
  .icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5px;
  }
  
  .icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    transition: background-color 0.3s ease;
  }
  
  .icon-circle:hover {
    background-color: #e9e9e9;
  }
  
  .icon {
    font-weight: bold;
    color: #555;
  }
  
  .icon-label {
    font-size: 12px;
    color: #777;
    text-align: center;
  }
  
  .code-examples {
    margin-top: 15px;
  }
  
  .code-example {
    margin-bottom: 12px;
  }
  
  .code-title {
    display: block;
    font-size: 13px;
    color: #777;
    margin-bottom: 4px;
  }
  
  .code-block {
    background-color: #f7f7f7;
    border-radius: 6px;
    padding: 10px 12px;
    overflow-x: auto;
  }
  
  code {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 13px;
    color: #555;
  }
  
  .pagination-controls {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .nav-button {
    background-color: #f5f5f5;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    color: #555;
    transition: background-color 0.3s ease, transform 0.2s ease;
  }
  
  .nav-button:hover {
    background-color: #e0e0e0;
    transform: scale(1.05);
  }
  
  .pagination-dots {
    display: flex;
    margin: 0 20px;
  }
  
  .pagination-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ddd;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
  }
  
  .pagination-dot:hover {
    background-color: #bbb;
  }
  
  .pagination-dot.active {
    background-color: #7852db;
    transform: scale(1.2);
  }
  
  .integration-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-top: 40px;
  }
  
  .integration-icons .icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background-color: #f5f5f5;
    transition: transform 0.3s ease;
  }
  
  .integration-icons .icon:hover {
    transform: translateY(-3px);
  }
  
  .google { background-color: #f1f1f1; }
  .gmail { background-color: #D44638; }
  .drive { background-color: #0F9D58; }
  .cloud { background-color: #4285F4; }
  .apple { background-color: #A2AAAD; }
  .sheets { background-color: #0F9D58; }
  .red { background-color: #EA4335; }
  .blue { background-color: #4285F4; }
  .green { background-color: #34A853; }
  .purple { background-color: #A142F4; }
  .chat { background-color: #1A73E8; }
  .slack { background-color: #4A154B; }
  
  @media (max-width: 768px) {
    .features-container {
      flex-direction: column;
    }
    
    .feature-card {
      margin-bottom: 20px;
    }
    
    .gradient-title {
      font-size: 28px;
    }
  }
  
  @media (max-width: 480px) {
    .icons-container {
      flex-wrap: wrap;
    }
    
    .icon-item {
      margin-bottom: 15px;
    }
  } */

  .agent-templates-wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
  }
  
  .gradient-title {
    background: linear-gradient(90deg, #c44eb9 0%, #4f5bd5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
  }
  
  .templates-container {
    border-radius: 15px;
    padding: 30px;
    background-color: white;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); */
    /* border: 1px solid linear-gradient(90deg, #ff66c4 0%, #8a7aff 100%);
    background-origin: border-box;
    background-clip: content-box, border-box; */
  }
  
  .templates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    gap: 20px;
  }
  
  .template-card {
    display: flex;
    align-items: center;
    /* padding: 15px; */
    border-radius: 10px;
    background-color: #f9f9f9;
    padding: 1px; /* This creates space for the gradient border */
  background: linear-gradient(90deg, #ff66c4 0%, #8a7aff 100%);
  border: none;
  border-radius: 12px;
    /* background-origin: border-box; */
    /* background-clip: content-box, border-box; */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
  }
  
  .template-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  }
  
  .icon-container {
    width: 100%;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-right: 12px;
    background-color: white;
    border-radius: 12px;
  }
  
  .robot-icon {
    font-size: 24px;
    background: linear-gradient(135deg, #ff66c4 0%, #8a7aff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  
  .template-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
  }
  
  @media (max-width: 768px) {
    .templates-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 480px) {
    .templates-grid {
      grid-template-columns: 1fr;
    }
    
    .gradient-title {
      font-size: 28px;
    }
  }
/* ServiceCards.css */
.services-container {
    padding: 10px;
    /* background-color: #f8f9fa; */
    /* min-height: 100vh; */
    height: 100%;
  }
  
  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    gap: 20px;
  }
  
  .service-card {
    position: relative;
    /* border-radius: 20px; */
    overflow: hidden;
    background-color: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 1px solid transparent;
    border-image: linear-gradient(90deg, #d946ef 0%, #38bdf8 100%) 1;
    height:50vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .service-card.hovered {
    transform: translateY(-8px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);
  }
  
  .service-card-image-container {
    margin-bottom: 16px;
    overflow: hidden;
  }
  
  .service-card-image {
    width: 100%;
    height: 25vh;
    object-fit: cover;
    transition: transform 0.5s ease;
  }
  
  .service-service-card.hovered .card-image {
    transform: scale(1.05);
  }
  
  .service-card-content {
    padding: 0 10px 10px;
  }
  
  .service-card-title {
    font-size: 20px;
    font-weight: bold;
    margin: 0px;
    color: #333;
  }
  
  .service-card-description {
    color: #666;
    margin-bottom: 12px;
    line-height: 1.2;
    height: 8vh;
    font-size: 12px;
  }
  
  .service-card-button {
    background-color: #1e40af;
    color: white;
    border: none;
    border-radius: 50px;
    padding: 10px 24px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: block;
    margin-left: auto;
  }
  
  .service-service-card.hovered .card-button {
    transform: scale(1.05);
    background-color: #1e3a8a;
  }
  
  /* Responsive design */
  @media (max-width: 992px) {
    .services-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (max-width: 576px) {
    .services-grid {
      grid-template-columns: 1fr;
    }
    
    .services-container {
      padding: 20px;
    }
  }
/* Base layout styling */
.layout-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    background-color: #ffffff;
  /* background-color: #dcc8f6; */
    overflow-x: hidden;
    position: relative;
  }
  
  .content-container {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
    height: 89vh;
    width: 100%;
  }
  
  /* Home content styling */
  .home-content {
    display: flex;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1), opacity 0.4s ease;
  }
  
  .hero-section {
    flex-grow: 1;
    padding: 20px;
    max-width: 40%;
  }
  
  .feature-cards {
    flex-grow: 2;
  }
  
  /* Secondary content (AgentsList, etc.) */
  .secondary-content {
    /* position: absolute;
    top: 0;
    left: 0; */
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1), opacity 0.4s ease;
    display: flex;
    justify-content: center;
    /* padding: 20px; */
  }
  
  /* Animation classes */
  .slide-out-left {
    transform: translateX(-100%);
    opacity: 1;
  }
  
  .slide-in-right {
    animation: slideInFromRight 0.5s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
  }
  
  .slide-out-right {
    animation: slideOutToRight 0.5s cubic-bezier(0.4, 0.0, 0.2, 1) forwards;
  }
  
  @keyframes slideInFromRight {
    0% {
      transform: translateX(100%);
      opacity: 0.5;
    }
    100% {
      transform: translateX(0);
      opacity: 1;
    }
  }
  
  @keyframes slideOutToRight {
    0% {
      transform: translateX(0);
      opacity: 1;
    }
    100% {
      transform: translateX(100%);
      opacity: 0.5;
    }
  }
  
  /* Back button */
  .back-button {
    position: absolute;
    top: 20px;
    left: 20px;
    background-color: #8a2be2;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(138, 43, 226, 0.3);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .back-button:hover {
    background-color: #7825c0;
    box-shadow: 0 4px 15px rgba(138, 43, 226, 0.4);
    transform: translateY(-2px);
  }
  
  .back-button:active {
    transform: translateY(0px);
  }
  
  /* Media queries for responsive design */
  @media (max-width: 1024px) {
    .home-content {
      flex-direction: column;
    }
    
    .hero-section {
      max-width: 100%;
    }
  }
  
  @media (max-width: 768px) {
    .back-button {
      top: 10px;
      left: 10px;
      padding: 8px 12px;
      font-size: 14px;
    }
  }

  /* StatusModal.css */
.status-modal-container {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

.status-modal-logo {
  margin-bottom: 20px;
  text-align: center;
}

.status-modal-title {
  color: #1a1a1a;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 12px;
  text-align: center;
}

.status-modal-message {
  color: #555;
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 24px;
  text-align: center;
  max-width: 85%;
  margin-left: auto;
  margin-right: auto;
}

.status-modal-action-button {
  background-color: #1245A8;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 10px 24px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
  margin-bottom: 16px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.status-modal-action-button:hover {
  background-color: #0d3580;
}

.status-modal-close-button {
  background: transparent;
  border: none;
  color: #666;
  text-decoration: underline;
  cursor: pointer;
  font-size: 14px;
  margin-top: 8px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.status-modal-close-button:hover {
  color: #333;
}

  
  /* Hide scrollbar for Chrome, Safari and Opera */
  .agents-container::-webkit-scrollbar {
    display: none;
  }
  
  .integration-panel {
    display: flex;
    height: 100%;
  }
  
  .integrations-list {
    width: 55%;
    padding-right: 1rem;
    border-right: 1px solid #eaeaea;
    overflow-y: auto;
    scrollbar-width: none;
  }
  
  .integrations-list::-webkit-scrollbar {
    display: none;
  }
  
  .integration-item {
    padding: 1rem;
    border-radius: 10px;
    border: 1px solid transparent;
    /* margin-bottom: 1rem; */
    cursor: pointer;
    transition: all 0.3s ease;
  }
  
  .integration-item:hover, .integration-item.selected {
    border-color: #e0e0e0;
    background-color: #f9f9f9;
  }
  
  .integration-item.selected {
    border-left: 3px solid #ff5722;
  }
  
  .integration-logo {
    margin-bottom: 0.5rem;
    font-weight: 600;
  }
  
  .logo {
    display: inline-block;
    font-weight: bold;
    font-size: 1.1rem;
  }
  
  .hubspot-logo {
    color: #ff5722;
  }
  
  .gmail-logo {
    color: #4285F4;
  }
  
  .gmail-letter {
    color: #EA4335;
  }
  
  .whatsapp-logo {
    color: #25D366;
  }
  
  .freshdesk-logo {
    color: #0eb477;
  }
  
  .integration-description {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.2;
    margin: 0;
  }
  
  .workflow-panel {
    flex-grow: 1;
    padding: 1rem;
    display: flex;
    justify-content: center;
   
  }
  
  
  .workflow-container-Integration {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  
  .connector-line {
    height: 100%;
    width: 2px;
    background-color: #eaeaea;
  }
  
  @media (max-width: 768px) {
    .integration-panel {
      flex-direction: column;
    }
    
    .integrations-list {
      width: 100%;
      border-right: none;
      border-bottom: 1px solid #eaeaea;
      padding-right: 0;
      padding-bottom: 1rem;
      margin-bottom: 1rem;
    }
    
    .workflow-panel {
      padding-top: 0;
    }
    
    .workflow-container {
      width: 100%;
    }
  }

.governance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
  margin: 0 auto;
  /* padding: 1rem; */
}

.governance-card {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  cursor: pointer;
  border: 1px solid #e0e0e0;
  background-color: #fff;
  height: 30vh;
}

.governance-card:hover {
  transform: scale(1.03);
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.governance-image-container {
  height: 24vh;
  padding: 0 1rem;
}

.governance-image {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.3s ease-in-out;
}

.governance-card:hover .governance-image {
  transform: scale(1.05);
}

.governance-title {
  /* padding: 1rem; */
  font-size: 1rem;
  font-weight: 500;
  color: #424242;
  text-align: center;
  line-height: 1.3;
  margin: 5px;
}

.purple-card::before {
  background: linear-gradient(90deg, #9c27b0, #673ab7);
}

.amber-card::before {
  background: linear-gradient(90deg, #ff9800, #ff5722);
}

.teal-card::before {
  background: linear-gradient(90deg, #009688, #00bcd4);
}

.blue-card::before {
  background: linear-gradient(90deg, #2196f3, #03a9f4);
}

.navy-card::before {
  background: linear-gradient(90deg, #3f51b5, #2196f3);
}


  .builder-agent-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0.5rem 1rem;
    gap: 0.5rem 1rem;
    /* padding: 0.5rem; */
  }
  
  /* Individual agent card */
  .builder-agent-card {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid #e0e0e0;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  
  /* Hover state */
  .builder-agent-card:hover,
  .builder-agent-card.hovered {
    border-color: rgba(233, 30, 99, 0.5);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
  }
  
  /* Selected state */
  .builder-agent-card.selected {
    border: 2px solid rgba(233, 30, 99, 0.8);
    background-color: rgba(233, 30, 99, 0.05);
  }
  
  /* Icon container */
  .builder-agent-icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.75rem;
    flex-shrink: 0;
  }
  
  /* Icon image */
  .builder-icon-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.2s ease;
  }
  
  /* Hover effect for icon */
  .builder-agent-card:hover .icon-image,
  .builder-agent-card.hovered .icon-image {
    transform: scale(1.1);
  }
  
  /* Agent name text */
  .builder-agent-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: #333;
    transition: color 0.3s ease;
  }
  
  /* Selected agent name color */
  .builder-agent-card.selected .agent-name {
    color: #e91e63;
  }
  
  /* Responsive adjustments */
  @media (max-width: 768px) {
    .builder-builder-agent-grid {
      grid-template-columns: 1fr;
    }
    
    .agents-container {
      width: 92%;
    }
  }
  
  /* Animation for page load */
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .builder-agent-grid > * {
    animation: fadeIn 0.5s ease forwards;
  }
  
  /* Staggered animation for cards */
  .builder-agent-grid > *:nth-child(1) { animation-delay: 0.05s; }
  .builder-agent-grid > *:nth-child(2) { animation-delay: 0.1s; }
  .builder-agent-grid > *:nth-child(3) { animation-delay: 0.15s; }
  .builder-agent-grid > *:nth-child(4) { animation-delay: 0.2s; }
  .builder-agent-grid > *:nth-child(5) { animation-delay: 0.25s; }
  .builder-agent-grid > *:nth-child(6) { animation-delay: 0.3s; }
  .builder-agent-grid > *:nth-child(7) { animation-delay: 0.35s; }
  .builder-agent-grid > *:nth-child(8) { animation-delay: 0.4s; }
  .builder-agent-grid > *:nth-child(9) { animation-delay: 0.45s; }
  .builder-agent-grid > *:nth-child(10) { animation-delay: 0.5s; }
  .builder-agent-grid > *:nth-child(11) { animation-delay: 0.55s; }
  .builder-agent-grid > *:nth-child(12) { animation-delay: 0.6s; }
  .builder-agent-grid > *:nth-child(13) { animation-delay: 0.65s; }
  .builder-agent-grid > *:nth-child(14) { animation-delay: 0.7s; }
.agent-builder-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    background-color: #ffffff;
  }
  
  .agent-builder-content {
    display: flex;
    flex-direction: row;
    padding: 40px;
  }
  
  .agent-builder-text {
    flex-grow: 1;
    padding: 20px;
    max-width: 50%;
  }
  
  .agent-builder-heading {
    font-size: 48px;
    color: #68119e;
  }
  
  .agent-builder-description {
    font-size: 20px;
    color: #333;
  }
  
  .agent-builder-button {
    width: 150px;
    height: 40px;
    border-radius: 20px;
    border: 
    "linear-gradient(267.03deg, rgba(0,240,255,1) 4.01%, rgba(82,0,255,1) 57.55%, rgba(255,0,167,1) 114.97%)",;
    background: transparent;
    font-size: 16px;
    cursor: pointer;
    margin-top: 20px;
  }
  
  .agent-builder-image-container {
    position: relative;
    flex-grow: 2;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .agent-builder-image {
    /* width: 100%; */
    height: auto;
    border-radius: 10px;
    object-fit: cover;
    margin-top: -40px;
  }
  

/* styles.css */
.layout {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    background-color: #f5f5f5;
  }
  
  .header {
    height: 64px;
    background-color: #fff;
    border-bottom: 1px solid #E0E0E0;
    display: flex;
    align-items: center;
    padding: 0 20px;
  }
  
  .menu-button {
    cursor: pointer;
  }
  
  .menu-button:hover {
    color: #666;
  }
  
  .content-wrapper {
    display: flex;
    flex-grow: 1;
  }
  
  .sidebar {
    height: 100%;
    background-color: #fff;
    border-right: 1px solid #E0E0E0;
    overflow-y: auto;
    overflow-x: hidden;
    transition: width 0.3s ease-in-out;
  }
  
  .sidebar.expanded {
    width: 27%;
    /* min-width: 250px; */
  }
  
  .sidebar.collapsed {
    width: 4%;
    /* min-width: 64px; */
  }
  
  .section-header {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    font-family: Inter, sans-serif;
    font-weight: 600;
    color: #3A3541;
    gap: 5px;
    white-space: nowrap;
  }
  
  .section-header.expanded {
    padding: 10px;
  }
  
  .section-header.collapsed {
    padding: 10px;
  }
  
  .section-header.purple {
    color: #AD2AFF;
  }
  
  .sidebar-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }
  
  .sidebar-chevron {
    width: 14px;
    height: 14px;
    margin-left: auto;
    transition: transform 0.3s;
  }
  
  .sidebar-chevron.rotated {
    transform: rotate(180deg);
  }
  
  /* .menu-item {
    font-size: 14px;
    font-family: Inter, sans-serif;
    color: #3A3541;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.2s;
  }
  
  .menu-item:hover {
    background-color: #F5F5F5;
  }
  
  .menu-item.expanded {
    padding: 10px 20px 10px 50px;
  } */
  
  .menu-item.collapsed {
    padding: 10px;
  }
  
  .main-content {
    flex-grow: 1;
    padding: 20px;
    background-color: #f5f5f5;
    transition: margin-left 0.3s ease-in-out;
  }
  
  .hero-section {
    background: linear-gradient(45deg, #04071a, #1f2d3d);
    border-radius: 8px;
    padding: 49px 36px;
    color: #fff;
    background-size: cover;
    background-position: center;
    min-height: 259px;
  }
  
  .hero-title {
    font-size: 36px;
    font-weight: 600;
    margin-bottom: 10px;
    font-family: Inter;
  }
  
  .hero-subtitle {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 15px;
    font-family: Inter;
  }
  
  .hero-text {
    font-size: 16px;
    line-height: 20px;
    max-width: 516px;
    font-family: Inter;
    opacity: 0.9;
  }
.profile-section {
    display: flex;
    align-items: center;
    gap: 10px;
    /* width: 200px; */
    height: 40px;
    /* margin-right: 1rem; */
  }
  
  .profile-circle {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 16px;
    font-weight: bold;
  }
  
  .user-name {
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #2e253b;
  }
  
  .chevron-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
  }
  
.dashboard-nav {
  width: 100%;
  min-width: 1109px;
  height: 96px;
  background: #FFFFFF;
  border-bottom: 1px solid #E2E8F0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-content {
  width: 100%;
  max-width: 1109px;
  padding: 0 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.search-container {
  width: 312px;
  height: 48px;
  background: #F5F7FA;
  border-radius: 12px;
  display: flex;
  align-items: center;
  margin-right: auto;
}

.search-info {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 18px;
}

.search-icon {
  width: 20px;
  height: 20px;
}

.search-text {
  font-family: 'Noto Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #8C94A3;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.notification-btn {
  width: 48px;
  height: 48px;
  background: #F5F7FA;
  border-radius: 12px;
  border: none;
  padding: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s;
}

.notification-btn:hover {
  background: #E2E8F0;
}

.bell-icon {
  width: 24px;
  height: 24px;
}

.profile-image {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}

.avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .nav-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .search-container {
    margin-bottom: 10px;
    width: 100%;
  }
}

.left-navigation {
  width: 100%;
  height: 100%;
  background-color: #f9f9f9;
  border-right: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.3s ease-in-out;
  position: relative;
}

/* .sidebar {
  width: 60px;
  background: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100vh;
  padding-top: 20px;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
}

.sidebar-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 0;
  cursor: pointer;
  position: relative;
  transition: background 0.3s ease-in-out;
}

.sidebar-item .icon {
  font-size: 20px;
  color: black;
}

.sidebar-item .label {
  position: absolute;
  left: 70px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 5px 10px;
  border-radius: 5px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  font-size: 14px;
}

.sidebar-item:hover .label,
.sidebar-item.selected .label {
  opacity: 1;
}

.sidebar-item.selected {
  background: #6a0dad;
}

.sidebar-item.selected .icon {
  color: white;
}

.sidebar-item:last-child {
  margin-top: auto;
  color: red;
} */



.menu-items {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 5px;
}

.menu-item {
  width: 100%;
  height: 9vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  position: relative;
  margin: 1px 0;
}

.menu-icon {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 5vh;
  color: #0e3788;
  transition: color 0.2s ease-in-out;
}

.menu-item.active {
  background-color: #1245A8;
}

.menu-item.active .menu-icon {
  color: #fff;
}

.menu-item.active .menu-label {
  color: #1245A8;
  display: none;
}

.menu-item:hover {
  background-color: #486db8;
}

.menu-item:hover .menu-icon {
  color: #fff;
  height: 4vh;
}

.menu-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 12px;
  margin-top: 4px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  position: relative;
  z-index: 2;
  display: none;
  white-space: pre-line;
}

.menu-label.visible {
  display: block;
  opacity: 1;

}

/* .active-indicator {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: #8b5cf6;
  border-radius: 0 4px 4px 0;
} */

.bottom-section {
  margin-bottom: 1px;
}

.divider {
  width: 70%;
  height: 1px;
  background-color: #ababab;
  margin: 0 auto 10px;
}

.logout-icon {
  color: #ef4444;
}

.menu-item.logout:hover .logout-icon {
  color: #fff;
}
/*hover : #EEF2FF

*/
.right-nav {
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  border-left: 1px solid #E2E8F0;
  display: flex;
  flex-direction: column;
  padding: 10px 14px;
  box-sizing: border-box;
  position: relative;
}

.nav-title {
  font-family: 'Noto Sans', sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 26px;
  color: #1245A8;
  /* margin-bottom: 20px; */
  /* margin-left: 27px; */
}

.nav-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.nav-item {
  width: 100%;
  /* max-width: 229px; */
  height: 35px;
  background: #EEF2FF;
  border-radius: 10px;
  border: none;
  display: flex;
  align-items: center;
  padding: 0px 10px;
  cursor: pointer;
  gap: 5px;
  transition: all 0.3s ease;
}

.nav-item:hover {
  background: #d0dbff;
  transform: scale(1.02);
}

.nav-item.active {
  background: #a7bcff;
}

.nav-item .icon {
  margin-right: 19px;
  display: flex;
  align-items: center;
}

.nav-item .nav-menu-title {
  /* font-family:  sans-serif; */
  font-weight: 500;
  font-size: 13px;
  color: #1245A8;
  flex-grow: 1;
  text-align: left;
}

.nav-item .arrow {
  margin-left: auto;
}

/* .nav-item:nth-child(4) {
  height: 47px;
} */

.bottom-image {
  margin-top: auto;
  width: 100%;
  display: flex;
  justify-content: center;
  height: 30vh;
  position: absolute;
  bottom: 2%;
}

.bottom-image img {
  width: 100%;
  /* max-width: 257px; */
  height: auto;
  object-fit: contain;
}


.top-performers-container {
  width: 100%;
  /* max-width: 1200px; */
  margin: 0 auto;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  font-family: Arial, sans-serif;
  background-color: #fff;
  min-height: 50vh;
}

.top-performer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #e0e0e0;
}

.performer-title {
  font-size: 18px;
  font-weight: bold;
}

.view-controls {
  display: flex;
  gap: 5px;
}

.view-mode-btn {
  width: 36px;
  height: 36px;
  border: 1px solid #e0e0e0;
  background-color: white;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.2s ease;
}

.view-mode-btn:hover {
  background-color: #f5f5f5;
}

.view-mode-btn.active {
  background-color: #f0f0f0;
  border-color: #ccc;
}

.tabs {
  display: flex;
  padding: 0 10px;
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
  justify-content: space-between;
}

.tab {
  padding: 6px 0px 12px;
  background: none;
  border: none;
  font-size: 14px;
  cursor: pointer;
  position: relative;
  color: #666;
  transition: color 0.3s ease;
  width: 100%;
}

.tab.active {
  color: #1245A8;
  font-weight: 500;
}

.tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #1245A8;
}

.content {
  padding: 20px;
  transition: all 0.3s ease;
}

/* Card View Styles */
.cards-view {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  grid-gap: 20px;
  gap: 20px;
}

.card {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.newcard-image {
  height: 100px;
  overflow: hidden;
}

.newcard-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-info {
  display: flex;
  justify-content: space-between;
  padding: 12px 15px;
}

.card-name {
  font-weight: 500;
}

.card-usage {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #666;
}

.card-action {
  padding: 0 15px 15px;
}

/* List View Styles */
.list-view {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  transition: background-color 0.2s ease;
}

.list-item:hover {
  background-color: #f9f9f9;
}

.list-item-name {
  font-weight: 500;
}

.list-item-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.action-icon {
  cursor: pointer;
  color: #666;
  transition: color 0.2s ease;
}

.action-icon:hover {
  color: #1245A8;
}

/* Button Styles */
.test-button {
  background-color: #1245A8;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 8px 15px;
  cursor: pointer;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  transition: all 0.2s ease;
}

.test-button:hover {
  background-color: #4770c3;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.cards-view, .list-view {
  animation: fadeIn 0.3s ease;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .cards-view {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
  
  .list-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  
  .list-item-actions {
    width: 100%;
    justify-content: space-between;
  }
}
/* 
.container {
    /* padding: 24px;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  .tools-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
  }
  
  .title {
    font-size: 24px;
    font-weight: bold;
  }
  
  .view-mode-buttons {
    display: flex;
    border: 1px solid #6b21a8;
    border-radius: 8px;
    overflow: hidden;
  }
  
  .view-mode-buttons button {
    padding: 5px 10px;
    background-color: white;
    color: #6b21a8;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s , color 0.3s ease-out;
  }
  
  .view-mode-buttons button.active {
    background-color: #6b21a8;
    color: white;
  }
  
  .view-mode-buttons button:hover {
    background-color: #ecdbff;
    color: #6b21a8;
  }
  
  .tools-list {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
  }
  
  .tool-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid #e5e7eb;
    transition: background-color 0.3s;
  }
  
  .tool-item:hover {
    background-color: #f9fafb;
  }
  
  .tool-name {
    font-weight: 500;
  }

  .tool-actions {
    display: flex;
    align-items: center;
  }
  
  .tool-actions button {
    padding: 8px 12px;
    margin-left: 8px;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
  }
  
  .view-button {
    background-color: white;
    color: #6b21a8;
    border: 1px solid #6b21a8;
  }
  
  .run-button,
  .import-button {
    background-color: #6b21a8;
    color: white;
    border: 1px solid #6b21a8;
  }
  
  .view-button:hover {
    background-color: #f3e8ff;
  }
  
  .run-button:hover,
  .import-button:hover {
    background-color: #8e44ad;
  }
  
  .tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 24px;
  }
  
  .tool-card {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s;
  }
  
  .tool-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  }
  
  .tool-image {
    height: 200px;
    background-color: #e5e7eb;
    overflow: hidden;
  }
  
  .tool-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .tool-info {
    padding: 16px;
  }
  
  .tool-info h3 {
    font-size: 18px;
    margin-bottom: 12px;
  }
  
  .tool-actions button {
    width: 100%;
    margin-bottom: 8px;
    padding: 12px;
  }
  
  .tool-actions .view-button {
    background-color: #ffffff;
    color: #6b21a8;
    border: 1px solid #6b21a8;
  }
  
  .tool-actions .run-button,
  .tool-actions .import-button {
    background-color: #6b21a8;
    color: white;
    border: 1px solid #6b21a8;
  }
  
  .tool-actions .view-button:hover {
    background-color: #f3e8ff;
  }
  
  .tool-actions .run-button:hover,
  .tool-actions .import-button:hover {
    background-color: #8e44ad;
  } */
  

  .tools-display-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }
  
  .tools-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
  }
  
  .title {
    font-size: 24px;
    font-weight: bold;
  }
  
  .view-mode-buttons {
    display: flex;
    border: 1px solid #6b21a8;
    border-radius: 8px;
    overflow: hidden;
  }
  
  .view-mode-buttons button {
    padding: 5px 10px;
    background-color: white;
    color: #6b21a8;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s , color 0.3s ease-out;
  }
  
  .view-mode-buttons button.active {
    background-color: #6b21a8;
    color: white;
  }
  
  .view-mode-buttons button:hover {
    background-color: #ecdbff;
    color: #6b21a8;
  }
  
  .tools-list {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
  }
  
  .tool-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid #e5e7eb;
    transition: background-color 0.3s;
  }
  
  .tool-item:hover {
    background-color: #f9fafb;
  }
  
  .tool-name {
    font-weight: 500;
  }

  /* List View Styles */
  .tools-list-view {
    display: none;
    flex-direction: column;
    gap: 8px;
  }
  
  .tools-list-view.active {
    display: flex;
  }
  
  .tool-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-radius: 4px;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
  }
  
  .tool-list-item:hover {
    background-color: #f9f9f9;
  }
  
  .tool-name {
    font-size: 1rem;
    color: #333;
  }
  
  .tool-actions {
    display: flex;
    gap: 8px;
  }
  
  .tool-list-action-button {
    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    /* gap: 6px; */
    /* border-radius: 20px; */
    padding: 3px 4px;
    /* font-size: 0.875rem; */
    cursor: pointer;
    transition: all 0.3s ease;
    border:none;
    background-color:transparent;
    font-weight: 500;
    color: #1245A8;
    transition: all 0.3s ease;
    &:hover {
      border-radius: 50%;
      /* padding: 3px; */
      transform: scale(1.01) translateY(-2px);
      box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2);
    }
  }
  
  /* .tool-list-action-button svg {
    width: 16px;
    height: 16px;
  } */
  
  .view-button {
    color: #1245A8;
    border-color: #1245A8;
  }
  
  .view-button:hover {
    background-color:#1245A8;
    color: #fff;
  }

  .approval-butn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 20px;
    padding: 6px;
    border: 1px solid;
  }

  .run-button {
    
    color: #7e00a1;
    border-color: #7e00a1;
  }
  
  .run-button:hover {
    background-color: #7e00a1;
    color: #fff;
  }
  
  .delete-button {
    color: #bc251d;
    border-color: #bc251d;
  }
  
  .delete-button:hover {
    background-color: #bc251d;
    color: #fff;
  }
  
  /* Grid View Styles */
  .tools-grid-view {
    display: none;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
  }
  
  .tools-grid-view.active {
    display: grid;
  }
  
  .tool-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background-color: white;
  }
  
  .tool-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  }
  
  .tool-image {
    height: 160px;
    overflow: hidden;
  }
  
  .tool-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .tool-content {
    padding: 16px;
  }
  
  .tool-content h3 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 500;
  }
  
  .tool-card-actions {
    display: flex;
    justify-content: space-between;
    padding: 12px 16px;
    border-top: 1px solid #f0f0f0;
  }
  
  /* Responsive styles */
  @media (max-width: 768px) {
    .tool-list-item {
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
    }
    
    .tool-actions {
      width: 100%;
      justify-content: flex-end;
    }
    
    .tools-grid-view {
      grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
  }
  
  @media (max-width: 576px) {
    .tool-actions {
      flex-wrap: wrap;
    }
    
    .tools-grid-view {
      grid-template-columns: 1fr;
    }
  }
/* MuiDrawerComponent.css */


.custom-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1200;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.custom-drawer-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Override MUI Drawer styles */
.mui-drawer-container .MuiDrawer-paper {
  width: 45%;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  overflow: visible;
}

.mui-drawer {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #e0e0e0;
  animation: slideIn 0.4s ease-out both;
  animation-delay: 0.1s;
}

.close-button {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  transition: background-color 0.2s ease !important;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.close-button:hover {
  background-color: #f5f5f5 !important;
}

.close-button svg {
  width: 18px;
  height: 18px;
  color: #666;
}

.drawer-title {
  font-size: 16px !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

.session-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Custom toggle styling */
.toggle {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
}

/* Hide default Switch styles */
.custom-toggle {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}

.custom-toggle + .MuiSwitch-track {
  display: none;
}

.toggle-icon {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #e0e0e0;
  transition: 0.4s;
  border-radius: 20px;
}

.toggle-icon:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

.custom-toggle.Mui-checked + .toggle-icon {
  background-color: #9c27b0;
}

.custom-toggle.Mui-checked + .toggle-icon:before {
  transform: translateX(20px);
}

.toggle-icon svg {
  opacity: 0;
  position: absolute;
  color: white;
  width: 12px;
  height: 12px;
  right: 4px;
  top: 4px;
  transition: opacity 0.2s ease;
}

.custom-toggle.Mui-checked + .toggle-icon svg {
  opacity: 1;
}

.toggle-label {
  font-size: 14px !important;
  color: #666 !important;
}

.drawer-breadcrumb {
  padding: 12px 20px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #666;
  animation: slideIn 0.4s ease-out both;
  animation-delay: 0.2s;
}

.breadcrumb-item {
  color: #9c27b0;
  cursor: pointer;
}

.breadcrumb-item.current {
  color: #666;
  cursor: default;
}

.breadcrumb-separator {
  margin: 0 8px;
  color: #666;
}

.drawer-content {
  flex: 1 1;
  /* padding: 20px; */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* padding: 16px; */
  overflow-y: auto;
  background-color: #f5f7f9;
  position: relative;
}

/* Background image container */
.background-image-container {
  position: absolute;
  top: 7%;
  left: 0;
  width: 100%;
  height: 50%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  pointer-events: none;
  z-index: 0;
}

.background-image {
  max-width: 50%;
  height: 100%;
  /* opacity: 0.5; */
  object-fit: contain;
}

.empty-state {
  /* flex: 1; */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  /* padding: 10px 0; */
  height: 20%;
  position: absolute;
  width: 100%;
  bottom: 0%;
  top: 55%;
}

.animate-slide-in {
  animation: slideIn 0.4s ease-out both;
}

.empty-state {
  animation-delay: 0.3s;
}

.input-container {
  animation-delay: 0.4s;
  position: relative;
  padding: 16px;
}

.illustration {
  width: 100%;
  height: 40vh;
  background-color: #f9f9f9;
  margin-bottom: 20px;
  border-radius: 8px;
}

.empty-title {
  font-size: 18px !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  color: #333 !important;
}

.empty-subtitle {
  font-size: 14px !important;
  color: #666 !important;
  margin: 0 !important;
}

.messages-container {
  flex: 1 1;
  padding: 16px 0 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 16px;
  overflow-y: auto;
  position: relative;
  z-index: 1; /* Keep above background image */
}

.messages-container::-webkit-scrollbar {
  width: 6px;
}

.messages-container::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.messages-container::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.messages-container::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

.message-bubble {
  position: relative;
  z-index: 2; /* Ensure messages stay above background */
}

.message-input {
  width: 100%;
  padding: 12px 48px 12px 16px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  position: relative;
  z-index: 2; /* Keep above background */
  background-color: white; /* Ensure input is not transparent */
}

.message-input .MuiInputBase-input:focus {
  outline: none !important;
}

.message-input:focus-within {
  border-color: #1245A8 !important;
  box-shadow: 0 0 0 2px rgba(156, 39, 176, 0.2) !important;
}

.send-button {
  position: absolute !important;
  right: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background-color: #1245A8 !important;
  color: white !important;
  border: none !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease, transform 0.2s ease !important;
  padding: 0 !important;
  z-index: 3; /* Keep send button above all */
}

.send-button:hover {
  background-color: #366cd8 !important;
  transform: translateY(-50%) scale(1.05) !important;
}

.send-button svg {
  width: 16px;
  height: 16px;
}
  
  /* Animation for drawer entry */
  @keyframes slideIn {
    from {
      opacity: 0;
      transform: translateX(30px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }


  /* ModelDrawerComponent.css */

.model-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1200;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.model-drawer-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Override MUI Drawer styles */
.model-drawer-container .MuiDrawer-paper {
  width: 400px;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  background-color: #ffffff;
  animation: slideIn 0.3s ease-out;
}

.model-drawer {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
}

.model-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px;
  border-bottom: 1px solid #e0e0e0;
}

.model-icon-container {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  overflow: hidden;
  background-color: #f0f0f0;
}

.model-icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.close-button {
  padding: 4px !important;
  color: #333 !important;
}

.close-button svg {
  width: 20px;
  height: 20px;
}

.model-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.model-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  color: #333;
}

.model-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: fadeIn 0.5s ease-out;
}

.section-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333;
  display: flex;
  align-items: center;
}

.field-count {
  font-weight: normal;
  color: #666;
  font-size: 12px;
  margin-left: 4px;
}

.version-input {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 14px;
  color: #333;
}

.description-box {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 12px;
  font-size: 14px;
  color: #333;
  max-height: 100px;
  overflow-y: auto;
  background: white;
}

.model-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

.model-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #6a6a6a;
}

.tool-list, .trigger-list, .channel-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0;
}

.model-tool-item, .trigger-item, .channel-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

.model-tool-item:hover, .trigger-item:hover, .channel-item:hover {
  background-color: #f5f5f5;
}

.tool-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tool-icon.orange {
  background-color: #FF9800;
}

.tool-icon.green {
  background-color: #4CAF50;
}

.tool-icon.blue {
  background-color: #2196F3;
}

.workflow-diagram {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 12px;
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.workflow-image {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Element-specific animations */
.model-section:nth-child(1) { animation-delay: 0.1s; }
.model-section:nth-child(2) { animation-delay: 0.2s; }
.model-section:nth-child(3) { animation-delay: 0.3s; }
.model-section:nth-child(4) { animation-delay: 0.4s; }
.model-section:nth-child(5) { animation-delay: 0.5s; }
.model-section:nth-child(6) { animation-delay: 0.6s; }
.model-section:nth-child(7) { animation-delay: 0.7s; }

/* Animations */
/* @keyframes slideIn {
  from {
    transform: translateX(50px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
} */

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive adjustments */
@media (max-width: 600px) {
  .model-drawer-container .MuiDrawer-paper {
    width: 100%;
  }
}

.message-bubble {
  max-width: 85%;
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  position: relative;
}

.user-message {
  align-self: flex-end;
  background-color: #1245A8;
  color: white;
  border-bottom-right-radius: 4px;
}

.bot-message {
  align-self: flex-start;
  background-color: #d5e3ff;
  color: #333;
  border-bottom-left-radius: 4px;
}

.bot-message.success {
  border-left: 4px solid #28a745;
}

.bot-message.error {
  border-left: 4px solid #dc3545;
}

.bot-message.info {
  border-left: 4px solid #17a2b8;
}

.bot-message.processing {
  border-left: 4px solid #1245A8;
  background: linear-gradient(to right, rgba(102, 16, 242, 0.1), white);
}

.message-sender {
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
}

.node-executed {
  font-size: 10px;
  background-color: #28a745;
  color: white;
  padding: 2px 6px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  /* margin-left: 8px; */
}

.message-content {
  margin-bottom: 4px;
}

.message-text {
  font-size: 14px !important;
  line-height: 1.5;
  word-wrap: break-word !important;
  white-space: pre-line;
}

.message-time {
  font-size: 10px;
  opacity: 0.7;
  text-align: right;
  margin-top: 4px;
}

.status-indicator {
  display: inline-block;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  margin-top: 8px;
}

.status-indicator.success {
  background-color: #d4edda;
  color: #155724;
}

.status-indicator.error {
  background-color: #f8d7da;
  color: #721c24;
}

/* Processing animation styles */
/* .processing-container {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
} */
.processing-container {
  align-self: flex-start;
  display: flex;
  align-items: center;
  /* background-color: rgba(255, 255, 255, 0.8); */
  /* padding: 8px 12px; */
  /* border-radius: 16px; */
  z-index: 2;
}

.processing-text {
  font-weight: 600;
  color: #1245A8;
  margin-right: 8px;
}

.processing-dots {
  display: flex;
}

.dot {
  height: 8px;
  width: 8px;
  border-radius: 50%;
  background-color: #1245A8;
  margin: 0 2px;
  opacity: 0.3;
  animation: dotPulse 1.5s infinite ease-in-out;
}

.dot:nth-child(1) {
  animation-delay: 0s;
}

.dot:nth-child(2) {
  animation-delay: 0.2s;
}

.dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes dotPulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

.processing-animation {
  perspective: 800px;
  height: 60px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
}

.cube {
  transform-style: preserve-3d;
  width: 30px;
  height: 30px;
  position: relative;
  animation: rotate 3s infinite linear;
}

@keyframes rotate {
  0% {
    transform: rotateX(0deg) rotateY(0deg);
  }
  100% {
    transform: rotateX(360deg) rotateY(360deg);
  }
}

.side {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.9;
}

.front {
  transform: translateZ(15px);
  background: linear-gradient(45deg, #6610f2, #6f42c1);
}

.back {
  transform: translateZ(-15px) rotateY(180deg);
  background: linear-gradient(45deg, #6610f2, #6f42c1);
}

.right {
  transform: rotateY(90deg) translateZ(15px);
  background: linear-gradient(45deg, #007bff, #6610f2);
}

.left {
  transform: rotateY(-90deg) translateZ(15px);
  background: linear-gradient(45deg, #007bff, #6610f2);
}

.top {
  transform: rotateX(90deg) translateZ(15px);
  background: linear-gradient(45deg, #17a2b8, #007bff);
}

.bottom {
  transform: rotateX(-90deg) translateZ(15px);
  background: linear-gradient(45deg, #17a2b8, #007bff);
}

.send-button.disabled {
  color: #ccc;
  cursor: not-allowed;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.animate-slide-in {
  animation: slideIn 0.3s ease forwards;
}

.animate-slide-up {
  animation: slideUp 0.3s ease forwards;
}

.animate-fade-in {
  animation: fadeIn 0.5s ease forwards;
}


/* Chat.css */

.chat-container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-width: 48rem;
  margin: 0 auto;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  background-color: #f9fafb;
  border-radius: 0.5rem;
  overflow: hidden;
}

.chat-header {
  background-color: #4f46e5;
  color: white;
  padding: 1rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.chat-header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.connection-status {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
}

.status-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 9999px;
  margin-right: 0.5rem;
}

.status-connected {
  background-color: #34d399;
}

.status-disconnected {
  background-color: #ef4444;
}

/* .messages-container {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
} */

.message-row {
  display: flex;
  animation: fadeIn 0.3s ease-in-out;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.message-bubble {
  max-width: 75%;
  padding: 1rem;
  border-radius: 0.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  white-space: pre-wrap;
}

.message-user {
  background-color: #6366f1;
  color: white;
  border-bottom-right-radius: 0;
}

.message-bot {
  background-color: white;
  border: 1px solid #e5e7eb;
  border-bottom-left-radius: 0;
}

.message-system {
  background-color: #f3f4f6;
  border: 1px solid #e5e7eb;
  text-align: center;
  margin: 0 auto;
}

.message-error {
  background-color: #fee2e2;
  border: 1px solid #fecaca;
  text-align: center;
  margin: 0 auto;
}

.message-bubble.action-required {
  border-left: 4px solid #f59e0b;
}

.message-meta {
  display: flex;
  align-items: center;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  opacity: 0.75;
}

.thinking-indicator {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0;
  color: #6b7280;
  animation: pulse 1.5s infinite;
}

.chat-input-area {
  border-top: 1px solid #e5e7eb;
  background-color: white;
  padding: 1rem;
}

.chat-form {
  display: flex;
  gap: 0.5rem;
}

.chat-input {
  flex: 1 1;
  border: 1px solid #d1d5db;
  border-radius: 9999px;
  padding: 0.5rem 1rem;
  outline: none;
}

.chat-input:disabled {
  background-color: #f3f4f6;
}

.chat-input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.5);
}

.chat-submit {
  background-color: #4f46e5;
  color: white;
  padding: 0.5rem;
  border-radius: 9999px;
  transition: background-color 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}

.chat-submit:hover {
  background-color: #4338ca;
}

.chat-submit:disabled {
  background-color: #a5b4fc;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.dashboard-agent-cards-container {
  display: flex;
  /* gap: 20px; */
  /* flex-wrap: wrap; */
  justify-content: center;

  width: 100%;
  height: 30vh;
  align-items: center;
}

.dashboard-card {
  /* flex: 1 1 169px; */
  width: 21%;
  height: 25vh;
  border-radius: 12px;
  padding: 0px;
  background: #FFF;
  /* background: linear-gradient(33deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 70%, rgba(27, 86, 204, 1) 100%); */
  transition: transform 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin:10px 15px;
}

.dashboard-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.dashboard-card-content {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}

.dashboard-icon-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0px 0px 0px 10px;
}

.dashboard-main-icon {
  width: 25%;
  height: 9vh;
  object-fit: contain;
  color:#1245A8;
  padding-top: 10px;
}

.dashboard-arrow-icon {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  cursor: pointer;
}

.dashboard-text-container {
  margin-top: auto;
  text-align: center;
  margin-bottom: 10px;
}

.count {
  font-family: 'Noto Sans', sans-serif;
  font-weight: 700;
  font-size: 7vh;
  line-height: 8vh;
  margin: 0 0 0px 0;
  color: #0c035e;
}

.dashboard-card-title {
  font-family: 'Noto Sans', sans-serif;
  font-weight: 500;
  font-size: 3vh;
  line-height: 5vh;
  margin: 0;
  color: #46416f;
}



.confirmation-modal {
  padding: 24px;
  width: 100%;
}

.steps-list {
  margin: 16px 0;
  padding-left: 20px;
}

.details-box {
  background: #f9f9f9;
  padding: 16px;
  border-radius: 8px;
  margin-top: 16px;
}
.api-section {
  margin-top: 16px;
}

.copy-field {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.json-body, .curl-command {
  background: #f5f5f5;
  padding: 12px;
  border-radius: 8px;
  overflow-x: auto;
  font-size: 14px;
  margin-bottom: 16px;
}



.modal-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}


/* MarketplaceUI.css */
* {
    box-sizing: border-box;
    /* margin: 0;
    padding: 0; */
    transition: all 0.3s ease;
  }
  
  .marketplace-container {
    width: 100%;
    margin: 0 auto;
    /* padding: 20px; */
  }
  
  .marketplace-section h2 {
    font-size: 16px;
    font-weight: 600;
    margin:0px;
    margin-bottom: 10px;
    color: #333;
  }
  
  /* Section styling */
  .marketplace-section {
    margin-bottom: 12px;
    background-color: #fff;
    border-radius: 12px;
    padding: 1rem 1.5rem; /*added padding for left and right*/
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
  }
  
  .marketplace-section:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }
  
  .marketplace-section-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: top;
    margin-bottom: 16px;
  }
  
  .marketplace-section-header h2 {
    margin-bottom: 4px;
    flex-basis: 100%;
  }
  
  .marketplace-section-header p {
    font-size: 14px;
    color: #666;
    margin-bottom: 16px;
    flex-basis: 100%;
  }
  
  /* Cards Grid */
  .marketplace-cards-grid {
    display:flex;
        justify-content:flex-start;
        /* flex-wrap: wrap; */
        gap: 15px;
        width: 100%;
        /*added left and right padding*/
        /* padding-right: 25px; */
        /* padding-left: 25px; */
  }
  
  /* .marketplace-grid {
    grid-template-columns: repeat(auto-fill, minmax(15%, 1fr));
  }
   */
  /* .marketplace-function-grid {
    grid-template-columns: repeat(auto-fill, minmax(15%, 1fr));
  } */
  
  /* Marketplace Card */
  .marketplace-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.2s ease-in-out;
    height: 120px;
    cursor: pointer;
  }
  
  .marketplace-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
  }
  
  .marketplace-card {
    font-size: 24px;
    margin-bottom: 8px;
  }
  
  .marketplace-card p {
    font-size: 14px;
    font-weight: 500;
  }
  
  /* Function Card */
  .marketplace-function-card {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    text-align: center;
    transition: all 0.2s ease-in-out;
    height: 100%;
    /* width: 90%; */
    cursor: pointer;
    margin: 0px;
    /* margin-top: 20px; */
    background-color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    /* backgroundColor: selectedCategory === category.name ? '#CCE5FF' : 'transparent', */
    border-radius: 8px;
    width:15%;
    /* maxWidth: '90px', */
    box-sizing:content-box;

  }

  .add-card {
    /* border: 1px dashed #ccc; */
    /* background-color: #f9f9f9; */
    padding: 20px 10px;
  }
  
  .add-card:hover {
    border-color: #0f85ff;
    /* background-color: #f0f7ff; */
  }
  
  .marketplace-function-card:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    background-color: #ccddff;
  }

  .marketplace-function-card.selected {
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    background-color: #b8cfff;
    p {
      color: #1245A8;
    }
  }
  
  .marketplace-icon-container {
    width: 3.5vw;
              height: 7vh;
              border-radius: 50%;
              display: flex;
              align-items: center;
              justify-content: center;
              margin-bottom: 5px;
              background-color: white;
              box-shadow: 0 1px 3px rgba(0,0,0,0.1);
              padding: 1vh;
              box-sizing: border-box;
  }
  
 .marketplace-icon-container img {
    width: 100%;
    height: 100%;
    object-fit:contain;
  }
  
  /* .marketplace-function-card-p {
    font-size: 1rem;
    font-weight: 500;
    margin: 0px;
  } */
  .marketplace-function-card-p {
    font-size: 1rem;
    font-weight: 500;
    margin: 0px;
    /* to make the entire text come in 1 line */
    white-space: nowrap;
     /* to hide overflow */        
    overflow: hidden;    
     /* displays "..." in case overflow occours */      
    text-overflow: ellipsis;  
    /* takes up the max width of the container */
    max-width: 100%;          
    /* in case the text is still big, this will scale the text */  
    font-size: clamp(0.7rem, 1vw, 1rem);
  }
  
  /* Workflow Card */
  .marketplace-workflow-card {
    background-color: white;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 180px;
    margin-right: 16px;
    width: 100%;
    position: relative;
  }
  
  .marketplace-workflow-card:hover {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
    transform: translateY(-4px);
  }
  
  .marketplace-workflow-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
  }
  
  .marketplace-workflow-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background-color: #e9ecef;
  }
  
  .marketplace-workflow-content {
    flex-grow: 1;
  }
  
  .marketplace-workflow-content h3 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
  }
  
  .marketplace-workflow-content p {
    font-size: 14px;
    color: #666;
  }
  
  /* Agent Card */
  .marketplace-agent-card {
    background-color: white;
    border-radius: 8px;
    padding: 12px 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    transition: all 0.2s ease;
  }
  
  .marketplace-agent-card:hover {
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  }
  
  .marketplace-agent-content h3 {
    font-size: 15px;
    font-weight: 500;
  }
  
  /* Buttons */
  .marketplace-icon-button {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
  }
  
  .marketplace-icon-button:hover {
    background-color: #f1f3f5;
  }
  
  .marketplace-icon-button svg {
    width: 16px;
    height: 16px;
    color: #495057;
  }
  
  .marketplace-import-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1245A8;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 1;
  }
  

  .empty-workflow-state {
    text-align: center;
    align-content: center;
    padding: 2rem;
    color: #666;
    background: #f9f9f9;
    border-radius: 10px;
    margin-top: 1rem;
    animation: fadeIn 0.3s ease-in-out;
  }
  
  .create-workflow-button {
    background-color: #7E00A1;
    color: white;
    padding: 0.6rem 1.2rem;
    border: none;
    border-radius: 6px;
    margin-top: 1rem;
    cursor: pointer;
    transition: background-color 0.2s ease;
  }
  
  .create-workflow-button:hover {
    background-color: #62007e;
  }
  
  .list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-bottom: 1px solid #ddd;
    background: white;
    transition: box-shadow 0.3s;
  }
  
  .list-item:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  
  .marketplace-import-button:hover {
    background-color: #3f75e3;
    transform: translateY(-2px) scale(1.02);
  }
  
  .marketplace-import-button svg {
    width: 16px;
    height: 16px;
    margin-right: 6px;
  }
  
  .marketplace-create-button {
    display: flex;
    align-items: center;
    background-color: white;
    color: #1245A8;
    border: 1px solid #1245A8;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    gap:6px;
  }
  
  .marketplace-create-button:hover {
    background-color: #dfe7ff;
  }
  
  .marketplace-create-button svg {
    width: 16px;
    height: 16px;
  }
  
  /* View controls */
  .marketplace-view-controls {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .marketplace-view-button {
    border: 1px solid #dee2e6;
    background-color: white;
    border-radius: 4px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  
  .marketplace-view-button svg {
    width: 16px;
    height: 16px;
    color: #495057;
  }
  
  .marketplace-view-button.active {
    background-color: #f1f3f5;
    border-color: #adb5bd;
  }
  
  .marketplace-view-button:hover {
    background-color: #f8f9fa;
  }
  
  /* Carousel */
  .marketplace-carousel-container {
    position: relative;
    margin: 24px 0;
    overflow: hidden;
  }
  
  .marketplace-carousel-content {
    overflow: hidden;
  }
  
  .marketplace-carousel-track {
    display: flex;
    transition: transform 0.5s ease;
  }
  
  .marketplace-carousel-track > * {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc(33.333% - 16px);
    margin-right: 16px;
  }
  
  .marketplace-carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: white;
    border: 1px solid #dee2e6;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
  }
  
  .marketplace-carousel-button:hover:not(.disabled) {
    background-color: #f8f9fa;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  }
  
  .marketplace-carousel-button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  
  .marketplace-carousel-button.prev {
    left: -18px;
  }
  
  .marketplace-carousel-button.next {
    right: -18px;
  }
  
  .marketplace-pagination {
    display: flex;
    justify-content: center;
    margin-top: 16px;
    gap: 8px;
  }
  
  .marketplace-page-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #dee2e6;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  
  .marketplace-page-dot.active {
    background-color: #1245A8;
    transform: scale(1.2);
  }
  
  /* View Modes */
  .marketplace-agents-list {
    transition: all 0.3s ease;
  }
  
  .marketplace-agents-list.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    grid-gap: 16px;
    gap: 16px;
  }
  
  .marketplace-agents-list.grid .agent-card {
    flex-direction: column;
    align-items: flex-start;
    height: 130px;
    margin-bottom: 0;
  }
  
  .marketplace-agents-list.grid .agent-content {
    margin-bottom: 16px;
  }

  .card-carousel-container {
    position: relative;
    display: flex;
    align-items: center;
  }
  
  .carousel-nav-btn {
    position: absolute;
    background: transparent;
    opacity: 0.5;
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    z-index: 5;
    transition: all 0.2s ease;
    font-size: 18px;
    color: #495057;
  }
  
  .carousel-nav-btn:hover {
    background: #f8f9fa;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
  
  .add-cat-prev-btn {
    left: -18px;
  }
  
  .add-cat-next-btn {
    right: -18px;
  }
  
  .add-cat-form-group {
    margin-bottom: 20px;
  }
  
  .add-cat-form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
  }
  
  .add-cat-form-group input[type="text"],
  .add-cat-form-group input[type="color"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
  }
  
  .add-cat-form-group input[type="file"] {
    width: 100%;
    padding: 8px 0;
  }
  
  .add-cat-icon-preview {
    margin-top: 10px;
    display: flex;
    align-items: center;
  }
  
  .add-cat-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 25px;
  }
  
  .add-cat-cancel-btn,
  .add-cat-submit-btn {
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
  }
  
  .add-cat-cancel-btn {
    background: #e9ecef;
    border: none;
    color: #495057;
  }
  
  .add-cat-cancel-btn:hover {
    background: #dde2e6;
  }
  
  .add-cat-submit-btn {
    background: #0f85ff;
    border: none;
    color: white;
  }
  
  .add-cat-submit-btn:hover {
    background: #0a6edb;
  }
  
  /* Animation for import button */
  @keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
  }
  
  .marketplace-import-button:active {
    animation: pulse 0.3s ease;
  }

  .marketplace-import-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }
  
  /* Responsive adjustments */
  @media (max-width: 768px) {
    .marketplace-carousel-track > * {
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(50% - 16px);
    }
    
    .marketplace-marketplace-grid, .function-grid {
      grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
    
    .marketplace-agents-list.grid {
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
  }
  
  @media (max-width: 480px) {
    .marketplace-carousel-track > * {
      flex-grow: 0;
      flex-shrink: 0;
      flex-basis: calc(100% - 16px);
    }
    
    .marketplace-section-header {
      flex-direction: column;
      align-items: flex-start;
    }
    
    .marketplace-view-controls {
      margin-top: 12px;
      width: 100%;
      justify-content: space-between;
    }
  }

  #cardIcon{
  background-color: #ffffff;
  }

  .marketplace-function-card .delete {
    display: none;
    position: absolute;
    top: 0px;
    right: 4px;
    color: rgb(161, 161, 161);
    padding: 4px;
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
    border: none;
    background: none;
    transition: all 0.2s ease
  }

  .delete:hover{
    color: red;
    transform: scale(1.1);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }
  
  .marketplace-function-card:hover .delete {
    display: block;
  }


  
.custom-select {
    max-width: 400px;
    background-color: #fafafa;
    border-radius: 4px;
  }
  
  .custom-select .MuiSelect-select {
    padding: 10px;
    min-height: 40px;
  }
  
  .custom-select .MuiOutlinedInput-notchedOutline {
    border-color: #ccc;
    transition: border-color 0.3s ease;
  }
  
  .custom-select:hover .MuiOutlinedInput-notchedOutline {
    border-color: #3f75e3;
  }
  
  .custom-select.Mui-focused .MuiOutlinedInput-notchedOutline {
    border-color: #1245A8;
  }
  
  .custom-select-menu {
    max-height: 300px !important;
    width: 300px !important;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    overflow: auto;
  }
  
  .custom-select-menu .MuiCheckbox-root.Mui-checked {
    color: #1245A8;
  }
  
  .custom-select-menu .Mui-selected {
    background-color: #c5d2ff !important;
  }
  

.model-select {
    width: 100%;
    background-color: #fafafa;
    border-radius: 4px;
  }
  
  .model-select .MuiSelect-select {
    padding: 10px;
    min-height: 40px;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  .model-select .MuiOutlinedInput-notchedOutline {
    border-color: #ccc;
    transition: border-color 0.3s ease;
  }
  
  .model-select:hover .MuiOutlinedInput-notchedOutline {
    border-color: #3f75e3;
  }
  
  .model-select.Mui-focused .MuiOutlinedInput-notchedOutline {
    border-color: #1245A8;
  }
  
  .model-select-menu {
    max-height: 250px !important;
    width: 280px !important;
    border-radius: 8px;
    overflow: auto;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  }
  
  .model-select-menu .Mui-selected {
    background-color: #d3ddfe !important;
  }
  
  .footer-container{
    /* height: 100%; */
    display: flex;
    align-items: end;
    gap: 10px;
    /* padding: 16px; */
  }

  .agent-drawer-cancel-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    color: #1245A8;
    border: 1px solid #1245A8;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
  }
  
  .agent-drawer-cancel-button:hover {
    background-color: #d3ddfe;
    transform: translateY(-2px) scale(1.02);
  }
  
  .agent-drawer-cancel-button svg {
    width: 16px;
    height: 16px;
    margin-right: 6px;
  }

  .model-name-input {
    font-size: 1.5rem;
    font-weight: 600;
    /* margin-bottom: 12px; */
  }
  
  .model-name-input .MuiOutlinedInput-root {
    border-radius: 4px;
  }
  
  .model-name-input .MuiOutlinedInput-notchedOutline {
    border-color: #ccc;
    transition: border-color 0.3s ease;
  }
  
  .model-name-input:hover .MuiOutlinedInput-notchedOutline {
    border-color: #3f75e3;
  }
  
  .model-name-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
    border-color: #1245A8;
  }

  .model-name-input .MuiInputLabel-root.Mui-focused {
    color: #1245A8;
  }

  .description-box {
    padding: 12px;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid #cccccc;
    color: #333;
    font-size: 14px;
    line-height: 1.6;
  }
  
  .agent-description-input {
    font-size: 14px;
  }
  
  .agent-description-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
    border-color: #1245A8;
  }
  
  .agent-description-input .MuiInputLabel-root.Mui-focused {
    color: #1245A8;
  }
  
  
  
  .tools-selection {
    width: 100%;
    padding: 16px;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }
  
  .section-header {
    margin-bottom: 16px;
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 8px;
  }
  
  .section-title {
    font-size: 16px;
    font-weight: 500;
    margin: 0;
    display: flex;
    align-items: center;
  }
  
  .tool-count {
    font-size: 14px;
    color: #666;
    margin-left: 4px;
    font-weight: normal;
  }
  
  /* Selected tools display (non-edit mode) */
  .selected-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .selected-tool-item {
    display: flex;
    align-items: center;
    background-color: #f5f5f5;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    width: 100%;
  }
  
  .tool-icon {
    color: #4a6cbf;
    margin-right: 6px;
    display: flex;
    align-items: center;
  }
  
  /* App sections in edit mode */
  .app-tools-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  
  .app-section {
    border: 1px solid #eaeaea;
    border-radius: 8px;
    overflow: hidden;
  }
  
  .app-header {
    background-color: #f7f7f7;
    padding: 12px 16px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    -webkit-user-select: none;
            user-select: none;
    transition: background-color 0.2s;
  }
  
  .app-header:hover {
    background-color: #f0f0f0;
  }
  
  .app-header-info {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  
  .app-name {
    font-weight: 500;
    font-size: 15px;
  }
  
  .app-type {
    font-size: 12px;
    color: #666;
    background-color: #e9e9e9;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: capitalize;
  }
  
  .connection-status {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 10px;
  }
  
  .connection-status.connected {
    background-color: #e3f3e6;
    color: #28a745;
  }
  
  .connection-status.disconnected {
    background-color: #f8e7e7;
    color: #dc3545;
  }
  
  .expand-icon {
    font-size: 10px;
    transition: transform 0.2s ease;
    color: #666;
  }
  
  .expand-icon.expanded {
    transform: rotate(180deg);
  }
  
  /* Tools list inside each app section */
  .app-tools-list {
    padding: 8px 0;
    background-color: #fff;
    max-height: 300px;
    overflow-y: auto;
  }
  
  .tool-item {
    padding: 6px 16px;
  }
  
  .tool-label {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    padding: 4px 0;
  }
  
  .tool-label input[type="checkbox"] {
    margin-top: 4px;
    margin-right: 12px;
  }
  
  .tool-info {
    display: flex;
    flex-direction: column;
  }
  
  .tool-name {
    font-size: 14px;
    margin-bottom: 2px;
  }
  
  .tool-description {
    font-size: 12px;
    color: #666;
  }
  
  /* Smooth transitions */
  .app-tools-list {
    animation: fadeIn 0.2s ease;
  }

  .already-selected-tools {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    border: 1px solid #eaeaea;
  }
  
  .already-selected-tools h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 500;
    color: #555;
  }
  
  .selected-tools-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  
  .already-selected-tool {
    display: flex;
    align-items: center;
    background-color: #e3f0ff;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 13px;
  }
  
  .selected-tool-text {
    color: #0066cc;
  }
  
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* Custom checkbox styling */
  .tool-label input[type="checkbox"] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ddd;
    border-radius: 4px;
    outline: none;
    transition: all 0.2s;
    position: relative;
    cursor: pointer;
  }
  
  .tool-label input[type="checkbox"]:checked {
    background-color: #4a6cbf;
    border-color: #4a6cbf;
  }
  
  .tool-label input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 6px;
    width: 4px;
    height: 9px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }
  
  /* Scrollbar styling */
  .app-tools-list::-webkit-scrollbar {
    width: 6px;
  }
  
  .app-tools-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
  }
  
  .app-tools-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
  }
  
  .app-tools-list::-webkit-scrollbar-thumb:hover {
    background: #aaa;
  }
  
  .app-tools-list {
    display: flex;
    flex-direction: column;

  }
  
  .app-tools-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  
  .app-tools-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 1px solid #eaeaea;
  }
  
  .app-header-info {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .connection-indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-left: 4px;
  }
  
  .connection-indicator.connected {
    background-color: #28a745;
  }
  
  .connection-indicator.disconnected {
    background-color: #dc3545;
  }
  
  .app-type-badge {
    font-size: 12px;
    color: #666;
    background-color: #e9e9e9;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: capitalize;
  }
  
  .tools-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 12px;
    gap: 12px;
  }
  
  .tool-card {
    display: flex;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #fff;
  }
  
  .tool-card:hover {
    border-color: #4a6cbf;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  }
  
  .tool-card.selected {
    border-color: #4a6cbf;
    background-color: #f0f7ff;
  }
  
  .tool-card-checkbox {
    padding-right: 10px;
    display: flex;
    align-items: flex-start;
  }
  
  .tool-card-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  
  .tool-name {
    font-weight: 500;
    font-size: 14px;
  }
  
  .tool-description {
    font-size: 12px;
    color: #666;
  }
.delete-modal-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 24px;
    width: 360px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  }
  
  .delete-modal-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
  }
  
/* this gets exported as style.css and can be used for the default theming */
/* these are the necessary styles for React Flow, they get used by base.css and style.css */
.react-flow {
  direction: ltr;
}
.react-flow__container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.react-flow__pane {
  z-index: 1;
  cursor: grab;
}
.react-flow__pane.selection {
    cursor: pointer;
  }
.react-flow__pane.dragging {
    cursor: grabbing;
  }
.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}
.react-flow__renderer {
  z-index: 4;
}
.react-flow__selection {
  z-index: 6;
}
.react-flow__nodesselection-rect:focus,
.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}
.react-flow .react-flow__edges {
  pointer-events: none;
  overflow: visible;
}
.react-flow__edge-path,
.react-flow__connection-path {
  stroke: #b1b1b7;
  stroke-width: 1;
  fill: none;
}
.react-flow__edge {
  pointer-events: visibleStroke;
  cursor: pointer;
}
.react-flow__edge.animated path {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__edge.animated path.react-flow__edge-interaction {
    stroke-dasharray: none;
    animation: none;
  }
.react-flow__edge.inactive {
    pointer-events: none;
  }
.react-flow__edge.selected,
  .react-flow__edge:focus,
  .react-flow__edge:focus-visible {
    outline: none;
  }
.react-flow__edge.selected .react-flow__edge-path,
  .react-flow__edge:focus .react-flow__edge-path,
  .react-flow__edge:focus-visible .react-flow__edge-path {
    stroke: #555;
  }
.react-flow__edge-textwrapper {
    pointer-events: all;
  }
.react-flow__edge-textbg {
    fill: white;
  }
.react-flow__edge .react-flow__edge-text {
    pointer-events: none;
    -webkit-user-select: none;
            user-select: none;
  }
.react-flow__connection {
  pointer-events: none;
}
.react-flow__connection .animated {
    stroke-dasharray: 5;
    animation: dashdraw 0.5s linear infinite;
  }
.react-flow__connectionline {
  z-index: 1001;
}
.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}
.react-flow__node {
  position: absolute;
  -webkit-user-select: none;
          user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: grab;
}
.react-flow__node.dragging {
    cursor: grabbing;
  }
.react-flow__nodesselection {
  z-index: 3;
  transform-origin: left top;
  pointer-events: none;
}
.react-flow__nodesselection-rect {
    position: absolute;
    pointer-events: all;
    cursor: grab;
  }
.react-flow__handle {
  position: absolute;
  pointer-events: none;
  min-width: 5px;
  min-height: 5px;
  width: 6px;
  height: 6px;
  background: #1a192b;
  border: 1px solid white;
  border-radius: 100%;
}
.react-flow__handle.connectionindicator {
    pointer-events: all;
    cursor: crosshair;
  }
.react-flow__handle-bottom {
    top: auto;
    left: 50%;
    bottom: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-top {
    left: 50%;
    top: -4px;
    transform: translate(-50%, 0);
  }
.react-flow__handle-left {
    top: 50%;
    left: -4px;
    transform: translate(0, -50%);
  }
.react-flow__handle-right {
    right: -4px;
    top: 50%;
    transform: translate(0, -50%);
  }
.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}
.react-flow__panel {
  position: absolute;
  z-index: 5;
  margin: 15px;
}
.react-flow__panel.top {
    top: 0;
  }
.react-flow__panel.bottom {
    bottom: 0;
  }
.react-flow__panel.left {
    left: 0;
  }
.react-flow__panel.right {
    right: 0;
  }
.react-flow__panel.center {
    left: 50%;
    transform: translateX(-50%);
  }
.react-flow__attribution {
  font-size: 10px;
  background: rgba(255, 255, 255, 0.5);
  padding: 2px 3px;
  margin: 0;
}
.react-flow__attribution a {
    text-decoration: none;
    color: #999;
  }
@keyframes dashdraw {
  from {
    stroke-dashoffset: 10;
  }
}
.react-flow__edgelabel-renderer {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
}
.react-flow__edge.updating .react-flow__edge-path {
      stroke: #777;
    }
.react-flow__edge-text {
    font-size: 10px;
  }
.react-flow__node.selectable:focus,
  .react-flow__node.selectable:focus-visible {
    outline: none;
  }
.react-flow__node-default,
.react-flow__node-input,
.react-flow__node-output,
.react-flow__node-group {
  padding: 10px;
  border-radius: 3px;
  width: 150px;
  font-size: 12px;
  color: #222;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-color: #1a192b;
  background-color: white;
}
.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
      box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
    }
.react-flow__node-default.selectable.selected,
    .react-flow__node-default.selectable:focus,
    .react-flow__node-default.selectable:focus-visible,
    .react-flow__node-input.selectable.selected,
    .react-flow__node-input.selectable:focus,
    .react-flow__node-input.selectable:focus-visible,
    .react-flow__node-output.selectable.selected,
    .react-flow__node-output.selectable:focus,
    .react-flow__node-output.selectable:focus-visible,
    .react-flow__node-group.selectable.selected,
    .react-flow__node-group.selectable:focus,
    .react-flow__node-group.selectable:focus-visible {
      box-shadow: 0 0 0 0.5px #1a192b;
    }
.react-flow__node-group {
  background-color: rgba(240, 240, 240, 0.25);
}
.react-flow__nodesselection-rect,
.react-flow__selection {
  background: rgba(0, 89, 220, 0.08);
  border: 1px dotted rgba(0, 89, 220, 0.8);
}
.react-flow__nodesselection-rect:focus,
  .react-flow__nodesselection-rect:focus-visible,
  .react-flow__selection:focus,
  .react-flow__selection:focus-visible {
    outline: none;
  }
.react-flow__controls {
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);
}
.react-flow__controls-button {
    border: none;
    background: #fefefe;
    border-bottom: 1px solid #eee;
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    cursor: pointer;
    -webkit-user-select: none;
            user-select: none;
    padding: 5px;
  }
.react-flow__controls-button:hover {
      background: #f4f4f4;
    }
.react-flow__controls-button svg {
      width: 100%;
      max-width: 12px;
      max-height: 12px;
    }
.react-flow__controls-button:disabled {
      pointer-events: none;
    }
.react-flow__controls-button:disabled svg {
        fill-opacity: 0.4;
      }
.react-flow__minimap {
  background-color: #fff;
}
.react-flow__minimap svg {
  display: block;
}
.react-flow__resize-control {
  position: absolute;
}
.react-flow__resize-control.left,
.react-flow__resize-control.right {
  cursor: ew-resize;
}
.react-flow__resize-control.top,
.react-flow__resize-control.bottom {
  cursor: ns-resize;
}
.react-flow__resize-control.top.left,
.react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}
.react-flow__resize-control.bottom.left,
.react-flow__resize-control.top.right {
  cursor: nesw-resize;
}
/* handle styles */
.react-flow__resize-control.handle {
  width: 4px;
  height: 4px;
  border: 1px solid #fff;
  border-radius: 1px;
  background-color: #3367d9;
  transform: translate(-50%, -50%);
}
.react-flow__resize-control.handle.left {
  left: 0;
  top: 50%;
}
.react-flow__resize-control.handle.right {
  left: 100%;
  top: 50%;
}
.react-flow__resize-control.handle.top {
  left: 50%;
  top: 0;
}
.react-flow__resize-control.handle.bottom {
  left: 50%;
  top: 100%;
}
.react-flow__resize-control.handle.top.left {
  left: 0;
}
.react-flow__resize-control.handle.bottom.left {
  left: 0;
}
.react-flow__resize-control.handle.top.right {
  left: 100%;
}
.react-flow__resize-control.handle.bottom.right {
  left: 100%;
}
/* line styles */
.react-flow__resize-control.line {
  border-color: #3367d9;
  border-width: 0;
  border-style: solid;
}
.react-flow__resize-control.line.left,
.react-flow__resize-control.line.right {
  width: 1px;
  transform: translate(-50%, 0);
  top: 0;
  height: 100%;
}
.react-flow__resize-control.line.left {
  left: 0;
  border-left-width: 1px;
}
.react-flow__resize-control.line.right {
  left: 100%;
  border-right-width: 1px;
}
.react-flow__resize-control.line.top,
.react-flow__resize-control.line.bottom {
  height: 1px;
  transform: translate(0, -50%);
  left: 0;
  width: 100%;
}
.react-flow__resize-control.line.top {
  top: 0;
  border-top-width: 1px;
}
.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}

/* Base container styles */
.workflow-container {
  display: flex;
      width: 99%;
      height: 85vh;
      overflow: hidden;
      flex-direction: column;
      padding: 16px;
      margin: 5px;
    border-radius: 5px;
  }
  .workflow-header {
    display: flex;
    align-items: center;
    width: 100%;
    margin:0px;
    justify-content: space-between;
    background-color: #ffffff;
    padding: 5px 15px;
    border-bottom: 1px solid #ddd;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
  }
  
  .workflow-title {
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: flex-end;
    gap:8px;
  }
  
  .workflow-actions {
    display: flex;
    gap: 8px;
  }
  
  .workflow-canvas {
    flex: 1 1;
    position: relative;
  }
  .workflow-canvas {
    width: 80%;
    height: 100%;
    overflow: auto;
  }
  
  .react-flow__controls {
    z-index: 5;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.1);
  }

  /* Existing CSS from previous response */
.workflow-container {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.workflow-editor {
  flex: 1 1;
  position: relative;
  overflow: auto;
}

.workflow-canvas {
  min-width: 100%;
  height: 100%;
  overflow: auto;
  position: relative;
}

.react-flow {
  overflow: visible !important;
}

.container-node {
  transform: none !important;
  max-width: 280px;
}

.component-library {
  width: 30%;
  height: 98%;
  border-radius: 10px;
  border: 1px solid #edf2f7;
  background-color: #ffffff;
  overflow-y: auto;
  padding: 1rem;
  margin: 5px 0px;
  border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.component-library-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 0.5rem;
}


.MuiFormControl-root {
  width: 100% !important;
  margin-bottom: 1rem;
}

.workflow-canvas::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.workflow-canvas::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.workflow-canvas::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

.workflow-canvas::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.workflow-actions {
  display: flex;
  gap: 8px;
}

.react-flow__controls {
  z-index: 10;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.1);
}

/* New CSS for reset button */
.button-reset {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  background-color: #dc2626; /* Red to indicate destructive action */
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.button-reset:hover {
  background-color: #b91c1c; /* Darker red on hover */
}

.button-reset:disabled {
  background-color: #f87171;
  cursor: not-allowed;
}
  
  /* Component Library/Sidebar */
  .component-library {
    width: 30%;
    height: 98%;
    border-radius: 10px;
    border: 1px solid #edf2f7;
    background-color: #ffffff;
    overflow-y: auto;
    padding: 1rem;
    margin: 5px 0px;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  }
  
  .component-library-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 3px;
  }
  
  .component-library-description {
    font-size: 12px;
    color: #666;
    margin-bottom: 15px;
    transition: all 0.3s ease;
  }
  
  .component-category {
    margin-bottom: 8px;
  }
  
  .component-category input[type="checkbox"] {
    display: none;
  }
  
  .component-category-title {
    display: flex;
    align-items: center;
    padding: 8px;
    background-color: #f0f0f0;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
  }
  
  .component-icon {
    margin-right: 8px;
  }
  
  .component-count {
    margin-left: auto;
    font-size: 12px;
    color: #666;
  }
  
  .component-category input[type="checkbox"]:not(:checked) + label + .component-category-content {
    display: none;
  }
  
  .component-category-content {
    padding: 8px 0;
  }
  
  .component-item {
    /* padding: 5px 10px; */
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    margin-bottom: 8px;
    background-color: white;
    cursor: grab;
    transition: all 0.2s ease-in;
  }
  
  .component-item:hover {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    /* border-color: #ccc; */
    transform: scale(1.01) translateY(-2px);
    background-color: #d3ddfe;

  }

  .category-header:active,
  .component-item:active {
    cursor: grabbing;
  }
  
  .component-item-title {
    font-weight: 500;
    margin-bottom: 4px;
    font-size: 0.85rem;
  }
  
  .component-item-description {
    font-size: 12px;
    color: #666;
    opacity: 0;
    transition: all 0.3s ease;
    animation: fadeIn 0.3s ease forwards;
  }
  
  .component-item-agent {
    border-left: 4px solid #007bff;
  }
  
  .component-item-model {
    border-left: 4px solid #ff6b6b;
  }
  
  .component-item-tool {
    border-left: 4px solid #feca57;
  }
  
  /* Workflow Editor */
  .workflow-editor {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    height: 98%;
    border: 1px solid #e0e0e0;
    background-color: #ececec;
    margin-top: 5px;
    padding: 5px;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  }
  
  .workflow-header1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid #e0e0e0;
  }
  
  .workflow-title {
    font-size: 20px;
    font-weight: 600;
  }
  
  .workflow-actions {
    display: flex;
    gap: 8px;
  }
  
  .button {
    padding: 8px 16px;
    border-radius: 4px;
    border: none;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s;
  }
  
  .button-save {
    background-color: #007bff;
    color: white;
  }
  
  .button-save:hover {
    background-color: #0069d9;
  }
  
  .button-run {
    background-color: #28a745;
    color: white;
  }
  
  .button-run:hover {
    background-color: #218838;
  }

  .button-run:disabled {
    cursor: not-allowed;
    opacity: 0.5;
  }
  
  .workflow-canvas {
    flex: 1 1;
    height: 100%;
  }
  
  /* Container Node Styles */
  .container-node {
    padding: 0;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 240px;
    /* max-width: 320px; */
    background-color: white;
    border: 1px solid #e0e0e0;
    overflow: hidden;
  }
  
  .container-node-agent {
    border-top: 4px solid #007bff;
  }
  
  .container-node-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px;
    border-bottom: 1px solid #e0e0e0;
  }
  
  .container-node-title {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    width: 80%;
  }
  
  .container-node-icon {
    font-size: 15px;
  }
  
  .container-node-type-tag {
    font-size: 11px;
    display: flex;
    background-color: #e6f2ff;
    color: #007bff;
    padding: 3px 6px;
    padding-bottom: 5px;
    border-radius: 12px;
    align-items: center;
  }
  
  .container-node-actions {
    display: flex;
    /* gap: 4px; */
  }
  
  .container-node-button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
  }
  
  .container-node-button:hover {
    background-color: #f0f0f0;
  }
  
  .container-node-button-delete:hover {
    color: #dc3545;
    background-color: #fff0f0;
  }
  
  .container-node-description {
    padding: 8px 12px;
    font-size: 13px;
    color: #666;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .container-node-content {
    padding: 0px 8px;
  }
  
  .container-component-section {
    margin-bottom: 12px;
  }
  
  .container-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
  }
  
  .container-section-title {
    font-size: 12px;
    font-weight: 600;
    color: #666;
  }
  
  .container-section-indicator {
    font-size: 11px;
    background-color: #f0f0f0;
    color: #666;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .container-component-dropzone {
    border: 1px dashed #ccc;
    border-radius: 4px;
    padding: 12px;
    text-align: center;
    color: #999;
    font-size: 13px;
    background-color: #f8f9fa;
    transition: all 0.2s;
  }
  
  .container-component-dropzone:hover {
    background-color: #e9ecef;
    border-color: #aaa;
  }
  
  .container-component-item {
    display: flex;
    align-items: center;
    padding: 8px;
    border-radius: 4px;
    background-color: #f8f9fa;
    margin-bottom: 4px;
    border: 1px solid #e0e0e0;
  }
  
  .container-component-icon {
    margin-right: 8px;
    font-size: 14px;
  }
  
  .container-component-details {
    flex: 1 1;
  }
  
  .container-component-name {
    font-size: 13px;
    font-weight: 500;
  }
  
  .container-component-value {
    font-size: 0.5rem;
    color: #666;
  }
  
  .container-component-remove {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #999;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
  }
  
  .container-component-remove:hover {
    background-color: #f0f0f0;
    color: #dc3545;
  }
  
  .container-component-list {
    max-height: 150px;
    overflow-y: auto;
  }

  .component-item-know-more {
    font-size: 0.8em;
    color: #007bff;
    cursor: pointer;
    margin-top: 5px;
  }
  
  .component-item-know-more:hover {
    text-decoration: underline;
  }
  
  .component-item-description.expanded {
    margin: 5px;
    padding: 10px;
    border: 1px solid #edf2f7;
    border-radius: 5px;
    background-color: #f9f9f9;

  }
  
  .component-item-model-id {
    font-size: 11px;
    font-weight: 500;
    color: #1245A8;
    margin-top: 5px;
  }

  
  /* Search Bar */
  .search-container {
    position: relative;
    margin-bottom: 16px;
  }
  
  .search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
  }
  
  .search-input {
    width: 100%;
    height: 40px;
    padding: 0 32px 0 36px;
    border-radius: 6px;
    border: none;
    background-color: #f1f5f9;
    font-size: 14px;
    color: #1a202c;
    transition: all 0.2s ease;
  }
  
  .search-input:focus {
    outline: none;
    background-color: #edf2f7;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
  }
  
  .search-input::placeholder {
    color: #94a3b8;
  }
  
  .search-clear {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #64748b;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    transition: all 0.2s ease;
  }
  
  .search-clear:hover {
    background-color: #e2e8f0;
    color: #475569;
  }
  
  /* Tabs */
  .component-lib-tabs {
    display: flex;
    background-color: #f1f5f9;
    border-radius: 6px;
    margin-bottom: 16px;
    padding: 2px;
  }
  
  .component-lib-tab {
    flex: 1 1;
    height: 36px;
    border: none;
    background: #afcaff;
    font-size: 14px;
    font-weight: 500;
    color: #1245A8;
    cursor: pointer;
    /* border-radius: 4px; */
    transition: all 0.3s ease;
  }
  
  .component-lib-tab.active {
    background-color: #1245A8;
    color: white;
  }
  
  .component-lib-tab:not(.active):hover {
    background-color: #d3ddfe;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    transform: translateY(-1px);
  }

  .container-component-status {
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s ease;
  }
  
  .status-icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    /* padding: 3px; */
    background: none;
    border: none;
    cursor: pointer;
    color: #999;
    transition: all 0.3s ease;
    border-radius: 50%;
    svg {
      height: 70%;
      width: 70%;
    }
  }
  
  .icon-check,
  .icon-times {
    transition: all 0.3s ease;
  }

  .status-icon-container:hover {
    box-shadow: 0 3px 2px rgba(0, 0, 0, 0.05);
    transform: scale(1.09);
  }
  
  .icon-spinner {
    transition: all 0.3s ease;
    animation: spin 1s linear infinite;
  }
  
  @keyframes spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  
  .container-component-remove {
    transition: all 0.3s ease;
    cursor: pointer;
  }

  .sidebar {
    width: 260px;
    background-color: white;
    border-right: 1px solid #ddd;
    padding: 15px;
    height: 100%;
    overflow-y: auto;
  }
  
  .sidebar-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .sidebar-description {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
  }
  
  .sidebar-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .sidebar-category {
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
  }
  
  .sidebar-category input[type="checkbox"] {
    display: none;
  }
  
  .sidebar-category-title {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    font-weight: 500;
    cursor: pointer;
    background-color: #cedfff;
    position: relative;
  }
  
  .sidebar-category-title::after {
    content: "▼";
    position: absolute;
    right: 15px;
    transition: transform 0.3s;
  }
  
  .sidebar-category input[type="checkbox"]:not(:checked) + .sidebar-category-title::after {
    transform: rotate(-90deg);
  }
  
  .sidebar-icon {
    margin-right: 8px;
  }
  
  .sidebar-count {
    margin-left: 5px;
    font-size: 12px;
    color: #666;
  }
  
  .sidebar-category input[type="checkbox"]:not(:checked) + .sidebar-category-title + .sidebar-category-content {
    display: none;
  }
  
  .sidebar-category-content {
    padding: 10px;
  }
  
  .sidebar-item {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    cursor: move;
    margin-bottom: 8px;
    transition: all 0.2s;
  }
  
  .sidebar-item:hover {
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }
  
  .sidebar-item-title {
    font-weight: 500;
    margin-bottom: 3px;
  }
  
  .sidebar-item-description {
    font-size: 12px;
    color: #666;
  }
  
  .sidebar-item-agent {
    background-color: #e6f7ff;
  }
  
  .sidebar-item-model {
    background-color: #e6ffe6;
  }
  
  .sidebar-item-tool {
    background-color: #f9e6ff;
  }
  
  .sidebar-item-prompt {
    background-color: #fff9e6;
  }
  
  
  /* Categories */
  .tools-categories {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  
  .category-container {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #edf2f7;
    transition: all 0.2s ease;
  }
  
  .category-container:hover {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  }
  
  .category-header {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    cursor: grab;
    background-color: white;
    transition: all 0.2s ease-in;
  }
  
  .category-header:hover {
    background-color: #f8fafc;
  }
  
  .category-icon {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 12px;
  }
  
  .category-title {
    flex: 1 1;
    font-size: 15px;
    font-weight: 500;
    color: #1a202c;
  }
  
  .category-count {
    font-size: 12px;
    color: #64748b;
    margin-right: 8px;
  }
  
  .category-chevron {
    transition: transform 0.3s ease;
  }
  
  .category-chevron.expanded {
    transform: rotate(180deg);
  }
  
  .category-content {
    /* background-color: #f8fafc; */
    overflow-y: auto;
    animation: slideDown 0.3s ease forwards;
    max-height: 30vh;
    padding: 4px 8px;
  }
  
  @keyframes slideDown {
    from {
      max-height: 0;
      opacity: 0;
    }
    to {
      max-height: 30vh;
      opacity: 1;
    }
  }
  
  

  
  .component-item-indicator {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  
  .component-item-content {
    padding: 12px 16px;
  }
  
  .component-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
  }
  

  
  @keyframes fadeIn {
    from {
      opacity: 0;
      max-height: 0;
    }
    to {
      opacity: 1;
      max-height: 200px;
    }
  }
  
  .component-item-expand {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
  }
  
  .component-item-expand:hover {
    background-color: #f1f5f9;
  }
  
  /* .component-item-model-id {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 6px;
  } */
  
  /* Models specific styles */
  .models-category {
    margin-top: 8px;
  }
  
  .component-item-model {
    position: relative; 
    background-color: white;
    border-radius: 6px;
    margin-bottom: 8px;
    cursor: grab;
    border: 1px solid #edf2f7;
    transition: all 0.2s ease;
  }
  
  /* Scrollbar */
  .component-library::-webkit-scrollbar,
  .category-content::-webkit-scrollbar {
    width: 5px;
  }
  
  .component-library::-webkit-scrollbar-track,
  .category-content::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 10px;
  }
  
  .component-library::-webkit-scrollbar-thumb {
    background: #0d317a;
    border-radius: 10px;
  }

  .category-content::-webkit-scrollbar-thumb {
    background: #8e8e8e;
    border-radius: 10px;
  }
  
  .component-library::-webkit-scrollbar-thumb:hover {
    background: #164dbc;
  }
/* ExecutionLogs.css */
.execution-logs-container {
  display: flex;
  flex-direction: column;
  min-height: 84vh;
    padding: 16px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    /* max-width: 1200px; */
    width:100%;
    margin: 0 auto;
    box-sizing: border-box;

    /* height: auto; */
    /* max-height: max-content; */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }
  
  .logs-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
  }
  
  .logs-header h2 {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
  }
  
  .header-controls {
    display: flex;
    align-items: center;
  }

  .no-logs {
    height: 50vh;
    align-content: center;
    text-align: center;
    p {
        font-size: 18px;
        font-weight: 600;
        color: #666;
    }
  }
  
  .search-container {
    background-color: #f5f5f5;
    border-radius: 20px;
    padding: 4px 12px;
    margin-right: 8px;
    display: flex;
    align-items: center;
  }
  
  .search-container input {
    background: transparent;
    border: none;
    outline: none;
    width: 150px;
    font-size: 14px;
  }
  
  .menu-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .logs-table {
    border-radius: 8px;
    overflow: hidden;
  }
  
  .header-row {
    background-color: #f5f0ff;
    color: #9333ea;
    padding: 12px;
    section {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        width: 96%;
        font-size: 14px;
        font-weight: 500;
    }
  }
  
  .log-rows {
    border-top: 1px solid #eaeaea;
  }
  
  /* MUI Accordion Customization */
  .log-accordion {
    border-bottom: 1px solid #eaeaea !important;
    box-shadow: 0 1px 0 0 #989898 !important;
    margin: 0 !important;
  }
  
  .log-accordion:before {
    display: none !important;
  }
  
  .accordion-summary {
    padding: 0 !important;
    padding-right: 1rem  !important;
    min-height: 0 !important;
    min-height: initial !important;
    box-shadow: 0 1px 0 0 #989898 !important;
  }
  
  .accordion-summary > div {
    margin: 0 !important;
  }
  
  .main-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    width: 100%;
    font-size: 14px;
    padding: 12px;
  }
  
  .column {
    font-size: 14px;
  }
  
  .status-column {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .status-text {
    font-weight: 500;
  }
  
  /* Action Icons Styling */
  .action-icons {
    display: flex;
    align-items: center;
  }
  
  .icon-buttons {
    display: flex;
    margin-right: 8px;
  }
  
  .icon-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin: 0 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1245A8;
    transition: all 0.2s ease;
    position: relative;
  }
  
  /* Special styling for the icons as shown in your image */
  .chart-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
  }
  
  .bell-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    margin-left: 4px;
  }
  
  .icon-button:hover {
    border-color: #ccc;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transform: scale(1.05) translateY(-3px);
  }


  
  .accordion-details {
    background-color: #f5f5f5 !important;
    padding: 16px !important;
  }
  
  .details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 16px;
    gap: 16px;
    font-size: 14px;
  }
  
  .detail-item.full-width {
    grid-column: span 2;
  }
  
  .detail-label {
    color: #666;
    margin-bottom: 4px;
  }
  
  .detail-value {
    font-weight: 500;
  }
  
  /* Customize MUI expand icon position */
  .MuiAccordionSummary-expandIconWrapper {
    position: relative;
    right: -5px;
  }


  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease-in-out;
  }
  
  .modal-container {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
    animation: slideIn 0.3s ease-in-out;
  }
  
  .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
  }
  
  .modal-header h2 {
    margin: 0;
    font-size: 18px;
    color: #333;
    font-weight: 500;
  }
  
  .close-button {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
    transition: color 0.2s;
    outline: none;
  }
  
  .close-button:hover {
    color: #000;
  }
  
  .modal-content {
    padding: 20px;
    width: 100% !important;
  }
  
  .charts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    gap: 20px;
  }
  
  .chart-container {
    background-color: #ffffff;
    border-radius: 6px;
    padding: 15px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid #f5f5f5;
  }
  
  .chart-container:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
  
  .chart-container h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 16px;
    color: #444;
    font-weight: 500;
  }
  
  .custom-tooltip {
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #ccc;
    padding: 8px 12px;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  }
  
  .custom-tooltip .label {
    margin: 0;
    color: #333;
    font-weight: 500;
  }
  
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  
  @keyframes slideIn {
    from {
      transform: translateY(-20px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  
  /* Responsive adjustments */
  @media (max-width: 768px) {
    .charts-grid {
      grid-template-columns: 1fr;
    }
  }


  
  .anamoly-modal-header {
    padding: 5px 20px;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
  }
  
  .anamoly-modal-header h2 {
    margin: 0;
    font-size: 22px;
    color: #333;
  }
  
  .anamoly-modal-subtitle {
    margin: 5px 0 0;
    color: #666;
    font-size: 14px;
  }
  
  
  .anamoly-modal-content {
    padding: 10px 20px;
    max-height: 75vh;
    overflow-y: auto;
    transition: transform 0.3s ease;
  }

  .anamoly-modal-content.show {
    transform: translateY(0);
  }
  
  .anamoly-modal-content.hide {
    transform: translateY(20px);
  }
  
  .anamoly-info-row {
    display: flex;
    margin-bottom: 8px;
    align-items: center;
  }
  
  .anamoly-info-label {
    width: 120px;
    font-weight: bold;
    color: #555;
  }
  
  .anamoly-info-value {
    flex: 1 1;
  }
  
  .anamoly-warning-badge {
    background-color: #ffeb3b;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
  }
  
  .anamoly-section-title {
    margin: 5px 0 10px;
    font-size: 18px;
    border-bottom: 1px solid #eee;
    padding-bottom: 8px;
  }
  
  .execution-trace {
    display: flex;
    overflow-x: auto;
    padding: 0;
    margin-bottom: 15px;
  }
  
  .trace-step {
    display: flex;
    align-items: center;
  }
  
  .trace-step-box {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 12px;
    min-width: 140px;
    background-color: #f9f9f9;
  }
  
  .trace-step-box.anomalous {
    border-color: #ff9800;
    background-color: #fff3e0;
  }
  
  .trace-step-title {
    font-weight: 600;
    text-align: center;
    margin-bottom: 8px;
    font-size: 14px;
  }
  
  .trace-step-info {
    font-size: 12px;
    color: #666;
    text-align: center;
  }
  
  .trace-arrow {
    margin: 0 10px;
    color: #aaa;
    font-size: 18px;
  }
  
  .anamoly-related-logs {
    margin: 0;
    padding: 0 0 0 20px;
    list-style-type: disc;
  }
  
  .anamoly-related-logs li {
    margin-bottom: 8px;
    font-family: monospace;
    font-size: 13px;
    line-height: 1.4;
  }
  
  @media (max-width: 600px) {
    .execution-trace {
      flex-direction: column;
    }
    
    .trace-step {
      margin-bottom: 10px;
    }
    
    .trace-arrow {
      transform: rotate(90deg);
      margin: 10px 0;
    }
    
    .trace-step-box {
      width: 100%;
    }
  }


  .business-impact-container {
    font-family: Arial, sans-serif;
    padding: 20px;
    max-width: 900px;
    margin: 0 auto;
  }
  
  .header-with-search {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }
  
  .title {
    margin: 0;
    color: #333;
    font-weight: 600;
    font-size: 20px;
  }
  
  .search-filter-container {
    display: flex;
    gap: 10px;
  }
  
  .search-box, .filter-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f7f7f7;
    border-radius: 5px;
    padding: 8px;
    color: #666;
    cursor: pointer;
  }
  
  .table-wrapper {
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }
  
  .impact-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 12px;
  }
  
  .impact-table thead {
    background-color: #f8f0ff;
  }
  
  .impact-table th {
    padding: 15px;
    text-align: left;
    color: #7e57c2;
    font-weight: 600;
    font-size: 14px;
  }
  
  .impact-table td {
    padding: 15px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
    color: #333;
  }
  
  .impact-table tr:last-child td {
    border-bottom: none;
  }
  
  .icon-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #fff;
  }
  
  .icon-button:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }

  
/* .tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-10%);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
  background: #1245A8;
  color: #fff;
  border-radius: 0.3em;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  width: max-content;
  padding: 0.5em 1em; 
  white-space: nowrap; 
} */

.tooltip {
  visibility: hidden;
  width: max-content;
  background-color: #1245A8;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%) translateY(-10%);
  margin-left: 0px;
  opacity: 0;
  transition: opacity 0.3s;
  padding: 0.5em 1em; 
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

.icon-button:hover .tooltip {
  top: -100%; 
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
  
  .financial-button {
    border: 1px solid #e1e1e1;
    color: #666;
  }
  
  .financial-button:hover {
    background-color: #f9f9f9;
    color: #333;
  }
  
  .efficiency-button {
    border: 1px solid #e1e1e1;
    color: #666;
  }
  
  .efficiency-button:hover {
    background-color: #f9f9f9;
    color: #333;
  }
  
  .adoption-button {
    border: 1px solid #e1e1e1;
    color: #666;
  }
  
  .adoption-button:hover {
    background-color: #f9f9f9;
    color: #333;
  }
  
  .download-button {
    border: 1px solid #e6d7f5;
    color: #a7bcff;
    background-color: #f8f0ff;
  }
  
  .download-button:hover {
    background-color: #d3ddfe;
    color: #1245A8;
  }
  
  /* Adding animation for button clicks */
  .icon-button:active {
    transform: scale(0.95);
  }
  
  /* Responsive design */
  @media (max-width: 768px) {
    .impact-table {
      display: block;
      overflow-x: auto;
    }
    
    .header-with-search {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
    }
    
    .search-filter-container {
      width: 100%;
      justify-content: flex-end;
    }
  }


  /* Add this to your existing BusinessImpactTable.css or create a new file */


/* Dialog styles with improved animations */
.dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.dialog-content {
  background-color: white;
  border-radius: 12px;
  width: 90%;
  max-width: 900px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  animation: dialogEnter 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes dialogEnter {
  from { 
    transform: translateY(30px) scale(0.95); 
    opacity: 0; 
  }
  to { 
    transform: translateY(0) scale(1); 
    opacity: 1; 
  }
}

.dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
}

.dialog-title {
  font-size: 18px;
  font-weight: 600;
  padding: 0px;
}

.metrics-label {
  color: #333;
  font-weight: 600;
}

.agent-name {
  color: #8e24aa;
  font-weight: 600;
}

.close-button {
  background: transparent;
  border: none;
  cursor: pointer;
  color: #666;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.close-button:hover {
  background-color: #f0f0f0;
  color: #333;
  transform: rotate(90deg);
}

/* Charts grid layout with refined styling */
.charts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 20px;
  gap: 20px;
  padding: 20px;
}

.chart-card {
  background-color: white;
  border-radius: 10px;
  border: 1px solid #eee;
  padding: 16px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: cardFadeIn 0.6s ease forwards;
  opacity: 0;
}

.chart-card:nth-child(1) { animation-delay: 0.1s; }
.chart-card:nth-child(2) { animation-delay: 0.2s; }
.chart-card:nth-child(3) { animation-delay: 0.3s; }
.chart-card:nth-child(4) { animation-delay: 0.4s; }

@keyframes cardFadeIn {
  from { 
    opacity: 0;
    transform: translateY(20px);
  }
  to { 
    opacity: 1;
    transform: translateY(0);
  }
}

.chart-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

.chart-title {
  font-weight: 500;
  margin-bottom: 15px;
  color: #333;
  font-size: 14px;
}

.chart-container {
  height: 220px;
  width: 100%;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .charts-grid {
    grid-template-columns: 1fr;
  }
  
  .header-with-search {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  
  .search-filter-container {
    width: 100%;
    justify-content: flex-end;
  }
  
  .impact-table {
    display: block;
    overflow-x: auto;
  }
}

.dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  border-bottom: 1px solid #eee;
}

.dialog-header h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  padding: 0px;
}

.researcher-text {
  color: #9C27B0;
  font-weight: normal;
}

.close-btn {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #666;
  padding: 0;
  margin: 0;
  line-height: 1;
}

.charts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 20px;
  gap: 20px;
  padding: 20px;
}

.chart-card {
  background-color: white;
  border-radius: 8px;
  padding: 15px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s, box-shadow 0.3s;
  border: 1px solid #eee;
}

.chart-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.chart-card h3 {
  margin-top: 0;
  font-size: 16px;
  color: #333;
  margin-bottom: 15px;
}

.chart-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  margin-bottom: 10px;
}

.chart-description {
  font-size: 12px;
  color: #9C27B0;
  margin: 5px 0 0;
  display: flex;
  align-items: center;
}

.info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background-color: #E1BEE7;
  color: #9C27B0;
  border-radius: 50%;
  margin-right: 8px;
  font-style: italic;
}

/* Heatmap specific styles */
.heatmap-container {
  height: 200px;
  position: relative;
}

.heatmap-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr auto;
  height: 100%;
  width: 100%;
}

.heatmap-content {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-gap: 3px;
  gap: 3px;
  margin-bottom: 3px;
}

.heatmap-cell {
  min-width: 25px;
  min-height: 25px;
  border-radius: 2px;
}

.heatmap-labels-y {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  align-items: center;
  padding-right: 8px;
  font-size: 12px;
}

.heatmap-labels-x {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  text-align: center;
  font-size: 12px;
  grid-column: 2;
}

.heatmap-label-y {
  text-align: right;
}

.heatmap-label-x {
  transform: rotate(-45deg);
  transform-origin: top left;
  margin-top: 5px;
  white-space: nowrap;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideIn {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@media (max-width: 768px) {
  .charts-grid {
    grid-template-columns: 1fr;
  }
  
  .dialog-content {
    width: 95%;
    max-height: 95vh;
  }
}

.charts-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 20px;
  gap: 20px;
  padding: 20px;
}

.chart-card {
  background-color: white;
  border-radius: 8px;
  padding: 15px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s, box-shadow 0.3s;
  border: 1px solid #eee;
}

.chart-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.chart-card h3 {
  margin-top: 0;
  font-size: 16px;
  color: #333;
  margin-bottom: 15px;
}

.chart-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  margin-bottom: 10px;
}

.chart-description {
  font-size: 12px;
  color: #9C27B0;
  margin: 5px 0 0;
  display: flex;
  align-items: center;
}

.info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  background-color: #E1BEE7;
  color: #9C27B0;
  border-radius: 50%;
  margin-right: 8px;
  font-style: italic;
}

/* Utilization chart */
.utilization-chart {
  display: flex;
  align-items: center;
  width: 100%;
}

.y-axis-labels {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 200px;
  padding-right: 10px;
  font-size: 12px;
  color: #666;
}

/* Feedback donut chart */
.feedback-chart {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
}

.donut-chart {
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #f0f0f0;
}

.donut-segment {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  top: 0;
  left: 0;
}

.donut-segment.positive {
  background-color: #9C27B0;
  animation: growPositive 1s ease-out forwards;
}

.donut-segment.neutral {
  background-color: #E1BEE7;
  animation: growNeutral 1s ease-out forwards;
}

.donut-segment.negative {
  background-color: #3F51B5;
  animation: growNegative 1s ease-out forwards;
}

.donut-hole {
  position: absolute;
  width: 50%;
  height: 50%;
  background-color: white;
  border-radius: 50%;
  top: 25%;
  left: 25%;
}

.feedback-legend {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.legend-item {
  display: flex;
  align-items: center;
  font-size: 14px;
}

.color-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-right: 8px;
}

.color-dot.positive {
  background-color: #9C27B0;
}

.color-dot.neutral {
  background-color: #E1BEE7;
}

.color-dot.negative {
  background-color: #3F51B5;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideIn {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes growPositive {
  from { transform: scale(0); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes growNeutral {
  from { transform: scale(0) rotate(125deg); opacity: 0; }
  to { transform: scale(1) rotate(125deg); opacity: 1; }
}

@keyframes growNegative {
  from { transform: scale(0) rotate(210deg); opacity: 0; }
  to { transform: scale(1) rotate(210deg); opacity: 1; }
}

@media (max-width: 768px) {
  .charts-grid {
    grid-template-columns: 1fr;
  }
  
  .dialog-content {
    width: 95%;
    max-height: 95vh;
  }
}

/* Base Styles */
.azure-visualizer-container {
  padding: 24px;
  background-color: #f3f4f6;
  min-height: 100vh;
}

.azure-visualizer-wrapper {
  max-width: 100%;
  margin: 0 auto;
}

.azure-visualizer-heading {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 32px;
}

/* Form Styles */
.azure-form-container {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 24px;
  margin-bottom: 32px;
}

.azure-form-input-group {
  margin-bottom: 16px;
}

.azure-form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  margin-bottom: 4px;
}

.azure-form-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.azure-form-input:focus {
  border-color: #4f46e5;
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2);
}

.azure-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 16px;
  gap: 16px;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .azure-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.azure-submit-button {
  width: 100%;
  background-color: #2563eb;
  color: white;
  padding: 8px 16px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}

.azure-submit-button:hover {
  background-color: #1d4ed8;
}

.azure-submit-button:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.5);
}

.azure-submit-button:disabled {
  background-color: #93c5fd;
  cursor: not-allowed;
}

.azure-error-message {
  margin-top: 16px;
  padding: 12px;
  background-color: #fee2e2;
  color: #b91c1c;
  border-radius: 4px;
}

/* Results Styles */
.azure-results-container {
  /* background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);*/
  padding: 0px; 
  padding-left: 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  color: #374151;
  background-color: white;
  border-radius: 8px;
  /* box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); */
  overflow: hidden;
  width: 100%;
  /* max-width: 1200px; */
  /* margin: 20px auto; */
}

.azure-results-header {
  display: flex;
  margin-bottom: 14px;
  margin-left: -24px;
}

.azure-results-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f2937;
}

.azure-trace-details {
  display: flex;
  align-items: center;
  /* margin-top: 8px; */
  font-size: 0.875rem;
  color: #6b7280;
  flex-wrap: wrap;
  gap: 16px;
}


.trace-detail-item {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
}

.trace-label {
  font-weight: 500;
  color: #616772;
  margin-right: 8px;
}

.trace-value {
  color: #374151;
}

.trace-value.code {
  font-family: monospace;
  background-color: #d3ddfe;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
}

.azure-trace-label {
  font-weight: 500;
}

.azure-trace-id {
  margin-left: 8px;
  font-family: monospace;
  font-size: 0.75rem;
  background-color: #f3f4f6;
  padding: 2px 8px;
  border-radius: 4px;
}

.azure-trace-separator {
  margin: 0 12px;
}

.azure-trace-date {
  margin-left: 8px;
}

/* Metrics Grid */
.azure-metrics-grid {
  /* display: grid; */
  /* grid-template-columns: repeat(1, 1fr); */
  gap: 9px;
  /* margin-bottom: 24px; */
  display: flex;
      flex-direction: column;
      width: 20%;
      height: 50vh;
}

.azure-metric-card {
  background-color: white;
  padding: 4vh 10px;
  height: 16vh;
  border: 1px solid #dbdbdb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
  &:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
}

.metric-icon {
  width: 25%;
  height: 7vh;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  margin-right: 12px;
}

.metric-icon svg {
  width: 60%;
  height: 4vh;
}

.latency-icon {
  background-color: #ddd6fe;
  color: #7c3aed;
}

.cost-icon {
  background-color: #bfdbfe;
  color: #2563eb;
}

/* .success-icon {
  background-color: #d1fae5;
  color: #10b981;
} */

.tokens-icon {
  background-color: #fde68a;
  color: #d97706;
}

.metric-content {
  flex-grow: 1;
}


.azure-metric-label {
  font-size: 0.7rem;
  font-weight: 500;
  color: #6b7280;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.azure-metric-value {
  font-size: 1rem;
  font-weight: 700;
  color: #1f2937;
}

/* Chart Styles */
.azure-chart-container {
  border: 1px solid #dbdbdb;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 10px 20px;
  /* margin-top: 24px; */
  height: 50vh;
  width: 80%;
}

.azure-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  flex-wrap: wrap;
  gap: 16px;
}

.azure-chart-title {
  font-size: 1rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
}

.azure-metric-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.azure-metric-button {
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 500;
  background-color: #7da5f6;
  color: white;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s, transform 0.1s;
}

.azure-metric-button:hover {
  background-color: brighten(#d3ddfe, 5%);
  transform: translateY(-1px) ;
}

.azure-metric-button-active {
  background-color: #1245A8;
  color: white;
}

.azure-chart {
  height: 90%;
  /* margin-top: 10px; */
  transition: opacity 0.3s ease-in-out;
  animation: fadeIn 0.9s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Trace Viewer */
.azure-trace-viewer-wrapper {
  margin-top: 14px;
}


/* TraceViewer Main Component */
.langfuse-trace-viewer {
  display: flex;
  width: 100%;
  gap:8px;
}

/* Tree Panel */
.langfuse-tree-panel {
  width: 33.333%;
  border: 1px solid #dbdbdb;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding:10px;
  overflow: auto;
  max-height: 100vh;
}

.langfuse-tree-header {
  position: sticky;
  top: 0;
  background-color: white;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px;
}

.langfuse-tree-title {
  font-size: 1rem;
  margin: 0;
  font-weight: 700;
}

.langfuse-error-count {
  margin-left: 8px;
  background-color: #fecaca;
  color: #b91c1c;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.875rem;
}

/* Tree Node */
.langfuse-tree-node {
  display: flex;
  align-items: center;
  border-left-width: 4px;
  cursor: pointer;
  padding: 8px;
  transition: background-color 0.2s;
}

.langfuse-tree-node:hover {
  background-color: #f9fafb;
}

.langfuse-tree-node-selected {
  background-color: #ebf5ff;
}

.langfuse-tree-node-error {
  border-left-color: #ef4444 !important;
  color: #b91c1c;
}

.langfuse-node-content {
  flex: 1 1;
}

.langfuse-node-name {
  font-weight: 500;
  font-size: 0.75rem;
  margin-right: 8px;
}

.langfuse-node-error-label {
  margin-left: 8px;
  font-size: 0.7rem;
  background-color: #fecaca;
  padding: 0 4px;
  border-radius: 4px;
}

.langfuse-node-meta {
  font-size: 0.65rem;
  color: #6b7280;
  display: flex;
  gap: 8px;
}

.langfuse-token-count {
  background-color: #dcfce7;
  color: #166534;
  padding: 0 4px;
  border-radius: 4px;
}

/* Details Panel */
.langfuse-details-panel {
  width: 66.667%;
  height: 100vh;  
}

.langfuse-trace-summary {
  background-color: #fadaff;
  border: 1px solid #dbdbdb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding:10px 20px;
  margin-bottom: 5px;
}

.langfuse-summary-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 5px;
}

.langfuse-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  gap: 10px;
}

.langfuse-summary-label {
  color: #4b5563;
}

.langfuse-trace-id {
  font-family: monospace;
  font-size: 0.875rem;
}

/* Observation Details */
.langfuse-observation-details {
  /* margin-top: 16px; */
  border: 1px solid #dbdbdb;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding:10px;
  height: 100%;
}

.langfuse-observation-title {
  font-weight: 600;
  margin: 0;
  margin-bottom: 8px;
  font-size: 1rem;
}

.langfuse-error-text {
  color: #dc2626;
}

.langfuse-observation-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 8px;
  gap: 8px;
  font-size: 0.7rem;
}

.langfuse-detail-label {
  color: #6b7280;
}

.langfuse-detail-value {
  margin-left: 8px;
}

.langfuse-io-container {
  margin-top: 10px;
}

.langfuse-io-title {
  font-weight: 500;
  color: #4b5563;
  margin-bottom: 8px;
  font-size: 0.85rem;
}

.langfuse-io-content {
  background-color: #fdefff;
  padding: 8px;
  border-radius: 4px;
  font-size: 0.7rem;
  overflow: auto;
  max-height: 30vh;
}

/* Error Details */
.langfuse-error-details {
  margin-top: 8px;
  background-color: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 4px;
  padding: 10px;
}

.langfuse-error-title {
  font-weight: 600;
  color: #b91c1c;
  margin: 0;
  margin-bottom: 8px;
}

.langfuse-error-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 0.75rem;
}

.langfuse-error-level {
  margin-left: 8px;
  font-weight: 500;
  color: #b91c1c;
}

.langfuse-error-pre {
  background-color: #fee2e2;
  padding: 8px;
  border-radius: 4px;
  /* margin-top: 4px; */
  overflow: auto;
  max-height: 30vh;
}

/* Raw Data View */
.langfuse-raw-data {
  padding: 10px;
}

.langfuse-raw-title {
  font-weight: 500;
  color: #4b5563;
  margin:0;
  font-size: 1rem;
  margin-bottom: 8px;
}

.langfuse-raw-content {
  background-color: white;
  padding: 12px;
  border-radius: 8px;
  font-size: 0.75rem;
  overflow: auto;
  max-height: 85vh;
}

/* Type-specific colors */
.langfuse-span-bg {
  background-color: #e0f2fe;
}

.langfuse-span-border {
  border-left-color: #7dd3fc;
}

.langfuse-generation-bg {
  background-color: #dcfce7;
}

.langfuse-generation-border {
  border-left-color: #86efac;
}

.langfuse-llm-bg {
  background-color: #f3e8ff;
}

.langfuse-llm-border {
  border-left-color: #d8b4fe;
}

.langfuse-tool-bg {
  background-color: #fef9c3;
}

.langfuse-tool-border {
  border-left-color: #fde047;
}

.langfuse-error-bg {
  background-color: #fee2e2;
}

.langfuse-error-border {
  border-left-color: #fca5a5;
}

.langfuse-default-bg {
  background-color: #f3f4f6;
}

.langfuse-default-border {
  border-left-color: #d1d5db;
}


/* WorkflowTracesDashboard.css */


.dashboard-content {
  width: 100%;
  margin: 0 auto;
  background-color: #f9fafb;
  min-height: 100vh;
  padding: 10px 24px;
  margin-bottom: 20px;
}

.dashboard-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

/* Loading, error and no data states */
.loading-container,
.error-container,
.no-data-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

.loading-text,
.no-data-text {
  font-size: 18px;
  font-weight: 500;
}

.error-text {
  font-size: 18px;
  font-weight: 500;
  color: #ef4444;
}

/* Metrics grid */
.metrics-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 16px;
  gap: 16px;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .metrics-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.metric-card {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 16px;
}

.metric-header {
  display: flex;
  align-items: center;
}

.metric-icon {
  height: 24px;
  width: 24px;
  margin-right: 8px;
}

.clock-icon {
  color: #3b82f6;
}

.dollar-icon {
  color: #10b981;
}

.message-icon {
  color: #8b5cf6;
}

.metric-title {
  font-size: 18px;
  font-weight: 500;
}

.metric-value {
  font-size: 30px;
  font-weight: 600;
  margin-top: 8px;
  margin-bottom: 0;
}

.metric-subtext {
  font-size: 14px;
  color: #6b7280;
  margin-top: 4px;
  margin-bottom: 0;
}

/* Charts */
.aggregate-chart-container {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 16px;
  margin-bottom: 24px;
}

.aggregate-chart-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
}

.aggregate-chart-content {
  height: 256px;
}

/* Tables */
.table-container {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 16px;
  margin-bottom: 24px;
}

.table-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 16px;
}

.table-scroll {
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
}

.table-header {
  background-color: #f3f4f6;
}

.table-cell {
  padding: 8px 16px;
}

.left-align {
  text-align: left;
}

.right-align {
  text-align: right;
}

.table-row {
  border-top: 1px solid #e5e7eb;
}

.model-name {
  font-weight: 500;
}

.trace-id {
  font-family: monospace;
  font-size: 14px;
}

.no-data-message {
  text-align: center;
  color: #6b7280;
}
.accounts-rbac-container {
  padding: 20px;
}

.accounts-rbac-container h2 {
  margin-bottom: 20px;
}

.accounts-rbac-container button {
  margin-bottom: 10px;
  padding: 8px 16px;
  cursor: pointer;
}

.accounts-rbac-container table {
  width: 100%;
  border-collapse: collapse;
}

.accounts-rbac-container th,
.accounts-rbac-container td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

.accounts-rbac-container th {
  background-color: #f2f2f2;
}

.ugm-container {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
  color: #333;
}

.ugm-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.ugm-title {
  font-size: 22px;
  font-weight: 600;
  margin: 0;
  color: #111;
}

.ugm-subtitle {
  font-size: 13px;
  color: #666;
  margin: 4px 0 0 0;
}

.ugm-add-button {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #3366ff;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.ugm-add-button:hover {
  background-color: #2952cc;
}

.ugm-divider {
  border: 0;
  height: 1px;
  background-color: #e0e0e0;
  margin: 20px 0;
}

.ugm-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.ugm-search-container {
  position: relative;
  width: 100%;
  max-width: 600px;
}

.ugm-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #666;
}

.ugm-search-input {
  width: 100%;
  padding: 10px 10px 10px 40px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  outline: none;
  transition: border-color 0.2s;
}

.ugm-search-input:focus {
  border-color: #3366ff;
}

.ugm-view-toggle {
  display: flex;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
}

.ugm-view-button {
  background: white;
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: #666;
}

.ugm-view-button.ugm-active {
  background-color: #f2f2f2;
  color: #333;
}

.ugm-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: 24px;
  gap: 24px;
}

.ugm-card {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  background-color: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.ugm-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}

.ugm-card-title-section {
  width: 90%;
  height: 12vh;
}

.ugm-card-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: #111;
}

.ugm-card-description {
  font-size: 14px;
  color: #666;
  margin: 4px 0 0 0;
}

.ugm-more-button {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  position: relative;
}

.ugm-more-button:hover {
  background-color: #f2f2f2;
}

.ugm-role-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.ugm-role-badge {
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 500;
}

.ugm-role-admin {
  background-color: #abcfff;
  color: #1245A8;
}

.ugm-role-developer {
  background-color: #f5f5f5;
  color: #424242;
}

.ugm-role-editor {
  background-color: #e8f0fe;
  color: #1a73e8;
}

.ugm-role-contributor {
  background-color: #fff8e1;
  color: #f9a825;
}

.ugm-role-viewer {
  background-color: #e8f5e9;
  color: #2e7d32;
}

.ugm-account {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
}

.ugm-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ugm-user-count {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #666;
  font-size: 14px;
}

.ugm-action-buttons {
  display: flex;
  gap: 8px;
}

.ugm-manage-button,
.ugm-edit-button {
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
}

.ugm-manage-button {
  background-color: white;
  border: 1px solid #ddd;
  color: #333;
}

.ugm-manage-button:hover {
  background-color: #f5f5f5;
}

.ugm-edit-button {
  background-color: #3366ff;
  color: white;
}

.ugm-edit-button:hover {
  background-color: #2952cc;
}

/* Modal styles */
.ugm-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.ugm-modal {
  background-color: white;
  border-radius: 8px;
  width: 95%;
  max-width: 550px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
}

.ugm-modal-header {
  padding: 16px;
  position: relative;
}

.ugm-modal-header h2 {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  color: #111;
}

.ugm-modal-subtitle {
  font-size: 14px;
  color: #666;
  margin: 4px 0 0;
}

.ugm-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}

.ugm-modal-close:hover {
  background-color: #f2f2f2;
  color: #333;
}

.ugm-modal-form {
  padding: 0 24px 20px;
}

.ugm-form-group {
  margin-bottom: 10px;
}

.field-hint {
  display: block;
  margin-top: 5px;
  margin-left: 10px;
  font-size: 10px;
  color: #718096;
  font-style: italic;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.chip-input-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 2px 6px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  min-height: 40px;
}

.chip {
  display: flex;
  align-items: center;
  background-color: #e2e8f0;
  border-radius: 20px;
  padding: 4px 8px;
  font-size: 12px;
}

.remove-chip {
  background: none;
  border: none;
  margin-left: 6px;
  font-size: 14px;
  cursor: pointer;
  color: #555;
}

.chip-input {
  border: none;
  flex: 1 1;
  min-width: 120px;
  font-size: 12px;
  padding: 6px;
  width: 100%;
  border-radius: 6px;
  transition: all 0.2s ease-in-out;
}

.chip-input:focus {
  border:1px thin #949494;
  outline: none;
}

.ugm-form-section {
  margin-bottom: 1rem;
}

.ugm-field-error {
  color: red;
  font-size: 10px;
  margin-top: 2px;
}

.ugm-label {
  display: block;
  font-weight: 500;
  margin-bottom: 4px;
  color: #333;
  font-size: 13px;
}

.ugm-input,
.ugm-textarea,
.ugm-select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 12px;
  transition: all 0.2s ease-in-out;
}

.ugm-input:focus,
.ugm-textarea:focus,
.ugm-select:focus {
  border-color: #3366ff;
  outline: none;
}
.ugm-form-group:focus-within .field-hint {
  opacity: 1;
}

.ugm-textarea {
  resize: none;
  max-height: 10vh;
  overflow-y: auto;
}

.ugm-input-help {
  font-size: 12px;
  color: #666;
  margin: 4px 0 0;
}

.ugm-select-wrapper {
  position: relative;
}

.ugm-select {
  appearance: none;
  padding-right: 30px;
}

.ugm-select-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #666;
}

.ugm-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
}

.ugm-button-cancel {
  padding: 10px 16px;
  background-color: white;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
}

.ugm-button-cancel:hover {
  background-color: #f5f5f5;
}

.ugm-button-primary {
  padding: 10px 16px;
  background-color: #3366ff;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.ugm-button-primary:hover {
  background-color: #2952cc;
}

.ugm-assign-button {
  padding: 8px 12px;
  background-color: white;
  border: 1px solid #1245a8;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
}

.ugm-assign-button:hover {
  background-color: #b5e5ff;
}

.ugm-modal-content {
  padding: 0 24px 24px;
}

.ugm-current-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.ugm-roles-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 275px;
  overflow-y: auto;
  padding: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background-color: #f9f9f9;
}

.ugm-role-option {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 3px 0;
}

.ugm-role-checkbox {
  width: 15px;
  height: 15px;
  margin-right: 10px;
  cursor: pointer;
}

.ugm-role-name {
  font-size: 13px;
  font-weight: 500;
}

.accountForm label {
  display: flex;
  justify-content: space-between;
}

.accountForm .form-group {
  margin: 0 0 20px;

}

.accountForm label span.fieldLabel {
  flex: 0 0 35%;
  max-width: 35%;
  margin-top: 10px;
}

.accountForm h3 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 20px;
}

.accountForm label .fieldArea {
  flex: 0 0 60%;
  max-width: 60%;
}

.accountForm label .fieldAreaAddUser {
  flex: 0 0 50%;
  max-width: 50%;
}

.accountForm .control {
  border-width: 1px;
  border-color: rgba(0, 0, 0, 0.23);
  border-radius: 4px;
  padding: 10px;
  width: 100%;
}

.accountForm textarea.control {
  min-height: 150px;
  resize: none;
}

.accountForm .control:focus {
  outline: 0 none;
}

.accountForm .control.require,
.accountForm .control.require fieldset {
  border-color: red;
}

.accountForm {
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.13);
  /* border-radius: 4px; */
  /* background-color: #f8fafc; */
  font-family: 'Poppins';
}

.actionsFormBtns {
  text-align: center;
  margin-top: 20px;
}

.actionsFormBtns button {
  margin: 0 10px;
  min-width: 100px;
}

.actionsFormBtns button[disabled] {
  opacity: 0.5;
}


.accountListHolder span span {
  flex: 0 0 auto;
  max-width: none;
}

.user-group {
  border-width: 1px;
  border-color: rgba(0, 0, 0, 0.23);
  border-radius: 4px;
}

.user-group:focus-visible {
  outline: 0;
}

.accountListHolder span.MuiChip-label {
  flex: none;
  max-width: none;
  margin-top: 0;
}

.chipContains .MuiChip-root {
  margin: 0 10px 10px 0;
}

.autoCompleteDiv fieldset {
  background-color: #fff;
}

.subAccountFetch .Mui-focused legend,
.subAccountFetch .MuiFormLabel-filled+.MuiInputBase-root legend {
  min-width: 92px;
}

.userGroupHolder label span {
  font-size: 14px;
}

.userGroupHolder label {
  margin-right: 0;
}

.inUserRole {
  padding: 24px 24px 24px 0 !important;
}

@media (max-width:479px) {
  .formReponsiveMobile {
    position: relative;
    z-index: 9;
  }

  .userGroupHolder {
    display: block !important;
  }

  .fieldHolder {
    display: block !important;
  }

  .labelInMobile {
    margin-bottom: 0 !important;
  }

  .accountForm.formReponsiveMobile .form-group {
    display: block !important;
  }

  .accountForm.formReponsiveMobile .form-group label {
    display: block !important;
  }

  .accountForm.formReponsiveMobile .form-group .fieldArea {
    max-width: 100%;
  }

  .inUserRole {
    padding: 24px 0 !important
  }
}

.accountTable .actionBtn {
  min-width: 1px;
  padding: 0;
}

.accountTable textarea {
  width: 100%;
  resize: none;
  border: 1px solid rgba(0, 0, 0, 0.23);
  border-radius: 4px;
  padding: 12px;
  max-height: 45px;
}

.accountTable select {
  cursor: pointer;
  pointer-events: all;
}

.accountTable input,
.accountTable select {
  padding: 12px;
  border: 1px solid rgba(0, 0, 0, 0.23);
  border-radius: 4px;
  width: 100%;

}

.accountTable select[disabled] {
  -webkit-appearance: none;
  -moz-appearance: none;
  pointer-events: none;
  font-weight: 500;
  color: #000;
}

.accountTable input:focus,
.accountTable select:focus {
  outline: 0;
}

.accountTable input[disabled],
.accountTable textarea[disabled],
.accountTable select[disabled] {
  border: 0 !important;
  background-color: transparent;
  text-overflow: ellipsis;
  font-weight: 500;
}

.accountTable .MuiDataGrid-cell {
  align-items: flex-start !important;
}

.accountTable .MuiDataGrid-row {
  max-height: none !important;
}

.accountTable .MuiDataGrid-cell {
  max-height: none !important;
}

.accountTable .MuiDataGrid-virtualScrollerRenderZone {
  position: static !important;
}

.accountTable .MuiDataGrid-virtualScrollerContent {
  height: auto !important;
  max-height: 400px;
}

.accountTable .MuiDataGrid-row {
  padding: 10px 0;
}

.accountTabs .tab-panels {
  position: relative;
  padding: 24px 5px 24px 0;
}

.accountTable .MuiTablePagination-selectLabel {
  display: none;
}

.accountTable .MuiTablePagination-displayedRows {
  margin: 0;
}

.accountTable table td {
  vertical-align: middle;
  padding: 10px 5px;
}

.accountTable.userGroupTable table td {
  vertical-align: top;
  padding: 10px 16px;
}

.form-group .add-user-btn button.MuiButtonBase-root {
  padding: 2px 6px;
}

.accountListHolder {
  flex-flow: row wrap !important;
  justify-content: space-between;
}

.accountListHolder .fieldArea {
  flex: 0 0 60%;
  max-width: 60%;
  position: relative;
}

.accountListHolder span {
  margin-top: 10px;
  flex: 0 0 35%;
  max-width: 35%;
}

.accountListHolder .MuiInputBase-root {
  width: 100%;
}

.accountListHolder .subAccountFetch .MuiInputBase-root.control {
  padding: 0;
  border: 0 none;
}

.accountForm .accountListHolder .control {
  padding: 0;
}

.tableInside {
  padding: 0 !important
}

.accountTable table td>ul {
  list-style: none;
  padding: 0;
}

.listStyle {
  padding-left: 0px !important;
  padding-left: 10px !important;
}

.listStyle li {
  position: relative;
  padding-left: 10px;

}

.listStyle li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 10px;
  background-color: #000;
}

.MuiModal-root .modalClose {
  position: absolute;
  right: 0;
  min-width: 1px;
  top: 0;
}

.usersListContainer {
  display: flex;

}

.usersListContainer>button {
  min-width: 1px;
  margin-left: 10px;
  min-width: 45px;
}

.tabsWithBack {
  display: flex;
  justify-content: space-between;
}

/* .accountTabs .tab-panels{
  max-height: calc(100vh - 228px);
} */

.SubAcModal {
  padding: 0px 20px 20px 20px;
}

.SubAcModal h3 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 22px;
}

.toggleBtn {
  padding: 0 !important;
  min-width: 1px !important;
  background-color: transparent;
  border: 0;
}

.toggleBtn.no-active {
  opacity: 0.2;
  cursor: default;

}

.expanded td {
  border-bottom: 0 !important;
}

.expandedDescription {
  display: flex;
}

.expandedDescription__left {
  flex: 0 0 50%;
  max-width: 50%;
  padding-right: 10px
}

.expandedDescription__right {
  flex: 0 0 50%;
  padding-left: 10px;
  max-width: 50%;
}

table table th,
table table td {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.insideTable>td {
  padding: 0 5px !important;
}

table table tr.MuiTableRow-head {
  background-color: rgba(186, 17, 24, 0.1);
}

.userLi .MuiChip-label+svg {
  display: none;
}

.userListInModal {
  padding: 10px 0 0;
}

.userListInModal li {
  display: flex;
  border: 1px solid #ced4da;
  justify-content: space-between;
  border-bottom: 0;
  padding: 5px;
}

.userListInModal li button {
  border-radius: 0;
}

.userListInModal li button {
  padding: 10px;
  flex: 0 0 80%;

}

.userListInModal li input {
  flex: 0 0 85%;
  max-width: 85%;
  font-size: 14px;
}

.userListInModal li button:last-child {
  border-left: 1px solid #ced4da;
}

.userListInModal li:last-child {
  border-bottom: 1px solid #ced4da;
}

.userGroupTable .card_btn--red,
.userGroupTable .card_btn--black {
  font-size: 14px;
  padding: 2px 5px;
  text-transform: none;
}

.accountTable.userGroupTable table table {
  margin-bottom: 10px;
}

.accountTable.userGroupTable table table th {
  font-size: 12px;
}

.accountTable.userGroupTable table table td {
  background-color: rgba(211, 211, 211, 0.3);
  font-size: 12px;
}


.roleListUi li {
  list-style: none;
}

.userListInModal input[disabled] {
  border: 0 none;
  background-color: transparent;
}

.userGpDesc {
  max-height: 40px;
  overflow: hidden;
}

.rolesNameHolder label span {
  font-size: 14px
}

.rolesNameHolder label span.MuiCheckbox-colorPrimary {
  padding: 5px 9px
}

.approval-table-user-container {
  display: flex;
  align-items: center;
}

.approval-table-user-avatar {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background-color: #1245A8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 500;
}

.approval-table-user-info {
  margin-left: 16px;
}

.approval-table-user-name {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}

.approval-table-user-email {
  font-size: 14px;
  color: #6b7280;
}

@media (max-width:1075px) {

  /* .accountTable.userGroupTable table tbody td:last-child{
      flex-flow: column wrap;
      align-items: flex-end;
      display: flex;
  } */
  .accountTable.userGroupTable table tbody td:last-child button {
    font-size: 12px;
  }
}
.content-area {
  padding: 24px;
  min-width: 300px;
  max-width: 100%;
  background: #fff;
  border-radius: 12px;
}

.content-title {
  font-family: 'Rubik', sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.2px;
  color: #2e253b;
  margin-bottom: 24px;
}

.search-input {
  width: 100%;
  margin-bottom: 50px;
}

.search-icon {
  margin-right: 8px;
}

.keys-grid {
  display: grid;
  /* grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); */
  grid-gap: 16px;
  gap: 16px;
  margin-bottom: 16px;
  /* flex-grow: 1; */
}

.key-card {
  /* display: flex; */
  /* align-items: center; */
  /* justify-content: space-between; */
  width: 100%;
  /* padding: 10px; */
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1)
}

.key-cardHeader {
 display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.key-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.key-icon {
  width: 2rem;
  height: 2rem;
  /* border-radius: 50%; */
  margin-right: 12px;
}

.connector-column-icon {
  display: flex;
  align-items: center;
  width: 75%;
}

.key-name {
  flex: 1 1;
  font-size: 15px;
  font-weight: 500;
  line-height: 20px;
  color: #2e253b;
}

.key-expand-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: 6px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: #64748b;
}

.key-expand-button:hover {
  background-color: #e2e8f0;
  color: #334155;
}

.key-tools-section {

  background-color: #f8fafc;
  border-top: 1px solid #e2e8f0;
  overflow-y: auto;
  transition: max-height 0.3s ease, opacity 0.3s ease;

}

.key-tools-container {
  padding: 8px 20px;
}

.key-tools-title {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 12px 0;
}

.key-tools-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.key-tool-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background-color: white;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  transition: all 0.2s ease;
  cursor: pointer;
}

.key-tool-item:hover {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
}

.key-tool-icon {
  font-size: 14px;
}

.key-tool-name {
  font-size: 13px;
  color: #4b5563;
  font-weight: 500;
}


.chevron {
  width: 20px;
  height: 20px;
}


.ai-models-table .MuiAccordion-root:hover {
  background-color: #fcf3ff;
  transition: all 0.3s ease;
  transform: translateY(-2px);
}

.ai-models-table .MuiAccordionSummary-content {
  margin: 0;
}

.ai-models-table .MuiAccordion-root {
  transition: all 0.3s ease;
  margin: 5px;
}


.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.acc-summary-content{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.add-model-button {
  /* background: linear-gradient(to right, #1245A8 0%); */
  /* background-size: 200% auto; */
  color: white;
  border-radius: 5px;
  padding: 5px 10px;
  cursor: pointer;
  transition: background-position 0.5s ease;
}

.add-model-button:hover {
  background-position: right center;
  color: #fff;
  text-decoration: none;
}

.acc-button-container {
  display: flex;
  /* justify-content: flex-start; */
  gap: 10px;
  /* margin-top: 10px; */

}




/* App.css */
:root {
  --primary-color: #0070f3;
  --background-color: #f4f4f4;
  --text-color: #333;
  --border-color: #e0e0e0;
  --hover-color: #005bd3;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  background-color: #f4f4f4;
  background-color: var(--background-color);
}


.model-catalog {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.catalog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.catalog-header h1 {
  margin: 0;
  color: #333;
  color: var(--text-color);
}

.add-provider-btn {
  display: flex;
  align-items: center;
  background-color: #0070f3;
  background-color: var(--primary-color);
  color: white;
  border: none;
  padding: 10px 15px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.add-provider-btn:hover {
  background-color: #005bd3;
  background-color: var(--hover-color);
}

.add-provider-btn .icon {
  margin-right: 8px;
}

.service-provider {
  background-color: white;
  border: 1px solid #e0e0e0;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 15px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.service-provider-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.service-provider-header:hover {
  background-color: rgba(0, 112, 243, 0.05);
}

.provider-info {
  display: flex;
  align-items: center;
}

.provider-info .provider-icon {
  margin-right: 15px;
  color: #0070f3;
  color: var(--primary-color);
}

.provider-info h2 {
  margin: 0 15px 0 0;
  font-size: 18px;
}

.provider-info p {
  margin: 0;
  color: #666;
  font-size: 14px;
}

.provider-actions {
  display: flex;
  align-items: center;
}

.delete-btn {
  background: none;
  border: none;
  color: #ff4d4f;
  cursor: pointer;
  margin-right: 10px;
  transition: color 0.3s ease;
}

.delete-btn:hover {
  color: #ff7875;
}

.toggle-icon {
  transition: transform 0.3s ease;
}

.toggle-icon.rotated {
  transform: rotate(180deg);
}

.service-provider.active {
  box-shadow: 0 4px 6px rgba(0, 112, 243, 0.1);
}

.service-provider-content {
  padding: 15px;
  background-color: #f9f9f9;
}

.model-providers {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}

.model-provider {
  background-color: white;
  border: 1px solid #e0e0e0;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 10px;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal {
  background-color: white;
  border-radius: 12px;
  padding: 30px;
  width: 400px;
  max-width: 90%;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.close-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
}

.form-group {
  margin-bottom: 15px;
}

.form-group label {
  display: block;
  margin-bottom: 5px;
  color: #333;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #e0e0e0;
  border: 1px solid var(--border-color);
  border-radius: 6px;
}

.submit-btn {
  width: 100%;
  padding: 12px;
  background-color: #0070f3;
  background-color: var(--primary-color);
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.submit-btn:hover {
  background-color: #005bd3;
  background-color: var(--hover-color);
}


.provider-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* padding: 10px; */
  /* background-color: #f5f5f5; */
  width: 100%;
}

.provider-name {
  font-weight: bold;
  color: #1245A8;
  margin-right: 15px;
}

.provider-section {
  margin-bottom: 10px;
}

.platform-info {
  display: flex;
  flex-direction: column;
}

.platform-name {
  font-weight: bold;
  color: #333;
  font-size: 1.1em;
}

.platform-description {
  color: #666;
  font-size: 0.9em;
  margin-top: 4px;
}

.dropdown-icon {
  transition: transform 0.3s ease;
}

.dropdown-icon.rotate {
  transform: rotate(180deg);
}

.platform-content {
  border-top: 1px solid #e0e0e0;
}

.platform-actions,
.provider-actions {
  display: flex;
  justify-content: flex-end;
  padding: 10px;
  gap: 10px;
}

.delete-color{
  /* color : #7e00a1 !important; */
  color : #1245A8 !important;
}

.edit-color{
  color : #1245A8 !important;
}


.MuiTable-root {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
}

.MuiTableCell-head {
  font-weight: 600;
  padding: 8px 12px !important;
}

.MuiTableCell-body {
  padding: 6px 12px !important;
}

.MuiTableBody-root .MuiTableRow-root:nth-of-type(odd) {
  background-color: #fafafa;
}

.MuiTableCell-body, .MuiTableCell-head {
  vertical-align: middle;
}

.acc-button-container {
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
}



.connector-error {
  background-color: #fff0f0;
  border-left: 4px solid #ff3333;
  color: #cc0000;
  padding: 12px 16px;
  margin-bottom: 20px;
  border-radius: 6px;
  font-size: 14px;
  animation: fadeIn 0.3s ease;
}

.connector-list {
  border: 1px solid #eaeaea;
  border-radius: 8px;
  overflow: hidden;
  background-color: #fff;
}


.connector-column-service {
  flex: 1 1;
  min-width: 0;
}

.connector-column-status {
  width: 15%;
  text-align: left;
}

.connector-column-actions {
  width: 10%;
  text-align: right;
}

.connector-row {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #eaeaea;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.connector-row:last-child {
  border-bottom: none;
}

.connector-row.active {
  background-color: #f9fafb;
}

.connector-row:hover {
  background-color: #f9fafb;
}

.connector-row:active {
  transform: translateY(1px);
}

.connector-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: 24px;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-right: 16px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.connector-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.connector-info h3 {
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: 500;
  color: #1a1a1a;
}

.connector-info p {
  margin: 0;
  font-size: 14px;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.connector-status {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.connector-status.connected {
  background-color: rgba(16, 185, 129, 0.1);
  color: #065f46;
}

.connector-status.disconnected {
  background-color: rgba(229, 231, 235, 0.5);
  color: #6b7280;
}

.status-indicator {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
  flex-shrink: 0;
}

.connector-status.connected .status-indicator {
  background-color: #10b981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

.connector-status.disconnected .status-indicator {
  background-color: #d1d5db;
}

.connector-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  border: none;
  outline: none;
  width: 100%;
  height: 6vh;
}

.connector-button.connect {
  background-color: white;
  border: 1px solid #1245A8;
  color: #1245A8;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.connector-button.connected {
  background-color: white;
  border: 1px solid #10b981;
  color: #10b981;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  &:hover {
    background-color: #98ddc6;
    color: #10b981;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
  &:active {
    background-color: #00ffaa;
    transform: translateY(0);
  }
}


.connector-button.connect:hover {
  background-color: #abd5ff;
  transform: translateY(-1px);
  color:#1245A8;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.connector-button.connect:active {
  background-color: #1d4ed8;
  transform: translateY(0);
}

.connector-button.disconnect ,
.connector-button.refresh {
  background-color: white;
  min-width: 0;
  min-width: initial;
  width: 45%;
  padding: 8px 10px;
  color: #1245A8;
  border: 1px solid #1245A8;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.connector-button.disconnect:hover,
.connector-button.refresh:hover {
  background-color: #abd5ff;
  color: #1245A8;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);

}

.connector-button.refresh svg {
  transform-origin: center;
  transition: transform 0.3s ease;
}

.connector-button.refresh:hover svg {
  transform: rotate(30deg);
}

.connector-button-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap:10px;
}

.connector-button.loading {
  background-color: #c4d8ff;
  color: #1245A8;
  cursor: default;
}

.connector-status-loading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #6b7280;
  font-size: 14px;
}

.connector-status-spinner,
.button-spinner,
.connector-spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(156, 163, 175, 0.3);
  border-radius: 50%;
  border-top-color: #1245A8;
  animation: spin 0.8s linear infinite;
}

.connector-spinner {
  width: 32px;
  height: 32px;
  border-width: 3px;
}

.connector-loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  color: #6b7280;
}

.connector-loading-container p {
  margin-top: 16px;
  font-size: 16px;
}

.connector-empty-state {
  padding: 48px 0;
  text-align: center;
  color: #6b7280;
  font-size: 16px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.tabs-menu {
  width: 100%;
  height: 40px;
  background: #fff;
  border-radius: 7px;
  border: 1px solid rgba(112, 122, 138, 0.17);
  padding: 4px 10px;
  box-sizing: border-box;
  /* min-width: 300px; */
  margin-bottom: 10px;
}

.tabs-container {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  /* gap: 36px; */
  height: 32px;
  align-items: center;
  border-radius: 5px;
  border: 1px solid rgba(112, 122, 138, 0.17); 
  /* box-sizing: border-box;
  /* min-width: 300px; */
}
/* 
.tab {
  padding: 5.5px 10px;
  border-radius: 5px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
} */

.modalWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.integration-modal {
  width: 578px;
  background: #fff;
  border-radius: 8px;
  outline: none;
}

.header {
  height: 58px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid rgba(102, 102, 102, 0.35);

  .backButton, .closeButton {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    min-height: 24px;

    &:hover {
      opacity: 0.8;
    }
  }

  .provider-title {
    margin: 0 0 0 19px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.2px;
    line-height: 22px;
    color: #2e253b;
    flex-grow: 1;
  }

  .closeButton {
    margin-left: auto;
  }
}

.content {
  padding: 36px 24px;
}

.formGroup {
  margin-bottom: 24px;

  &:last-child {
    margin-bottom: 0;
  }
}

.label {
  display: block;
  margin-bottom: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #666666;
}

.select {
  width: 500px !important;
  height: 56px;
  font-family: 'Noto Sans', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1d2026 !important;
  background: #fff;
  border-radius: 12px !important;

  fieldset {
    border: 1px solid rgba(102, 102, 102, 0.35) !important;
    border-radius: 12px;
  }

  .MuiSelect-select {
    padding: 17px 32px !important;
    display: flex !important;
    align-items: center !important;
  }

  &:hover fieldset {
    border-color: rgba(102, 102, 102, 0.5) !important;
  }

  &.Mui-focused fieldset {
    border-color: #7e00a1 !important;
    border-width: 1px !important;
  }
}

.imodal-chevron {
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.footer {
  padding: 24px;
  display: flex;
  justify-content: center;
  gap: 23px;
}

.cancelButton, .nextButton {
  width: 133px !important;
  height: 44px !important;
  border-radius: 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-transform: none !important;

  &:hover {
    transform: translateY(-1px);
  }
}

.cancelButton {
  background: #fff !important;
  color: #6d6d6d !important;
  border: 1px solid #6d6d6d !important;

  &:hover {
    background: #f5f5f5 !important;
  }
}

.nextButton {
  background: #7e00a1 !important;
  color: #fff !important;

  &:hover {
    background: #6b008a !important;
  }
}

.modal-container-connect {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    width: 100%;
  }
  
  .modal-content-connect {
    width: 50%;
    height: 90vh;
    background: #FFFFFF;
    border-radius: 8px;
    position: relative;
  }

  .modal-header-connect {
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .title-connect {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #0D062D;
    margin: 0;
  }
  
  .close-button-connect {
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }

  .modal-body-connect {
    padding: 5px 20px;
  }

  .form-container {
    padding: 5px;
    width: 100%;
  }

  .form-group {
    width: 100%;
    margin-bottom: 5px !important;
  }

  .form-group label {
    display: block;
    font-family: 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #424A53;
    margin-bottom: 5px;
  }
  
  .form-input {
    width: 90%;
    height: 35px;
    border: 1px solid lightgray;
    border-radius: 5px;
    padding: 0 10px;
  }

  .button-group-connect {
    display: flex;
    justify-content:center;
    gap: 20px;
    padding: 10px 0;
    margin-left: 8px;
  }

  .button-group-connect button {
    width: 95%;
    height: 45px;
    border-radius: 5px;
    font-family: 'Poppins', sans-serif;
    font-weight: 1200;
    font-size: 22px;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: transform 0.3s ease, filter 0.3s ease;
    &:hover {
      transform: scale(1.02);
      font-weight: 600;
      transition: all 0.2s ease-in-out;
    }
    :hover::after {
      filter: brightness(85%);
    }
  }

  .btn-close-connect {
    background: transparent;
    border: 0.1rem solid #1245A8;
    color: #1245A8;
  }

  .btn-next-connect {
    background: #1245A8;
    border: none;
    color: #FFFFFF;
  }
  

.modal-content-connect {
    width: 100%;
    height: 80vh;
    background: #FFFFFF;
    border-radius: 8px;
    position: relative;
  }
  
  .modal-header-connect {
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .title-connect {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #0D062D;
    margin: 0;
  }
  
  .close-button-connect {
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
  }
  
  .close-button-connect img {
    width: 100%;
    height: 100%;
  }
  
  .header-divider-connect {
    height: 1px;
    background: #25213B;
    width: 100%;
  }
  
  .tabs-connect {
    display: flex;
    padding: 0px 5px;
    margin-top: 10px;
  }

  
  .modal-body-connect {
    padding: 5px 20px;
  }
  
  .connector-title-connect {
    font-family: 'Cabin', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #2E253B;
    line-height: 30px;
    margin: 4px 30px;
  }
  
  .footer-connect {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  
  .divider-connect {
    height: 1px;
    background:#2E253B ;
    margin: 0 28px;
  }
  
  .button-group-connect {
    display: flex;
    justify-content:center;
    gap: 20px;
    padding: 20px 0;
  }
  
  .button-group-connect button {
    width: 123px;
    height: 35px;
    border-radius: 5px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: transform 0.3s ease, filter 0.3s ease;
    &:hover {
      transform: scale(1.02);
      font-weight: 600;
      transition: all 0.2s ease-in-out;
    }
    :hover::after {
      filter: brightness(85%);
    }
  }
  
  .btn-close-connect {
    background: transparent;
    border: 0.1rem solid #1245A8;
    color: #1245A8;
  }
  
  .btn-next-connect {
    background: #1245A8;
    border: none;
    color: #FFFFFF;
  }
  
  .storage-options-container {
    display: flex;
    justify-content: space-between;
    padding: 8px;
    background: #FFFFFF;
    border: 2px dashed #ccc;
    border-radius: 8px;
    width: 518px;
    height: 200px;
    margin: 0 auto;
  }
  
  .storage-option {
    display: flex
    ;
        flex-direction: column;
        align-items: center;
        justify-content: center;
           width: 145px;
      height: 150px;
        background: #FFFFFF;
        border-radius: 16px;
        padding: 6px;
        cursor: pointer;
        transition: transform 0.2s;
        box-shadow: 0 3px 6px #ac62ff7d;
        margin: 10px 40px;
  }
  
  .storage-option:hover {
    transform: scale(1.02);
    border:1px solid #9F4AFF;
  }
  
  
  .storage-option img {
    margin-bottom: 16px;
    object-fit: contain;
  }
  
  .storage-name {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #0D062D;
    text-align: center;
  }
  
  .configuration-section {
    padding: 10px 20px;
  }
  
  .configuration-header {
    position: relative;
  }
  
  .configuration-header span {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #25213B;
  }
  
  .underline {
    width: 100%;
    height: 2px;
    background-color: #1245A8;
    position: absolute;
    bottom: -10px;
    left: 0;
  }
  
  .divider-line-secondary {
    width: 100%;
    height: 1px;
    background-color: #E6E6E6;
  }
  
  .form-container {
    padding: 20px;
    width: 100%;
  }
  
  .form-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    width: 100%;
    padding: 5px 20px 5px 0px;
  }
  
  .form-group {
    width: 100%;
    margin-bottom: 5px;
  }
  
  .form-group label {
    display: block;
    font-family: 'Segoe UI', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #424A53;
    margin-bottom: 5px;
  }
  
  .form-input {
    width: 90%;
    height: 35px;
    border: 1px solid lightgray;
    border-radius: 5px;
    padding: 0 10px;
  }
  
  .select-wrapper {
    position: relative;
  }
  
  /* .dropdown-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 5.95px;
    pointer-events: none;
  }
   */
  
.layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f7fa;
}

.mainContent {
  display: flex;
  flex: 1 1;
  overflow: hidden;
}

.contentWrapper {
  flex: 1 1;
  padding: 24px;
  background-color: #f5f7fa;
  overflow-y: auto;
}

.slack-button {
  padding: 10px 20px;
  background-color: #4A154B;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
}

/* Dialog styles */
.crms-dialog-header {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  border-bottom: 1px solid #eeeeee;
}

.crms-dialog-title {
  flex-grow: 1;
  text-align: center;
  margin: 0;
  font-weight: 500;
  font-size: 20px;
}

.close-button {
  color: #666;
}

.crms-dialog-content {
  padding: 24px !important;
}

.accounts-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.accounts-title {
  font-size: 18px;
  font-weight: 500;
  margin: 0;
}

.add-account-button {
  background-color: #9C27B0;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 500;
}

.add-account-button span {
  margin-right: 5px;
  font-size: 20px;
}

.accounts-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.account-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  border: 1px solid #E0E0E0;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.account-active {
  border-color: #9C27B0;
  position: relative;
}

.account-active::after {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  height: 3px;
  background-color: #9C27B0;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.account-url {
  font-size: 16px;
  color: #333;
}

.remove-button {
  background: none;
  border: none;
  cursor: pointer;
  color: #999;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.remove-button:hover {
  color: #666;
}



/* ExternalServicesDashboard.css */

.search-container {
  position: relative;
  width: 300px;
}

.search-container input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.5rem;
  border-radius: 0.5rem;
  border: 1px solid #999;
  background-color: lightcyan;
  font-size: 0.875rem;
  outline: none;
  transition: border-color 0.2s ease;
}

.search-container input:focus {
  border-color: #999;
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.1);
}

.search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: gray;
}

.categories {
  display: flex;
  overflow-x: auto;
  padding-bottom: 1rem;
  margin-bottom: 0.5rem;
  gap: 0.5rem;
  scrollbar-width: 1px;
  /* scrollbar-color: #999 #f1f1f1; */
}

.categories::-webkit-scrollbar {
  height: 4px;
}

.categories::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.categories::-webkit-scrollbar-thumb {
  background: #d2d2d2;
  border-radius: 4px;
}

.category-btn {
  padding: 0.325rem 1rem;
  border: 1px solid #1245A8;
  background-color: #dfeaff;
  border-radius: 0.5rem;
  font-size: 12px;
  font-weight: 500;
  color: #1245A8;
  cursor: pointer;
  white-space: nowrap;
  margin-top: 2px;
  transition: all 0.2s ease-in-out;
}

.category-btn:hover {
  border-color: #97aedd;
  color:#1245A8;
  transform: translateY(-1px);
}

.category-btn.active {
  background-color: #1245A8;
  border-color: #1245A8;
  color: white;
  transform: translateY(-1px);
}

.mcp-services-list {
  background-color: white;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.mcp-service-item {
  display: flex;
  align-items: center;
  /* padding: 1rem 1.5rem; */
  border-bottom: 1px solid #eaeaea;
  transition: all 0.3s ease;
  opacity: 0;
  transform: translateY(10px);
}

.mcp-service-item.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.mcp-service-item:hover {
  background-color: rgba(79, 70, 229, 0.05);
}

/* .mcp-service-item:last-child {
  border-bottom: none;
} */

.mcp-service-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin-right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mcp-service-icon svg {
  width: 24px;
  height: 24px;
}

.mcp-service-info {
  flex-grow: 1;
}

.category-badge {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
  background-color: #e0e7ff;
  color: #4f46e5;
}

.mcp-service-name {
  font-size: 1rem;
  font-weight: 600;
  color:black;
  margin-bottom: 0.25rem;
}

.mcp-service-url {
  font-size: 0.75rem;
  color: #666;
}

.mcp-service-launch {
  margin-left: 1rem;
}

.launch-btn {
  padding: 0.5rem 1rem;
  background-color: #1245A8;
  color: white;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}

.launch-btn:hover {
  background-color: #4e7fe2;
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.launch-btn:active {
  transform: translateY(0);
}

.launch-icon {
  width: 16px;
  height: 16px;
}

.mcp-empty-state {
  padding: 4rem 2rem;
  text-align: center;
  color: #505050;
  animation: fadeIn 0.5s ease-in-out;
}

.mcp-empty-state svg {
  margin-bottom: 1rem;
}

.mcp-category-section {
  margin-bottom: 1rem;
  animation: slideIn 0.4s ease-in-out;
}

.mcp-category-header {
  display: flex;
  align-items: center;
  margin:0.5rem 0;
}

.mcp-category-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin: 0;
  margin-right: 0.5rem;
}

.mcp-toggle-view {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  margin-bottom: 1rem;
}

.mcp-view-btn {
  background: none;
  border: 1px solid #999;
  color: #999;
  border-radius: 0.375rem;
  padding: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.mcp-view-btn:hover {
  border-color: #999;
  color: #1245A8;
}

.mcp-view-btn.active {
  background-color: #1245A8;
  border-color: #1245A8;
  color: white;
}

.mcp-view-btn svg {
  width: 18px;
  height: 18px;
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Apply animations with different delays for staggered effect */
.mcp-service-item:nth-child(1) {
  transition-delay: 0.05s;
}

.mcp-service-item:nth-child(2) {
  transition-delay: 0.1s;
}

.mcp-service-item:nth-child(3) {
  transition-delay: 0.15s;
}

.mcp-service-item:nth-child(4) {
  transition-delay: 0.2s;
}

.mcp-service-item:nth-child(5) {
  transition-delay: 0.25s;
}

.model-catalog {
    max-width: 800px;
    margin: 0 auto;
    font-family: 'Arial', sans-serif;
  }
  
  .platform-card {
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin-bottom: 16px;
  }
  
  .platform-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    cursor: pointer;
  }
  
  .btn {
    padding: 6px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9em;
    transition: background-color 0.3s ease;
  }
  
  .btn-add-provider {
    background-color: #2196f3;
    color: white;
  }
  
  .btn-add-model {
    background-color: #4caf50;
    color: white;
    margin-right: 10px;
  }
  
  .btn-delete {
    background-color: #f44336;
    color: white;
  }
  
  .btn:hover {
    opacity: 0.9;
  }
  

  

  
  
  
  .provider-description {
    color: #666;
    flex-grow: 1;
  }
  
  .model-count {
    color: #888;
    font-size: 0.9em;
    margin-right: 15px;
  }
  
  .models-table {
    width: 100%;
    border-collapse: collapse;
  }
  
  .models-table thead {
    background-color: #f0f0f0;
  }
  
  .models-table th,
  .models-table td {
    border: 1px solid #e0e0e0;
    padding: 8px;
    text-align: left;
  }
  
  .models-table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
  }
  
  .models-table tbody tr:hover {
    background-color: #f0f0f0;
  }
/* AI Governance Dashboard Styles */
.ai-governance-dashboard {
    font-family: Arial, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
  }
  
  /* Tabs */
  .dashboard-tabs {
    display: flex;
    background: #ffffff;
    border-bottom: 1px solid #e0e0e0;
  }
  
  /* .tab {
    padding: 15px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: #333;
  }
  
  .tab:hover {
    background-color: #f5f5f5;
  }
  
  .tab.active {
    color: #9c27b0;
    border-bottom: 3px solid #9c27b0;
  } */
  
  /* Tab Content */
  .tab-content {
    padding: 20px;
    background: #ffffff;
  }
  
  /* RBAC Section */
  .roles-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }
  
  .roles-header h2 {
    font-size: 18px;
    margin: 0;
  }
  
  .create-role-btn {
    background: #1245A8;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 15px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .create-role-btn span {
    margin-right: 5px;
    font-size: 18px;
  }
  
  .create-role-btn:hover {
    background: #3f75e3;
  }
  
  .roles-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .role-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    transition: all 0.3s ease;
  }
  
  .role-item:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  
  .role-info h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
  }
  
  .role-info p {
    margin: 0;
    color: #666;
    font-size: 14px;
  }
  
  .radio-circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #1245A8;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .radio-circle.selected::after {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #1245A8;
  }
  
  /* Logging Table */
  .logging-table-container {
    overflow-x: auto;
  }
  
  .logging-table {
    width: 100%;
    border-collapse: collapse;
  }
  
  .logging-table thead {
    background: #f8f1fa;
  }
  
  .logging-table th,
  .logging-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #e0e0e0;
  }
  
  .logging-table select {
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    width: 100%;
  }
  
  .status {
    padding: 5px 10px;
    border-radius:8px;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    width:85%;
  }
  
  .status.active {
    background-color: #e8f5e9;
    color: #2e7d32;
  }
  
  .status.inactive {
    background-color: #eeeeee;
    color: #6b6b6b;
  }
  
  .download-btn {
    background: none;
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
  }
  
  .download-btn:hover {
    background: #f5f5f5;
  }
  
  /* Bias Mitigation Settings */
  .bias-settings {
    max-width: 800px;
  }
  
  .bias-settings h2 {
    margin-bottom: 20px;
    font-size: 18px;
  }
  
  .setting-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    margin-bottom: 15px;
  }
  
  .setting-info h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
  }
  
  .setting-info p {
    margin: 0;
    color: #666;
    font-size: 14px;
  }
  
  .toggle-switch {
    position: relative;
    width: 50px;
    height: 24px;
  }
  
  .toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  .toggle-switch label {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    border-radius: 34px;
    transition: .4s;
  }
  
  .toggle-switch label:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    border-radius: 50%;
    transition: .4s;
  }
  
  .toggle-switch input:checked + label {
    background-color: #4caf50;
  }
  
  .toggle-switch input:checked + label:before {
    transform: translateX(26px);
  }
  
  .setting-item.dropdown {
    cursor: pointer;
  }
  
  .dropdown-icon {
    color: #666;
  }
  
  /* Policy Templates */
  .templates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-gap: 20px;
    gap: 20px;
  }
  
  .template-card {
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 15px;
    display: flex;
    flex-direction: column;
  }
  
  .template-icon {
    position: relative;
    width: 60px;
    height: 60px;
    margin-bottom: 15px;
    background-color: #f5f5f5;
    border-radius: 5px;
  }
  
  .edit-icon {
    position: absolute;
    top: -5px;
    right: -5px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  
  .template-info h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
  }
  
  .template-info p {
    margin: 0 0 15px 0;
    color: #666;
    font-size: 14px;
  }
  
  .apply-btn {
    background: #9c27b0;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 15px;
    cursor: pointer;
    align-self: flex-start;
    transition: background-color 0.3s ease;
  }
  
  .apply-btn:hover {
    background: #7b1fa2;
  }
  
  /* Modal */
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  .modal-content {
    background: white;
    border-radius: 8px;
    width: 500px;
    max-width: 90%;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    animation: slideIn 0.3s ease;
  }
  
  @keyframes slideIn {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  
  .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #e0e0e0;
  }
  
  .modal-header h2 {
    margin: 0;
    font-size: 18px;
  }
  
  .close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
  }
  
  .modal-body {
    padding: 20px;
  }
  
  .form-group {
    margin-bottom: 20px;
  }
  
  .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
  }
  
  .form-group input[type="text"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
  }
  
  .permissions-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .permission-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .modal-footer {
    padding: 15px 20px;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: flex-end;
  }
  
  .add-role-btn {
    background: #9c27b0;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 20px;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .add-role-btn:hover {
    background: #7b1fa2;
  }


  /* AIDashboard.css */
* {
    box-sizing: border-box;
    /* margin: 0; */
    padding: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }
  
  .dashboard-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
  
  .tab-content {
    animation: fadeIn 0.5s ease;
  }
  
  .header-row {
    display: flex;
    background-color: #d3ddfe;
    padding: 12px 16px;
    border-radius: 8px 8px 0 0;
    font-weight: 600;
    color: #1245A8;
  }
  
  .header-column {
    flex: 1 1;
  }
  
  .header-column.wide {
    flex: 2 1;
  }
  
  .actions-column {
    width: 100px;
    text-align: right;
  }
  
  .data-row {
    display: flex;
    padding: 16px;
    border-bottom: 1px solid #eee;
    background-color: white;
    transition: background-color 0.2s ease;
  }
  
  .data-row:hover {
    background-color: #f5f5f5;
  }
  
  .data-column {
    flex: 1 1;
    display: flex;
    align-items: center;
  }
  
  .data-column.wide {
    flex: 2 1;
  }
  
  .non-compliant {
    color: #e74c3c;
    background-color: #ffebee;
  }
  
  .compliant {
    color: #27ae60;
    background-color: #e8f5e9;
  }
  
  .download-btn, .flag-btn, .chart-btn, .alert-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    background-color: white;
    cursor: pointer;
    margin-left: 8px;
    transition: all 0.2s ease;
  }
  
  .download-btn:hover, .flag-btn:hover, .chart-btn:hover, .alert-btn:hover {
    background-color: #f5f5f5;
    transform: translateY(-2px);
  }
  
  .flag-btn {
    color: #e74c3c;
  }
  
  .action-container {
    padding: 16px;
    display: flex;
    justify-content: flex-end;
    background-color: white;
    border-top: 1px solid #eee;
  }
  
  .create-role-btn {
    background-color: #1245A8;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
  }
  
  .create-role-btn:hover {
    background-color: #3f75e3;
    transform: translateY(-2px);
  }
  
  /* Description for Security tab */
  .description {
    margin-bottom: 24px;
    color: #666;
    line-height: 1.5;
  }
  
  /* Compliance cards */
  .compliance-cards {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
  }
  
  .compliance-card {
    flex: 1 1;
    min-width: 300px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
  }
  
  .compliance-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }
  
  .compliance-card-header {
    padding: 16px;
  }
  
  .compliance-card-header h3 {
    margin-bottom: 12px;
    color: #333;
    font-size: 16px;
  }
  
  .compliance-card-image {
    width: 100%;
    height: 120px;
    object-fit: cover;
    background-color: #eee;
    border-radius: 4px;
  }
  
  .compliance-card-description {
    padding: 0 16px 16px;
    color: #666;
    font-size: 14px;
  }
  
  .compliance-chart {
    display: flex;
    justify-content: center;
    margin: 16px 0;
  }
  
  .chart-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  
  .chart-circle:before {
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    background-color: white;
  }
  
  .chart-circle.green {
    background: conic-gradient(#27ae60 0% 92%, #eee 92% 100%);
  }
  
  .chart-circle.yellow {
    background: conic-gradient(#f39c12 0% 68%, #eee 68% 100%);
  }
  
  .chart-circle.red {
    background: conic-gradient(#e74c3c 0% 47%, #eee 47% 100%);
  }
  
  .percentage {
    position: relative;
    font-weight: bold;
    color: #333;
  }
  
  .compliance-card-buttons {
    display: flex;
    padding: 16px;
    gap: 8px;
  }
  
  .compliance-card-button {
    flex: 1 1;
    padding: 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    font-size: 14px;
  }
  
  .compliance-card-button.primary {
    background-color: #8e44ad;
    color: white;
  }
  
  .compliance-card-button.secondary {
    background-color: white;
    color: #8e44ad;
    border: 1px solid #8e44ad;
  }
  
  .compliance-card-button:hover {
    opacity: 0.9;
    transform: translateY(-2px);
  }
  
  /* Modal styles */
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
  }
  
  .modal-content {
    width: 500px;
    background-color: white;
    border-radius: 8px;
    overflow: hidden;
    animation: slideIn 0.3s ease;
  }
  
  .modal-header {
    padding: 16px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .modal-header h2 {
    font-size: 18px;
    color: #333;
  }
  
  .close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #999;
  }
  
  .modal-body {
    padding: 16px;
  }
  
  .form-group {
    margin-bottom: 16px;
  }
  
  .form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #555;
  }
  
  .form-group input[type="text"],
  .form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
  }
  
  .form-group textarea {
    min-height: 100px;
    resize: vertical;
  }
  
  .radio-group,
  .checkbox-group {
    display: flex;
    gap: 16px;
  }
  
  .radio-option,
  .checkbox-option {
    display: flex;
    align-items: center;
    gap: 6px;
  }
  
  .modal-footer {
    padding: 16px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
  }
  
  .cancel-btn,
  .save-btn {
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
  }
  
  .cancel-btn {
    background-color: white;
    color: #666;
    border: 1px solid #ddd;
  }
  
  .save-btn {
    background-color: #8e44ad;
    color: white;
    border: none;
  }
  
  .cancel-btn:hover,
  .save-btn:hover {
    transform: translateY(-2px);
  }
  
  /* Animations */
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  
  @keyframes slideIn {
    from {
      transform: translateY(-20px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  /* General styling */
.app-container {
    font-family: Arial, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }
  
  /* Icon styling */
  .icon-container {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
  }
  
  .icon {
    cursor: pointer;
    padding: 12px 20px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  }
  
  .icon:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  }
  
  .fairness-icon {
    background-color: #f2f2ff;
    color: #333;
  }
  
  .risk-icon {
    background-color: #fff2f2;
    color: #333;
  }
  
  .icon-label {
    font-weight: 600;
    font-size: 14px;
  }
  
  /* Modal styling */
  .bias-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
  }
  
  .bias-modal {
    background-color: white;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    max-width: 90%;
    width: 700px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    animation: slideIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }

  
  /* Graph container */
  .bias-graph-container {
    margin: 10px 0;
    padding: 10px;
    position: relative;
  }
  
  .bias-graph-container h2 {
    text-align: center;
    margin-bottom: 30px;
    color: #333;
    font-weight: 500;
    font-size: 22px;
  }
  
  .recharts-wrapper {
    margin: 0 auto;
    width: 100%;
  }
  
  /* Custom tooltip */
  .custom-tooltip {
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    font-size: 14px;
  }
  
  .custom-tooltip .label {
    margin: 0;
    font-weight: 600;
  }
  
  /* Recharts custom styling */
  .recharts-legend-item-text {
    font-size: 14px;
  }
  
  /* Animations */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes slideIn {
    from { 
      opacity: 0; 
      transform: translateY(-30px); 
    }
    to { 
      opacity: 1; 
      transform: translateY(0); 
    }
  }

  /* Container styles */
.compliance-container {
    font-family: Arial, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }
  
  .button-container {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
  }
  
  /* Button styles */
  .compliance-button, .violations-button {
    padding: 10px 16px;
    border: none;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }
  
  .compliance-button {
    background-color: #e6e6ff;
    color: #333;
  }
  
  .violations-button {
    background-color: #ffe6e6;
    color: #333;
  }
  
  .compliance-button:hover, .violations-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  }
  
  /* Modal styles */
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
  }
  
  .modal {
    background-color: white;
    border-radius: 8px;
    width: 500px;
    max-width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
    animation: slideIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  
  
  /* Modal content styles */
  .modal-header {
    background-color: #d3ddfe;
    padding: 15px 20px;
    border-radius: 8px 8px 0 0;
  }
  
  .modal-header h2 {
    margin: 0;
    color: #333;
    font-size: 20px;
  }
  
  .modal-body {
    padding: 20px;
  }
  
  .info-row {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
  }
  
  .label {
    font-weight: 600;
    margin-right: 10px;
  }
  
  .value {
    color: #333;
  }
  
  .violations-badge, .severity-badge {
    background-color: #ff6666;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: 600;
  }
  
  .violations-label {
    margin-right: 10px;
  }
  
  .violation-details {
    margin-top: 15px;
    line-height: 1.5;
  }
  
  /* Animations */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes slideIn {
    from { 
      opacity: 0; 
      transform: translateY(-30px); 
    }
    to { 
      opacity: 1; 
      transform: translateY(0); 
    }
  }
.compliance-container {
    font-family: Arial, sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }
  
  .compliance-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
  }
  
  .header-icons {
    display: flex;
    gap: 20px;
  }
  
  .compliance-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
  }
  
  .compliance-table thead {
    background-color: #d3ddfe;
    color: #1245A8;
    font-weight: 600;
  }
  
  .compliance-table th {
    padding: 15px;
    text-align: left;
    font-weight: 600;
  }
  
  .compliance-table td {
    padding: 15px;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .status-cell {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .action-cell {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  
  .status-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
  }
  
  .status-icon.warning {
    background-color: #ffe0e0;
    color: #ff0000;
  }
  
  .status-icon.pending {
    background-color: #e0ffe0;
    color: #008000;
  }
  
  .status-icon.approved {
    background-color: #e0e0ff;
    color: #0000ff;
  }
  
  .action-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .view-details-btn {
    background-color: #800080;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .view-details-btn:hover {
    background-color: #600060;
  }
  
  .auto-escalation-rules {
    background-color: #f0f0f0;
    padding: 15px;
    border-radius: 8px;
    margin-top: 20px;
  }
  
  .escalation-title {
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .escalation-rule {
    display: inline-block;
    margin-right: 20px;
    color: #555;
  }
  
  /* Modal styles */
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeIn 0.3s ease;
  }
  
  .modal-content {
    background-color: white;
    width: 90%;
    max-width: 600px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    animation: slideIn 0.3s ease;
  }
  
  .modal-header {
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .highlighted-agent-name {
    color: #1245A8;
  }
  
  .close-modal-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #888;
  }
  
  .modal-body {
    padding: 20px;
    max-height: 400px;
    overflow-y: auto;
  }
  
  .model-details {
    margin-bottom: 20px;
  }
  
  .model-details h4, .audit-findings h4 {
    margin-bottom: 10px;
    color: #333;
  }
  
  .finding {
    background-color: #f9f9f9;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 10px;
  }
  
  .modal-footer {
    padding: 15px 20px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
  }
  
  .approve-btn, .reject-btn, .request-changes-btn {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  
  .approve-btn {
    background-color: #f0f0f0;
    color: #000;
  }
  
  .reject-btn {
    background-color: #f0f0f0;
    color: #000;
  }
  
  .request-changes-btn {
    background-color: #800080;
    color: white;
  }
  
  .approve-btn:hover {
    background-color: #e0e0e0;
  }
  
  .reject-btn:hover {
    background-color: #e0e0e0;
  }
  
  .request-changes-btn:hover {
    background-color: #600060;
  }
  
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  
  @keyframes slideIn {
    from {
      transform: translateY(-20px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }
  
  /* Responsive styles */
  @media (max-width: 768px) {
    .compliance-table {
      font-size: 14px;
    }
    
    .compliance-table th,
    .compliance-table td {
      padding: 10px;
    }
    
    .escalation-rule {
      display: block;
      margin-bottom: 5px;
    }
    
    .modal-content {
      width: 95%;
    }
  }


  .container {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 20px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  
  
  .header-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 20px;
  }
  
  .history-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #f5f5f5;
    margin-right: 15px;
    cursor: pointer;
    color: #666;
  }
  
  .history-button:hover {
    background-color: #e0e0e0;
  }
  
  .add-role-button {
    background-color: #9c27b0;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 15px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: background-color 0.3s ease;
  }
  
  .add-role-button span {
    margin-right: 5px;
    font-size: 18px;
  }
  
  .add-role-button:hover {
    background-color: #7b1fa2;
  }
  
  .data-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
  }
  
  .data-table thead {
    background-color: #d3ddfe;
  }
  
  .data-table th {
    text-align: left;
    padding: 12px 15px;
    color: #1245A8;
    font-weight: 500;
  }
  
  .data-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
    color: #333;
  }
  
  .status-badge {
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
  }
  
  .status-badge.active {
    background-color: #e3f9e5;
    color: #1ea23a;
  }
  
  .status-badge.suspended {
    background-color: #f9e3e3;
    color: #a21e1e;
  }
  
  .status-badge.success {
    background-color: #e3f9e5;
    color: #1ea23a;
  }
  
  .status-badge.alert {
    background-color: #f9f3e3;
    color: #a27e1e;
  }
  
  .status-badge.failed {
    background-color: #f9e3e3;
    color: #a21e1e;
  }
  
  .edit-button, .download-button {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    color: #666;
    transition: color 0.3s ease;
  }
  
  .edit-button:hover, .download-button:hover {
    color: #3f75e3;
  }
  
  .severity-indicator {
    font-weight: 500;
  }
  
  .edit-form-container {
    background-color: #f5f5f5;
    padding: 15px;
    border-radius: 5px;
    margin-top: -10px;
    margin-bottom: 10px;
    animation: slideDown 0.3s ease-out;
  }
  
  @keyframes slideDown {
    from {
      opacity: 0;
      transform: translateY(-10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .edit-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .form-row {
    display: flex;
    gap: 20px;
  }
  
  .form-group {
    flex: 1 1;
    display: flex;
    flex-direction: column;
  }
  
  .form-group label {
    margin-bottom: 5px;
    font-weight: 500;
    color: #555;
    font-size: 14px;
  }
  
  .form-group input, .form-group select {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: white;
  }
  
  .save-button-container {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
  
  .save-button {
    background-color: #9c27b0;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 20px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.3s ease;
  }
  
  .save-button:hover {
    background-color: #7b1fa2;
  }
.ab-dashboard {
  padding: 20px;
  min-width: 1000px;
}

.agentGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 20px;
  gap: 20px;
}

.agentCard {
  position: relative;
  padding: 15px;
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.cardImage {
  position: relative;
  text-align: center;
}

.cardImage img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 10px;
}

/* .agentImage {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
} */

.cardContent {
  padding: 10px 0;
  display: flex;
  flex-direction: column;
}

.agentHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.agentName {
  font-size: 1rem;
  font-weight: bold;
  margin: 0;
}

.progressWrapper {
  width: 50px;
  height: 50px;
}

.actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
}

.moreVertIconButton {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 10; /* Ensure it's above the image */
  background: rgba(255, 255, 255, 0.6); /* Optional: Light background */
  border-radius: 50%;
  padding: 5px; /* Optional: Light background */
}

.viewButton,
.testButton {
  border-color: purple;
  color: purple;
}

.bridgeimportButton {
  background-color: purple;
  color: white;
}

.css-53g0n7-MuiButtonBase-root-MuiIconButton-root {
  position: absolute !important;
}

/* 
.workflow-container {
    display: flex;
    height: 90vh;
    width: 100%;

  }
  
  .workflow-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #ffffff;
    padding: 5px 10px;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }
  
  .workflow-title {
    font-size: 20px;
    font-weight: bold;
  }
  
  .workflow-actions {
    display: flex;
    gap: 8px;
  }
  
  .workflow-canvas {
    flex: 1;
    position: relative;
  }
  
  .sidebar {
    width: 260px;
    background-color: white;
    border-right: 1px solid #ddd;
    padding: 15px;
    height: 100%;
    overflow-y: auto;
  }
  
  .sidebar-title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .sidebar-description {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
  }
  
  .sidebar-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .sidebar-category {
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
  }
  
  .sidebar-category input[type="checkbox"] {
    display: none;
  }
  
  .sidebar-category-title {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    font-weight: 500;
    cursor: pointer;
    background-color: #f9f9f9;
    position: relative;
  }
  
  .sidebar-category-title::after {
    content: "▼";
    position: absolute;
    right: 15px;
    transition: transform 0.3s;
  }
  
  .sidebar-category input[type="checkbox"]:not(:checked) + .sidebar-category-title::after {
    transform: rotate(-90deg);
  }
  
  .sidebar-icon {
    margin-right: 8px;
  }
  
  .sidebar-count {
    margin-left: 5px;
    font-size: 12px;
    color: #666;
  }
  
  .sidebar-category input[type="checkbox"]:not(:checked) + .sidebar-category-title + .sidebar-category-content {
    display: none;
  }
  
  .sidebar-category-content {
    padding: 10px;
  }
  
  .sidebar-item {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    cursor: move;
    margin-bottom: 8px;
    transition: all 0.2s;
  }
  
  .sidebar-item:hover {
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  }
  
  .sidebar-item-title {
    font-weight: 500;
    margin-bottom: 3px;
  }
  
  .sidebar-item-description {
    font-size: 12px;
    color: #666;
  }
  
  .sidebar-item-agent {
    background-color: #e6f7ff;
  }
  
  .sidebar-item-model {
    background-color: #e6ffe6;
  }
  
  .sidebar-item-tool {
    background-color: #f9e6ff;
  }
  
  .sidebar-item-prompt {
    background-color: #fff9e6;
  }
  
  .node {
    width: 240px;
    border: 2px solid;
    border-radius: 8px;
    background-color: white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  }
  
  .node-agent {
    border-color: #1890ff;
  }
  
  .node-model {
    border-color: #52c41a;
  }
  
  .node-tool {
    border-color: #722ed1;
  }
  
  .node-prompt {
    border-color: #faad14;
  }
  
  .node-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    margin-bottom: 5px;
  }
  
  .node-title {
    display: flex;
    align-items: center;
  }
  
  .node-icon {
    margin-right: 8px;
  }
  
  .node-name {
    font-weight: bold;
  }
  
  .node-actions {
    display: flex;
    gap: 5px;
  }
  
  .node-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 3px;
    border-radius: 3px;
    transition: background-color 0.2s;
  }
  
  .node-button:hover {
    background-color: #f0f0f0;
  }
  
  .node-button-delete:hover {
    color: #ff4d4f;
  }
  
  .node-description {
    font-size: 12px;
    color: #666;
    padding: 0 12px 10px 12px;
  }
  
  .node-content {
    border-top: 1px solid #eee;
    padding: 10px 12px;
  }
  
  .node-section-title {
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 5px;
  }
  
  .node-dropzone {
    border: 1px dashed #ccc;
    border-radius: 5px;
    padding: 10px;
    text-align: center;
    font-size: 12px;
    color: #999;
    margin-bottom: 10px;
  }
  
  .node-value {
    background-color: #f5f5f5;
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 12px;
    margin-bottom: 10px;
  }
  
  .button {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.2s;
  }
  
  .button-save {
    background-color: #1890ff;
    color: white;
  }
  
  .button-save:hover {
    background-color: #096dd9;
  }
  
  .button-run {
    background-color: #52c41a;
    color: white;
  }
  
  .button-run:hover {
    background-color: #389e0d;
  } */
.agent-input {
    font-size: 1rem;
}

.agent-input .MuiOutlinedInput-notchedOutline {
    border-color: #ccc;
    transition: border-color 0.3s ease;
}

.agent-input:hover .MuiOutlinedInput-notchedOutline {
    border-color: #3b6fd7;
}

.agent-input .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
  border-color: #1245A8;
}

.agent-input .MuiInputLabel-root.Mui-focused {
    color: #1245A8;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #eaeaea;
  }
  
  .modal-header h2 {
    margin: 0;
    font-size: 18px;
    color: #333;
    font-weight: 600;
  }
  
  .close-button {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #666;
    transition: color 0.2s;
  }
  
  .close-button:hover {
    color: #333;
  }
  
  .modal-content {
    padding: 24px;
  }
  
  .upload-container {
    height: 18vh;
    border: 2px dashed #ddd;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    color: #666;
    padding: 10px;
    text-align: center;
    margin-bottom: 5px;
  }
  
  .upload-container:hover {
    border-color: #2563eb;
    color: #2563eb;
  }
  
  .upload-container.dragging {
    border-color: #2563eb;
    background-color: rgba(37, 99, 235, 0.05);
    transform: scale(1.01);
  }
  
  .upload-icon {
    margin-bottom: 3px;
    color: #999;
    transition: color 0.3s;
  }
  
  .upload-container:hover .upload-icon {
    color: #2563eb;
  }
  
  .browse-button {
    margin-top: 5px;
    padding: 5px 12px;
    background-color: #f3f4f6;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
  }
  
  .browse-button:hover {
    background-color: #e5e7eb;
    border-color: #6d6d6d;
  }
  
  /* File info styles */
  .file-info-container {
    margin-bottom: 24px;
    animation: fadeIn 0.3s ease-out;
  }
  
  .file-info {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    animation: slideIn 0.3s ease-out;
  }
  
  .file-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    color: #2563eb;
  }
  
  .file-name-wrapper {
    flex: 1 1;
    overflow: hidden;
  }
  
  .file-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px;
    color: #333;
  }
  
  .remove-file-button {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s;
  }
  
  .remove-file-button:hover {
    color: #dc2626;
    background-color: rgba(220, 38, 38, 0.1);
  }
  
  .file-upload-success {
    font-size: 11px;
    color: #059669;
    margin-top: 4px;
    margin-left: 4px;
    animation: fadeIn 0.5s ease-out;
  }
  

/* JSON content section */
.json-content-section {
    margin-bottom: 14px;
  }
  
  .json-content-section label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    color: #333;
    font-weight: 500;
  }
  
  /* Fixed textarea with proper scrolling */
  .json-textarea {
    width: 100%;
    height: 35vh;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: #fff;
    font-family: monospace;
    font-size: 14px;
    line-height: 1.2;
    resize: none;
    overflow: auto;
    color: #333;
    transition: border-color 0.2s;
  }
  
  .json-textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
  }
  
  .json-textarea::placeholder {
    color: #999;
    opacity: 1;
  }
  
  .error-message {
    color: #dc2626;
    font-size: 14px;
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 10px;
    background-color: rgba(220, 38, 38, 0.05);
    border-radius: 4px;
    border-left: 3px solid #dc2626;
    animation: shake 0.4s ease-in-out;
  }
  
  .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 10px !important;
  }
  
  .cancel-button, .import-button {
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
  }
  
  .cancel-button {
    background-color: #f3f4f6;
    border: 1px solid #ddd;
    color: #666;
  }
  
  .cancel-button:hover {
    background-color: #e5e7eb;
  }
  
  .import-button {
    background-color: #2563eb;
    border: 1px solid #2563eb;
    color: white;
  }
  
  .import-button:hover {
    background-color: #1d4ed8;
  }
  
  /* Animations */
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes slideIn {
    from { transform: translateY(10px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
  }
  
  @keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
  }
.main-container {
    width: 100%;
    margin: 0 auto;
}

.step-container {
    background: white;
    border-radius: 8px;
    padding: 0 0.5rem;
     /* box-shadow: 0 2px 8px rgba(0,0,0,0.1); */
       /* margin-bottom: 20px; */
    transition: all 0.3s ease;
}

.step-title {
    font-size: 15px;
    font-weight: 500;
    margin: 0;
    margin-bottom: 3px;
    color: #1d1d1f;
}

.step-subtitle {
    font-size: 11px;
    color: #86868b;
    margin: 0;
    margin-bottom: 1rem;
}

.config-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 8px;
    gap: 8px;
    margin-bottom: 1rem;
}
.tool-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 4px;
    gap: 4px;
    margin-bottom: 0.8rem;
    max-width: 100%;
    overflow: hidden;
}

.tool-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 100%;
}

.config-textarea {
    padding: 12px 16px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    font-size: 13px;
    background: white;
    resize: vertical;
    min-height: 50px;
    font-family: inherit;
    transition: all 0.2s ease;
    max-width: 100%;
    box-sizing: border-box;
}

.config-textarea:focus {
    outline: none;
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
}

.config-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 100%;
    overflow: hidden;
}

.config-label {
    font-size: 13px;
    color: #86868b;
    font-weight: 500;
}

.config-input,
.config-select {
    padding: 8px 12px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    font-size: 13px;
    background: white;
    transition: all 0.2s ease;
    max-width: 100%;
    box-sizing: border-box;
}

.config-input:focus,
.config-select:focus {
    outline: none;
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
}

/* Fixed Monaco Editor Container */
.monaco-editor-container {
    width: 100%;
    max-width: 100%;
    min-height: 140px;
    height: 30vh;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
    contain: layout style size;
    box-sizing: border-box;
    /* Prevent Monaco from triggering ResizeObserver during window resize */
    transform: translateZ(0);
    will-change: auto;
}

/* Alternative: If you want a flexible height container */
.monaco-editor-container-flexible {
    width: 100%;
    min-height: 120px;
    max-height: 300px; /* Set a reasonable max height */
    position: relative;
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden;
    contain: layout style;
    resize: vertical; /* Allow manual resize */
}

.tools-panel {
    width: 25%;
    max-width: 25%;
    min-width: 250px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    transition: box-shadow 0.3s ease;
    box-sizing: border-box;
}

.config-input:focus,
.config-select:focus {
    outline: none;
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
}

/* .tool-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-bottom: 1rem;
} */

/* Fixed Monaco Editor Container */
/* .monaco-editor-container {
    width: 100%;
    min-height: 120px;
    height: 120px;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 8px;
    overflow: hidden; 
} */

/* .tool-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.config-textarea {
    padding: 12px 16px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    font-size: 13px;
    background: white;
    resize: none;
    min-height: 50px;
    font-family: inherit;
    transition: all 0.2s ease;
} */

/* .config-textarea:focus {
    outline: none;
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
} */

.bottom-actions {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    gap: 12px;
}

.action-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-container {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
}

.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 120px;
}

.btn-primary {
    background: #ff6b35;
    color: white;
}

.btn-primary:hover {
    background: #e55a2b;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
}

.btn-secondary {
    background: #f2f2f7;
    color: #1d1d1f;
    border: 1px solid #d2d2d7;
}

.btn-secondary:hover {
    background: #e8e8ed;
    transform: translateY(-1px);
}

.config-header-compact {
    background: white;
    border-radius: 12px;
    padding: 8px 20px;
    margin-bottom: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.config-row {
    display: flex;
    gap: 10px;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
}

.config-group-compact {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 24%;
}

.workspace {
    display: flex;
    gap: 10px;
    height: calc(93vh - 200px);
    width: 100%;
    min-height: 300px;
}

.file-tabs {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    flex: 1 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    height: 100%;
    min-height: 300px;
}

.file-tabs:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.workspace-tab-header {
    display: flex;
    border-bottom: 1px solid #d2d2d7;
    background: #f2f2f7;
    border-radius: 12px 12px 0 0;
    overflow-x: auto;
    flex-shrink: 0;
}

.workspace-tab {
    padding: 12px 20px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 14px;
    color: #86868b;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.workspace-tab:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #1d1d1f;
}

.workspace-tab.active {
    color: #1d1d1f;
    background: white;
    border-bottom-color: #007aff;
}

.workspace-tab-content {
    flex: 1 1;
    overflow: hidden;
    min-height: 200px;
    position: relative;
}

/* .tools-panel {
    width: 25%;
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    transition: box-shadow 0.3s ease;
} */

.tools-panel:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.panel-section {
    border-bottom: 1px solid #d2d2d7;
}

.panel-section:last-child {
    border-bottom: none;
    flex: 1 1;
}

.panel-section-header {
    padding: 8px 20px;
    background: #f2f2f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    color: #1d1d1f;
    font-size: 14px;
}

.section-content {
    padding: 8px;
    margin:0px 2px;
    min-height: 10vh;
    max-height: 25vh;
    overflow-y: auto;
}

.file-item {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    margin-bottom: 4px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 11px;
    transition: all 0.2s ease;
}

.file-item:hover {
    background: #f2f2f7;
    transform: translateX(2px);
}

.file-item.active {
    background: #e3f2fd;
    color: #1245a8;
    font-weight: 500;
}

.file-icon {
    width: 16px;
    height: 16px;
    background: #007aff;
    border-radius: 3px;
    color: white;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.json-icon {
    background: #f7931e;
}

.tool-panel-section-header {
    padding: 8px 4px;
    background: #f2f2f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
            user-select: none;
}

.tool-panel-section-header:hover {
    background: #e8e8ed;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    color: #1d1d1f;
    font-size: 14px;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    color: #86868b;
    cursor: pointer;
}

.header-right:hover {
    color: #1d1d1f;
}

.tool-section-content {
    padding: 16px 20px;
    background: white;
}

.tool-item {
    padding: 8px;
    margin-bottom: 4px;
    background: #f2f2f7;
    border-radius: 6px;
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.2s ease;
}

.tool-item:hover {
    background: #e8e8ed;
    transform: translateX(2px);
}

.tool-item:last-child {
    margin-bottom: 0;
}

.chevron-icon {
    transition: transform 0.2s ease;
    color: #86868b;
}

.tool-add-button {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.tool-add-button:hover {
    background: rgba(0, 0, 0, 0.05);
}

/* Folder Structure Styles */
.folder-container {
    margin-bottom: 4px;
}

.folder-header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    color: #1d1d1f;
    transition: all 0.2s ease;
    -webkit-user-select: none;
            user-select: none;
}

.folder-header:hover {
    background: #f2f2f7;
}

.folder-arrow {
    font-size: 10px;
    color: #666666;
    width: 12px;
    display: flex;
    justify-content: center;
    transition: transform 0.2s ease;
}

.folder-arrow.expanded {
    transform: rotate(90deg);
}

.folder-icon {
    font-size: 14px;
}

.folder-name {
    flex: 1 1;
}

.file-count {
    font-size: 11px;
    color: #666666;
    background: #f0f0f0;
    padding: 2px 6px;
    border-radius: 10px;
}

.files-container {
    margin-top: 2px;
}

.files-container.collapsed {
    display: none;
}

.file-name {
    white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}

/* Indentation for nested folders */
.depth-0 {
    padding-left: 8px;
}

.depth-1 {
    padding-left: 24px;
}

.depth-2 {
    padding-left: 40px;
}

.depth-3 {
    padding-left: 56px;
}

.depth-4 {
    padding-left: 72px;
}

/* File indentation (one level deeper than folder) */
.file-depth-0 {
    padding-left: 24px;
}

.file-depth-1 {
    padding-left: 40px;
}

.file-depth-2 {
    padding-left: 56px;
}

.file-depth-3 {
    padding-left: 72px;
}

.file-depth-4 {
    padding-left: 88px;
}

/* Scrollbar styling */
.section-content::-webkit-scrollbar {
  width: 4px;
}

.tools-panel::-webkit-scrollbar {
  width: 5px;
}

.workspace-tab-header::-webkit-scrollbar {
  height: 4px;
}

.section-content::-webkit-scrollbar-track,
.workspace-tab-header::-webkit-scrollbar-track,
.tools-panel::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.section-content::-webkit-scrollbar-thumb,
.tools-panel::-webkit-scrollbar-thumb ,
.workspace-tab-header::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.section-content::-webkit-scrollbar-thumb:hover,
.workspace-tab-header::-webkit-scrollbar-thumb:hover,
.tools-panel::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}


.mcp-header-container {
  display: flex;
  justify-content: space-between;
  align-items: top;
  margin-bottom: 1rem;
}

.mcp-header{
  display: flex;
  align-items: top;
  gap: 5px;
}

.mcp-header-text {
  display: flex;
  flex-direction: column;
}

.mcp-title {
  margin: 0;
  font-size: 18px;
  color: #1d1d1f;
  font-weight: bold;
}

.mcp-description {
  margin: 4px 0 0 0;
  font-size: 13px;
  color: #666666;
}


.auth-toggle {
    margin-bottom: 16px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-weight: 500;
    color: #2d3748;
    font-size: 13px;
}

.checkbox-label input[type="checkbox"] {
    display: none;
}

.checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #e2e8f0;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.checkbox-label input[type="checkbox"]:checked+.checkmark {
    background: #1245A8;
    border-color: #1245A8;
}

.checkbox-label input[type="checkbox"]:checked+.checkmark::after {
    content: '✓';
    color: white;
    font-weight: bold;
    font-size: 12px;
}

.auth-section {
    background: #f8f9fa;
    padding: 8px 16px;
    border-radius: 8px;
    margin-top: 8px;
    border: 1px solid #e9ecef;
}

.auth-type-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 8px;
    gap: 8px;
    margin-bottom: 12px;
}

.auth-option {
    cursor: pointer;
}

.auth-option input[type="radio"] {
    display: none;
}

.auth-option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    background: white;
    transition: all 0.3s ease;
    font-size: 12px;
    font-weight: 500;
    color: #4a5568;
}

.auth-option input[type="radio"]:checked+.auth-option-content {
    border-color: #1245A8;
    background: #e0e8fd;
    color: #1245A8;
}

.auth-option:hover .auth-option-content {
    border-color: #cbd5e0;
}

.auth-fields {
    animation: slideDown2 0.3s ease;
}

.redirect-info {
    background: #ececec;
    border: 1px solid #898989;
    border-radius: 8px;
    padding: 6px 12px;
    margin-bottom: 10px;
}

.redirect-info-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    color: #333;
    font-size: 13px;
    /* margin-left: 5px; */
}

.redirect-url-display {
    background: white;
    border: 1px solid #e0e7ff;
    border-radius: 6px;
    padding: 4px 8px;
    margin: 4px 0px;
}

.redirect-url-display code {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
    font-size: 11px;
    font-weight: 500;
    color: #1245A8;
    background: none;
    padding: 0;
}

.redirect-instruction {
    font-size: 11px;
    color: #797979;
    font-style: italic;
    margin: 0;
    margin-left: 5px;
    line-height: 1.2;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
 @keyframes slideDown2 {
     from {
         opacity: 0;
         max-height: 0;
     }

     to {
         opacity: 1;
         max-height: 500px;
     }
 }

.dashboard {
  padding: 20px;
  font-family: sans-serif;
}

.summary-cards {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.summary-card {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
  width: 23%;
  transition: transform 0.3s ease;
}

.summary-card:hover {
  transform: translateY(-5px);
}

.summary-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 20px; /* Adjust the size as needed */
}

.summary-card-icon .icon {
  width: 30px;
  height: 30px;
  /* Add more icon styles here */
  display: flex;
  justify-content: center;
  align-items: center;
}

.summary-card-icon.pink {
  background-color: #e91e63;
}

.summary-card-icon.blue {
  background-color: #2196f3;
}

.summary-card-icon.yellow {
  background-color: #ffc107;
}

.summary-card-icon.green {
  background-color: #4caf50;
}

.summary-card-title {
  font-size: 14px;
  color: #777;
}

.summary-card-value {
  font-size: 24px;
  font-weight: bold;
}

.top-performers {
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
}

.top-performers-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.top-performers-header h2 {
  font-size: 20px;
}

.top-performers-tabs {
  display: flex;
}

.top-performers-tabs button {
  background-color: transparent;
  border: none;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
}

.top-performers-tabs button.active {
  border-bottom: 2px solid #e91e63;
  color: #e91e63;
}

.agent-list {
  padding: 10px;
}

.agent-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.agent-name {
  font-size: 16px;
}

.agent-metrics {
  font-size: 14px;
  color: #777;
}

.agent-actions {
  /* Add agent actions styles here */
  display: flex;
  align-items: center;
}

.action-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin-left: 5px;
  font-size: 16px;
  color: #777;
}

.test-agent-button {
  background-color: #e91e63;
  color: white;
  border: none;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
  margin-left: 10px;
}

/* Reset Password Component Styles */
.reset-password-container {
  min-height: 90vh;
  background: linear-gradient(135deg, #ffffff 0%, #d5e5ff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2vh 5%;
  position: relative;
  overflow: hidden;
  margin-top: 10vh;
}

.background-elements {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0.1;
  background: 
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.3) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(255,255,255,0.2) 0%, transparent 50%),
    radial-gradient(circle at 60% 40%, rgba(255,255,255,0.1) 0%, transparent 50%);
  pointer-events: none;
}

.reset-password-card {
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  padding: 20px 40px;
  width: 100%;
  /* max-width: 1200px; */
  position: relative;
  z-index: 1;
  margin-top: 0;
}


/* Header Styles */
.reset-password-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  margin-top: 0;
}

.reset-password-subtitle {
  color: #666;
  line-height: 1.5rem;
  margin: 0 auto 0 auto;
  font-weight: 700;
  font-size: 20px;
}

/* Progress Stepper */
.progress-stepper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}

.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.step.active {
  opacity: 1;
}

.step-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  transition: background 0.3s ease;
}

.step.active .step-circle {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
}

.step-label {
  font-size: 12px;
  color: #666;
  text-align: center;
}

@media (max-width: 480px) {
  .progress-stepper {
    gap: 10px;
  }
  
  .step-label {
    display: none;
  }
}

/* Form Styles */
.reset-form-container {
  margin-top: 0px;
  /* width: 60%; */
  padding-inline: 30%;
  margin: auto;

}

.input-field {
  margin-bottom: 10px;
}

.input-field label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.input-wrapper input {
  width: 100%;
  padding: 8px 15px 8px 50px;
  border: 2px solid #e0e0e0;
  border-radius: 12px;
  font-size: 16px;
  background: #fff;
  transition: all 0.3s ease;
  outline: none;

}

.input-wrapper input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.input-wrapper input.error {
  border-color: #ff4757;
}

.input-icon {
  position: absolute;
  left: 16px;
  color: #667eea;
  font-size: 20px !important;
  z-index: 2;
}

.toggle-password {
  position: absolute;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  transition: color 0.3s ease;
}

.toggle-password:hover {
  color: #667eea;
}

.toggle-password svg {
  font-size: 20px !important;
}

.error-text {
  color: #ff4757;
  font-size: 12px;
  margin-top: 4px;
  display: block;
}

/* Password Strength Indicator */
.password-strength {
  margin-top: 12px;
}

.strength-bars {
  display: flex;
  gap: 2px;
  margin-bottom: 6px;
}

.strength-bar {
  height: 4px;
  flex: 1 1;
  border-radius: 2px;
  transition: background-color 0.3s ease;
}

.strength-label {
  font-size: 12px;
  font-weight: 500;
}

/* Password Requirements */
.password-requirements {
  margin-top: 10px;
  padding: 10px;
  background: rgba(102, 126, 234, 0.05);
  border-radius: 12px;
  border: 1px solid rgba(102, 126, 234, 0.1);
}

.password-requirements h4 {
  margin: 0 0 6px 0;
  font-size: 12px;
  font-weight: 500;
  color: #667eea;
}

.requirement {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
  gap: 8px;
}

.requirement:last-child {
  margin-bottom: 0;
}

.requirement-icon {
  font-size: 13px !important;
  color: #ddd;
  transition: color 0.3s ease;
}

.requirement.met .requirement-icon {
  color: #2ed573;
}

.requirement-text {
  font-size: 12px;
  color: #666;
  transition: all 0.3s ease;
}

.requirement.met .requirement-text {
  color: #2ed573;
  text-decoration: line-through;
}

/* Button Styles */
.btn-primary {
  width: 100%;
  padding: 16px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 24px;
  position: relative;
  overflow: hidden;
}

.btn-primary:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}

.btn-primary:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.btn-primary.loading::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid transparent;
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.btn-link {
  background: none;
  border: none;
  color: #667eea;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  margin: 0px;
  transition: color 0.3s ease;
}

.btn-link:hover {
  color: #764ba2;
}

.back-icon {
  font-size: 16px !important;
  font-weight: 500;
  margin: 0px;
}

.back-link {
  text-align: center;
  width: 20%;
}

/* Alert Styles */
.alert {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.4;
}

.alert.error {
  background: rgba(255, 71, 87, 0.1);
  border: 1px solid rgba(255, 71, 87, 0.2);
  color: #ff4757;
}

/* Success State */
.success-content {
  text-align: center;
  padding: 10vh 25%;
}

.success-icon {
  font-size: 30px !important;
  color: #2ed573;
  margin-bottom: 24px;
}

.success-content h2 {
  color: #2ed573;
  font-weight: 600;
  margin: 0 0 16px 0;
  font-size: 1.5rem;
}

.success-content p {
  color: #666;
  margin: 0 0 24px 0;
  line-height: 1.6;
}

.progress-bar {
  height: 6px;
  background: rgba(46, 213, 115, 0.2);
  border-radius: 3px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #2ed573, #20bf6b);
  width: 100%;
  animation: progressFill 3s ease-in-out;
}

@keyframes progressFill {
  from { width: 0%; }
  to { width: 100%; }
}

/* Loading State */
.reset-password-container.loading {
  background: #f5f5f5;
}

.loading-content {
  text-align: center;
  background: white;
  padding: 40px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.reset-loading-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #e0e0e0;
  border-top: 4px solid #667eea;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 20px;
}

.loading-content h3 {
  margin: 0;
  color: #333;
  font-weight: 600;
}

/* Error State */
.reset-password-container.error {
  background: linear-gradient(135deg, #ffffff 0%, #e6eaff 100%);
}

.error-content {
  text-align: center;
  background: rgba(255, 255, 255, 0.95);
  padding: 40px;
  border-radius: 16px;
  border: 2px solid rgba(255, 107, 107, 0.2);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 600px;
}

.error-icon {
  font-size: 64px !important;
  color: #ff6b6b;
  margin-bottom: 16px;
}

.error-content h2 {
  color: #ff6b6b;
  font-weight: 700;
  margin: 0 0 16px 0;
  font-size: 1.5rem;
}

.error-content p {
  color: #666;
  margin: 0 0 24px 0;
  line-height: 1.6;
}

/* Responsive Design */
@media (max-width: 480px) {
  .reset-password-container {
    padding: 10px;
  }
  
  .header h1 {
    font-size: 1.5rem;
  }
  
  .header-icon {
    font-size: 40px !important;
  }
  
  .input-wrapper input {
    padding: 14px 16px 14px 45px;
    font-size: 14px;
  }
  
  .input-icon {
    left: 14px;
    font-size: 18px !important;
  }
  
  .toggle-password {
    right: 14px;
  }
  
  .btn-primary {
    padding: 14px 20px;
    font-size: 14px;
  }
}

/* Focus and Accessibility */
.btn-primary:focus,
.btn-link:focus,
.toggle-password:focus {
  outline: 2px solid #667eea;
  outline-offset: 2px;
}

.input-wrapper input:focus {
  outline: none;
}

/* Smooth transitions */
* {
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
