.hamburger-btn {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 1000;
    /* background: #1e293b; */
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s;
    outline: none;
}

.hamburger-btn:hover {
    background: #334155;
}

.hamburger-btn:focus {
    outline: none;
}

.hamburger-icon,
.close-icon {
    width: 100%;
    height: 100%;
    stroke: white;
    /* stroke-width: 2; */
    fill: none;
    transition: opacity 0.3s;
}

.hamburger-icon {
    opacity: 1;
    outline: none;
}

.close-icon {
    opacity: 0;
    position: absolute;
    stroke-width: 2;
    background: #6b7280;
    border-radius: 20%;
}

.hamburger-btn.active .hamburger-icon {
    opacity: 0;
}

.hamburger-btn.active .close-icon {
    opacity: 1;
}

.overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 51;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

#header-overlay {
    z-index: 51;
}

.overlay.active {
    opacity: 1;
    pointer-events: auto;
}

main,
header,
footer {
    /* min-width: 100vw; */
    /* max-width: 100vw; */
    width: 100%;
}

.menu {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 40%;
    max-width: 0px;
    background: white;
    z-index: 900;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
    overflow-y: auto;
    padding-right: 0;
}

.menu.active {
    transform: translateX(0);
    max-width: 320px;
    padding-right: 1rem;
}

.menu-content {
    height: 95%;
    padding-top: 96px;
    padding-left: 24px;
    padding-right: 24px;
}

.menu ul {
    height: 100%;
    list-style: none;
}

.menu-item {
    margin-bottom: 8px;
}

.menu-link {
    display: block;
    padding: 12px 16px;
    color: #334155;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 500;
    transition: background-color 0.2s;
}

.menu-link:hover {
    background: #f1f5f9;
}

.accordion-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    color: #334155;
    background: none;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.2s;
    text-align: left;
}

.accordion-btn:focus {
    outline: none;
}

.accordion-btn:hover {
    background: #f1f5f9;
}

.chevron {
    width: 20px;
    height: 20px;
    stroke: #334155;
    stroke-width: 2;
    fill: none;
    transition: transform 0.3s;
}

.accordion-btn.active .chevron {
    transform: rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition:
        max-height 0.3s ease-out,
        opacity 0.3s;
    opacity: 0;
}

.accordion-content.active {
    max-height: 500px;
    opacity: 1;
}

.thin-blue-scrollbar {
    /* Enable scrolling */
    overflow-y: auto;
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: #007bff #f1f1f1; /* Firefox: thumb + track colors */
}

/* Chrome, Edge, Safari */
.thin-blue-scrollbar::-webkit-scrollbar {
    width: 6px; /* thin scrollbar */
}

.thin-blue-scrollbar::-webkit-scrollbar-track {
    background: #f1f1f1; /* track color */
}

.thin-blue-scrollbar::-webkit-scrollbar-thumb {
    background-color: #007bff; /* blue thumb */
    border-radius: 3px; /* rounded edges */
}

.thin-blue-scrollbar::-webkit-scrollbar-thumb:hover {
    background-color: #0056b3; /* darker blue on hover */
}

#main-container.menu-active {
    overflow: hidden;
    pointer-events: none; /* blocks clicks on main content */
    filter: blur(2px);
}

#main-container {
    transition: filter 0.3s ease;
}

#de8dfa9ed8c42e8afd3ea80db8110e0 {
    background-image: url("https://cdn-new.gov-cloud.ai/_ENC(4+j2JOgE1QQdq6yO427Uztql2TlqlMwKUOg5QJcVQ5XUgB/GP4/J5WLrrqWMDU3q)/MAC/9206af08-2606-4842-b6cf-5774488955d9_$$_V1_Screenshot%202025-10-10%20203146.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#daad208-5b8f-42ae-8e7e-564b40fb4876 .background {
    background-image: url("https://cdn-new.gov-cloud.ai/_ENC(zb1bHrOhcui65V6FALbz23Izjy/gkhGnG+BYF910t7wo4AHsY/uYfxuotV/5lfQ6)/CMS/fdd44a4f-ab7e-4352-a81e-3deef2e2d72a_$$_V1_Ellipse%202.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; /* or 'contain' depending on your need */
}

#id1044d7bb69794c05a85931791ab30dc2 {
    /* background-image: url("https://cdn-new.gov-cloud.ai/_ENC(4+j2JOgE1QQdq6yO427Uztql2TlqlMwKUOg5QJcVQ5XUgB/GP4/J5WLrrqWMDU3q)/MAC/3ca1eb1d-016c-4c59-934a-a3aabb895727_$$_V1_7e62165bcabfb919533d5894c38be85d490250a9.png"); */
    background-image: url("https://cdn-new.gov-cloud.ai/_public/marketplace/e68502f8-081a-4289-9d85-e782d78d34fe_$$_V1_Image+Background.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#fd986ed3-42e4-480c-b431-61e439aa3f76 {
    /* background-image: url("https://cdn-new.gov-cloud.ai/_ENC(4+j2JOgE1QQdq6yO427Uztql2TlqlMwKUOg5QJcVQ5XUgB/GP4/J5WLrrqWMDU3q)/MAC/35de194a-72dc-4d3e-81f1-ba831f679416_$$_V1_23ad63343145d9f9d99722b3dc617f8fb8b9f560%20(1).png"); */
    /* background-image: url("https://cdn-new.gov-cloud.ai/_public/marketplace/f6081ed7-ced4-4818-90c4-b9e7b836e0c8_$$_V1_23ad63343145d9f9d99722b3dc617f8fb8b9f560_11zon.webp"); */
    background-image: url("/static/assets/webp/foooter-lower-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media (max-width: 768px) {
    .hover-card {
        display: none !important;
        position: absolute !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        overflow: hidden !important;
    }

    .menu {
        width: 100%;
        transform: translateX(100%);
    }
}

.truncate-3-lines {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.user-avatar-wrapper {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.initials-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}
.avatar-wrapper {
    width: 20px;
    height: 20px;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 600;
    overflow: hidden;
}

.avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* number of lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.truncate-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Apply to any parent container */
.text-on-media {
  color: #ffffff;
}

/* Text shadow for all text-like elements */
.text-on-media,
.text-on-media * {
  color: #ffffff;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.9),
    0 3px 6px rgba(0, 0, 0, 0.6);
}

/* Optional stroke for large headings (supported browsers) */
.text-on-media h1,
.text-on-media h2,
.text-on-media h3 {
  -webkit-text-stroke: 0.6px rgba(0, 0, 0, 0.85);
}

/* Apply to any parent container */
.text-on-media-invert {
  color: #ffffff;
}

/* Text shadow for all text-like elements */
.text-on-media-invert,
.text-on-media-invert * {
  color: #ffffff;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.9),
    0 3px 6px rgba(0, 0, 0, 0.6);
}

/* Optional stroke for large headings (supported browsers) */
.text-on-media-invert h1,
.text-on-media-invert h2,
.text-on-media-invert h3 {
  -webkit-text-stroke: 0.6px rgba(0, 0, 0, 0.85);
}

/* Hide scrollbar but allow scrolling */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;  /* IE / Edge */
  scrollbar-width: none;     /* Firefox */
}


@media (min-width: 640px) {
    .connected-cards-table .table-container {
      flex: 1;
      min-height: 0;
    }
    .connected-cards-table .table-container > .overflow-auto {
      flex: 1;
      min-height: 0;
      overflow: auto;
    }
  }