/**
 * Copyright © network.bio, Inc. 2024–2026.
 */

:root {
    color-scheme: light dark;
    --bright-color: #ff481D;
    --transition-delay: 0.2s;
    scrollbar-color: var(--color-border-primary) transparent;
    font-family: 'ABCarizonamix', sans-serif;
    --header-height: 4rem;
    --footer-height: 3.25rem;
}

@media (prefers-color-scheme: light) {
    :root {
    --color-background-primary: #FFFFFF;
    --color-background-secondary: #F6F7F9;
    --color-background-success: #EDF7ED;
    --color-background-warning: #FFF8E6;
    --color-background-danger: #FEF2F2;
    --color-text-primary: #1A1A2E;
    --color-text-secondary: #374151;
    --color-text-success: #14532D;
    --color-text-warning: #7E4807;
    --color-text-danger: #C0392B;
    --color-border-primary: #D1D5DB;
    --color-border-secondary: #E5E7EB;
    --color-border-tertiary: #E5E7EB;
    --color-button-primary:       #1E40AF;
    --color-button-secondary:     #FFFFFF;
    --color-button-primary-disabled: #93C5FD;
    --color-text-button-primary-disabled: #FFFFFF;
    --color-text-button-primary: #FFFFFF;
    --color-text-button-secondary: #1A1A2E;
    --color-tag-background-primary: #14532D;
    --color-tag-background-secondary: #DBEAFE;
    }
}

@media (prefers-color-scheme: dark) {
    :root {
    --color-background-primary:   #1A1A1A;
    --color-background-secondary: #242424;
    --color-background-success:   #1A3300;
    --color-background-warning:   #2E2400;
    --color-background-danger:    #3B0F0F;
    --color-text-primary:         #F0F0F0;
    --color-text-secondary:       #A8B0BC;
    --color-text-success:         #4ADE80;
    --color-text-warning:         #E1A90E;
    --color-text-danger:          #F87171;
    --color-border-primary:       #333333;
    --color-border-secondary:     #2A2A2A;
    --color-border-tertiary:      #2A2A2A;
    --color-button-primary:       #93C5FD;
    --color-button-secondary:     #F6F7F9;
    --color-button-primary-disabled: #93C5FD;
    --color-text-button-primary-disabled: #FFFFFF;
    --color-text-button-primary: #1A1A2E;
    --color-text-button-secondary: #1A1A2E;
    --color-tag-background-primary: #DCFCE7;
    --color-tag-background-secondary: #1E3A8A;
    }
}

body {
    background-color: var(--color-background-primary);
    font-size: 1.25rem;
    line-height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

main {
    color: var(--color-text-primary);
    flex-grow: 1;
    flex-shrink: 0;
}

a {
    color: var(--color-button-primary);
    text-decoration: none;
}

a:hover, a:focus, a:active {
    color: var(--color-text-secondary);
    text-decoration: none;
}

h2 {
    font-weight: 500;
    font-size: 1.5rem;
}
h3 {
    font-weight: 500;
    font-size: 1rem;
}
h4 {
    font-weight: 400;
    font-size: 1rem;
}

h1 {
    font-weight: 300;
    font-size: 3rem;
    color: var(--color-text-primary);
    letter-spacing: -1px;
    line-height: 110%;
}

img, svg {
    display: inline-block;
    vertical-align: middle;
}

.page-header {
    padding: 1.5rem;
    background-color: var(--color-background-primary);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    border-bottom: 0.0625rem solid var(--color-border-secondary);
}

.main-content {
    background-color: var(--color-background-secondary);
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 1.5rem;
}

.section-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    font-size: 1rem;
    color: var(--color-text-primary);
    border-color: var(--color-border-primary);
    line-height: 1.5rem;
}

p {
    font-weight: 200;
}

label, input {
    display: block;
}
label {
    font-weight: 500;
}
input {
    margin-bottom: 0.75rem;
}

@font-face {
  font-family: 'Abcarizonamix';
  src: url('https://uploads-ssl.webflow.com/63d2dd031098720bdab92eb2/63d2ddb9eed734c8d4e3a950_ABCArizonaMix-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

table {
    border-spacing: 0.25rem;
}

table {
    color: var(--color-text-primary);
}

li:not(:last-child) { 
   margin-bottom: 0.5rem;
}

button {
    border-radius: 0.125rem;
    background-color: var(--color-background-secondary);
    color: var(--color-text-primary);
    border: 0.125rem solid var(--color-border-primary);
    padding: 0.125rem 0.325rem;
}

.loading-indicator{
    display:none;
}
.htmx-request .loading-indicator,
.htmx-request.loading-indicator{
    display:block;
}

.enrichment-plot {
    visibility: hidden;
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%;
}

.enrichment-plot.visible {
    visibility: visible;
}

.gene-set-dropdown-73a6d23 {
    display: flex;
    padding-left: 1rem;
}

.gene-set-selection-73a6d23::part(form-control-label) {
    font-size: 0.875rem;
}

.gene-set-selection-73a6d23::part(display-input) {
    font-size: 0.875rem;
}

.gene-set-selection-option-73a6d23::part(base) {
    font-size: 0.875rem;
    overflow: hidden;
}

.enrichment-plot-container-73a6d23 {
    position: relative;
    min-height: 26rem;
}

.button-content-9ef06c7 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.button-icon-9ef06c7 {
    width: 1rem;
    height: 1rem;
    color: var(--color-text-button-primary);
}

.primary-9ef06c7 {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background-color: var(--color-button-primary);
    color: var(--color-text-button-primary);
    cursor: pointer;
}

.secondary-9ef06c7 {
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background-color: var(--color-button-secondary);
    color: var(--color-text-button-secondary);
    border: 0.0625rem solid var(--color-border-primary);
}

.action-header-1ba8cf8 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
}

.action-header-border-1ba8cf8 {
    border-bottom: 0.0625rem solid var(--color-border-primary);
}

.action-header-padding-1ba8cf8 {
    padding: 1.5rem;
}

@media screen and (max-width: 600px) {
    .action-header-1ba8cf8 {
        padding: 1.5rem 0;
        flex-direction: column;
        align-items: flex-start;
    }
}

.action-header-title-1ba8cf8 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    flex: 1 0 0;
}

.action-header-title-text-1ba8cf8 {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2rem;
    margin: 0;
}

.action-header-sub-title-1ba8cf8 {
    font-size: 1rem;
    line-height: 1.5rem;
    margin: 0;
}

.action-header-buttons-1ba8cf8 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.assistant-card-c66b3b5 {
    width: 19rem;
    border-radius: 0.875rem;
    border: 0.0625rem solid var(--color-border-primary);
}

.assistant-card-content-c66b3b5 {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    gap: 1rem;
}

.assistant-card-header-c66b3b5 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.logo-c66b3b5 {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
}

@media (prefers-color-scheme: dark) {
    .logo-c66b3b5 {
        background-color: var(--color-text-primary);
    }
}

.assistant-card-text-c66b3b5 {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.assistant-card-name-c66b3b5 {
    font-size: 1rem;
    color: var(--color-text-primary);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.assistant-card-description-c66b3b5 {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.chat-box-93a6b2f {
    display: flex;
    box-sizing: border-box;
    flex-direction: column;
    font-size: 1rem;
    padding: 1rem 0 0 0;
    height: 100%;
}

.chat-box-centered-93a6b2f {
    justify-content: center;
}

.chat-box-bottom-93a6b2f {
    justify-content: flex-end;
}

.messages-container-93a6b2f {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    overflow-y: scroll;
}

.message-input-container-93a6b2f {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border: 0.0625rem solid var(--color-border-primary);
    background: var(--color-background-primary);
    border-radius: 1.5rem;
    margin: 0;
}

.input-box-93a6b2f {
    width: 100%;
}

.input-box-93a6b2f::part(base) {
    border: 0;
    box-shadow: none;
    border-radius: 1.5rem;
}

.input-box-93a6b2f::part(textarea) {
    background-color: var(--color-background-primary);
    border-radius: 1.5rem;
}

.tag-container-93a6b2f {
    padding: 1rem 0 0 1rem;

}

.input-and-button-container-93a6b2f {
    align-items: center;
    display: flex;
    padding-left: 0.5rem;
}

.send-button-wrapper-93a6b2f {
    display: flex;
    justify-content: flex-end;
    padding: 0.5rem;
}

.send-icon-93a6b2f {
    color: var(--color-background-primary);
    background-color: var(--color-text-primary);
    font-size: 2.25rem;
    border-radius: 10rem;
}

sl-button.send-button-93a6b2f::part(base) {
    background-color: var(--color-background-primary);
    border: none;
    align-items: center;
}

.loading-messages-container-93a6b2f {
    font-weight: 500;
    color: transparent;

    background-image: linear-gradient(
        90deg,
        var(--color-text-primary) 25%,
        var(--color-text-secondary) 37%,
        var(--color-text-primary) 63%
    );
    background-size: 400% 100%;
    background-position: 100% 0;

    -webkit-background-clip: text;
    background-clip: text;

    animation: shimmer 1.8s ease-in-out infinite;
    }

    @keyframes shimmer {
    0% {
        background-position: 100% 0;
    }
    100% {
        background-position: 0% 0;
    }

}

.empty-state-93a6b2f {
    font-size: 2rem;
    text-align: center;
    padding: 1rem;
    line-height: 2rem;
}


.container-3b66801 {
    display: flex;
    height: 38rem;
    padding: 1.5rem;
    align-items: flex-start;
    border-radius: 0.875rem;
    background-position: center;
    background-size: cover;
}

.banner-3b66801 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 1rem;
    flex: 1 0 0;
    justify-content: space-between;
    border-radius: 0.875rem;
    background-color: hsl(from var(--color-background-primary) h s l / 0.5); 
}

.text-3b66801 {
    display: flex;
    gap: 0.5rem;
    flex-direction: column;
}

.tags-3b66801 {
    display: flex;
    flex-direction: row;
    gap: 0.25rem;
}

.header-3b66801 {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    color: var(--color-text-primary);
}

.name-3b66801 {
    font-size: 1.5rem;
    color: var(--color-text-primary);
    margin: 0;
}

.description-3b66801 {
    font-size: 0.875rem;
    color: var(--color-text-primary);
}

.view_button-3b66801 {
    display: flex;
    font-size: 0.875rem;
    align-items: center;
}

.arrow-right-3b66801 {
    margin-left: 0.5rem;
}

.biobank-card-36af455 {
    width: 19rem;
    border-radius: 0.875rem;
    border: 0.0625rem solid var(--color-border-primary);
}

.biobank-card-link-36af455 {
    text-decoration: none;
}

.biobank-card-content-36af455 {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    gap: 1rem;
}

.logo-36af455 {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
}

@media (prefers-color-scheme: dark) {
    .logo-36af455 {
        background-color: var(--color-text-primary);
    }
}

.biobank-card-header-36af455 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.biobank-card-text-36af455 {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.biobank-card-name-36af455 {
    font-size: 1rem;
    color: var(--color-text-primary);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.biobank-card-description-36af455 {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.biobank-card-location-36af455 {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
}

.biobank-card-location-icon-36af455 {
    width: 1rem;
    height: 1rem;
    color: var(--color-text-secondary);
}

.biobank-card-footer-36af455 {
    border-top: 0.0625rem solid var(--color-border-primary);
    padding: 1rem;
    overflow: scroll;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}


.breadcrumb-list-eb47361 {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 500;
}

.breadcrumb-item-eb47361 {
    margin: 0;
}

.breadcrumb-separator-eb47361 {
    margin: 0 0.5rem;
}

.linked-breadcrumb-eb47361 {
    color: var(--color-button-primary);
}

.unlinked-breadcrumb-eb47361 {
    color: var(--color-text-primary);
}

.carousel-46ddeb2 {
    padding: 1.5rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

@media screen and (max-width: 600px) {
    .carousel-46ddeb2 {
        justify-content: center;
    }
}


.chat-loading-container-6d0e526 {
    margin-right: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.chat-loading-bubble-6d0e526 {
    background-color: var(--color-background-secondary);
    display: flex;
    height: 2rem;
    align-items: center;
    gap: 0.25rem;
    border-radius: 1rem;
    padding: 0.5rem 1rem;
}

.chat-loading-dot-6d0e526 {
    background-color: var(--color-text-primary);
    height: 0.375rem;
    width: 0.375rem;
    border-radius: 9999px;
    animation: chat-loading-pulse 1.5s ease-in-out infinite;
}

.chat-loading-dot-2-6d0e526 {
    animation-delay: 0.5s;
}

.chat-loading-dot-3-6d0e526 {
    animation-delay: 1s;
}

@keyframes chat-loading-pulse {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}


.user-message-d7d1f12 {
    display: flex;
    align-items: center;
    margin-left: auto;
    background-color: var(--color-tag-background-secondary);
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    line-height: 1.75rem;
}

.assistant-message-d7d1f12 {
    display: flex;
    align-items: flex-start;
    margin-right: auto;
    padding: 0.5rem 1rem;
    line-height: 1.75rem;
    flex-direction: column;
}

.error_message-d7d1f12 {
    color: var(--color-text-danger);
}

.container-2409128 {
    display: flex;
    align-items: flex-start;
    margin-right: auto;
}


.left-hand-nav-241e8c9 {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 18rem;
    height: calc(100vh - var(--header-height) - var(--footer-height) - 4rem);
    overflow-y: scroll;
}

.header-buttons-241e8c9 {
    display: flex;
    flex-direction: column;
    padding: 0.5rem;
}

.header-button-241e8c9 {
    font-size: 2.25rem;
}

.header-button-241e8c9::part(base) {
    border: none;
    justify-content: flex-start;
    background-color: var(--color-background-primary);
}

.header-icon-241e8c9 {
    font-size: 1rem;
    color: var(--color-text-primary);
}

.chat-list-header-241e8c9 {
    font-size: 0.875rem;
    padding: 0.5rem;
}

.chat-tree-241e8c9 {
    --indent-size: 0;
}

.chats-history-list-241e8c9 {
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
}

.chat-list-item-241e8c9 {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 12rem;
}


.chat-box-587d7e7 {
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 0;
}

.messages-container-587d7e7 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    max-height: 24rem;
    overflow-y: scroll;
}

.input-container-587d7e7 {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-color: var(--color-border-primary);
    background-color: var(--color-background-primary);
    border-radius: 0.5rem;
}

.input-box-587d7e7::part(base) {
    border: 0;
    box-shadow: none;
}

.input-box-587d7e7::part(textarea) {
    border-radius: 0.5rem 0.5rem 0 0;
    background-color: var(--color-background-primary);
}

.send-button-wrapper-587d7e7 {
    display: flex;
    justify-content: flex-end;
    padding: 0.5rem;
}

.container-b2d4b34 {
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    max-width: 48rem;
    padding: 1rem 0;
}


.count-summary-card-61c18fc {
    display: flex;
    flex-direction: column;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    gap: 0.25rem;
    background-color: var(--color-background-primary);
    flex: 1;
    color: var(--color-text-secondary)
}

.count-summary-card-warning-61c18fc {
    background-color: var(--color-background-warning);
    color: var(--color-text-warning);
}

.count-summary-card-success-61c18fc {
    background-color: var(--color-background-success);
    color: var(--color-text-success);
}

.count-summary-card-title-61c18fc {
    font-size: 0.75rem;
}

.count-summary-card-count-61c18fc {
    font-size: 1.25rem;
    font-weight: 500;
}

.empty-state-a112098 {
    margin: 1.5rem;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    border-radius: 0.625rem;
    border: 0.0625rem dashed var(--color-border-primary);
}

.empty-state-icon-wrapper-a112098 {
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    border: 0.0625rem solid var(--color-border-primary);
}

.empty-state-icon-a112098 {
    color: var(--color-text-primary);
}

.empty-state-text-a112098 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.empty-state-text-title-a112098 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 500;
}

.empty-state-text-description-a112098 {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.empty-state-actions-a112098 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

@media screen and (max-width: 600px) {
    .empty-state-actions-a112098 {
        flex-direction: column;
        width: 100%;
        align-items: stretch;
    }
}

.empty-state-no-actions-a112098 {
    height: 2.25rem;
}

.indication-card-6a26775 {
    width: 19rem;
    border-radius: 0.875rem;
    border: 0.0625rem solid var(--color-border-primary);
}

.indication-card-link-6a26775 {
    text-decoration: none;
}

.indication-card-content-6a26775 {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    gap: 1rem;
}

.logo-6a26775 {
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
}

@media (prefers-color-scheme: dark) {
    .logo-6a26775 {
        background-color: var(--color-text-primary);
    }
}

.indication-card-header-6a26775 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.indication-card-text-6a26775 {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.indication-card-ta-6a26775 {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
}

.indication-card-name-6a26775 {
    font-size: 1rem;
    color: var(--color-text-primary);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.indication-card-footer-6a26775 {
    border-top: 0.0625rem solid var(--color-border-primary);
    padding: 1rem;
    overflow: scroll;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}


.nav-menu-add5833 {
    display: inline-block;
    font-size: 1.125rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.nav-list-add5833 {
    list-style: none;
}

.nav-button-add5833::part(base) {
    background-color: var(--color-background-primary);
    border: none;
}

.nav-button-selected-add5833::part(base) {
    background-color: hsl(from var(--color-button-primary) h s l / 0.1); 
    border: none;
    color: var(--color-button-primary);
}

.account-icon-add5833 {
    color: var(--color-text-primary);
    font-size: 1.5rem;
}

sl-button.account-button-add5833::part(base) {
    background-color: var(--color-background-primary);
    border: var(--color-border-primary) 0.0625rem solid;
    justify-content: center;
}

@media screen and (max-width: 600px) {
    .nav-menu-add5833, .account-nav-add5833 {
        display: none;
    }
}

.nav-menu-mobile-add5833 {
    margin-left: auto;
}

.menu-icon-add5833 {
    color: var(--color-text-primary);
    font-size: 2rem;
    padding: 0.5rem 0;
}

sl-button.menu-button-add5833::part(base) {
    background-color: var(--color-background-primary);
    border: none;
}

.menu-dropdown-add5833 {
    width: 100vw;
}

sl-menu-item.user-display-name-item-add5833::part(base) {
    opacity: 0.9;
}

.menu-item-add5833 {
    width: 100%;
    color: var(--color-text-primary);
}

@media screen and (min-width: 600px) {
    .nav-menu-mobile-add5833 {
        display: none;
    }
}

.extra-buttons-add5833 {
    display: flex;
    gap: 0.5rem;
}

.account-extra-buttons-container-add5833 {
    display: flex;
    align-items: center;
    margin-left: auto;
    margin-right: 0;
    gap: 0.5rem;
}

@media screen and (max-width: 600px) {
    .web-table-container-f3cd857 {
        display: none;
    }
}

@media screen and (min-width: 601px) {
    .mobile-table-container-f3cd857 {
        display: none;
    }
}

.stacked-table-2877658 {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-top: 0.0625rem solid var(--color-border-primary);
}


.stacked-table-row-2877658 {
    border-bottom: 0.0625rem solid var(--color-border-primary);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 2.25rem 0;
}

.stacked-table-row-name-2877658 {
    font-weight: 500;
    color: var(--color-text-primary);
}

.stacked-table-header-2877658 {
    font-weight: 500;
    color: var(--color-text-secondary);
}

.stacked-table-content-2877658 {
    color: var(--color-text-secondary);
}

.empty-table-2877658 {
    font-style: italic;
}

.study-card-7240118 {
    width: 19rem;
    border-radius: 0.875rem;
    border: 0.0625rem solid var(--color-border-primary);
}

.study-card-link-7240118 {
    text-decoration: none;
}

.study-card-content-7240118 {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    gap: 1rem;
}

.study-icon-7240118 {
    width: 1.5rem;
    height: 1.5rem;
}

.study-card-header-7240118 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.study-card-text-7240118 {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.study-card-name-7240118 {
    font-size: 1rem;
    color: var(--color-text-primary);
    font-weight: 500;
}

.study-card-description-7240118 {
    font-size: 0.875rem;
    color: var(--color-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.study-card-footer-7240118 {
    border-top: 0.0625rem solid var(--color-border-primary);
    padding: 1rem;
    overflow: scroll;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.tab-with-icon-a0c8577 {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.tab-a0c8577[aria-selected="true"]::part(base) {
    color: var(--color-button-primary)
} 

.table-f5c5344 {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
    border-spacing: 0;
    table-layout: fixed;
}

.table-header-f5c5344 {
    text-align: left;
    font-weight: 500;
}

@media screen and (max-width: 600px) {
    .table-header-f5c5344 {
        display: none;
    }
}

.table-header-f5c5344 th {
    padding: 1.5rem 0;
    border-top: 0.0625rem solid var(--color-border-primary);
    border-bottom: 0.0625rem solid var(--color-border-primary);
    color: var(--color-text-primary);
}

.table-row-f5c5344 > td:nth-child(1) {
    font-weight: 500;
    color: var(--color-text-primary);
}

.table-row-f5c5344 > td:not(:first-child) {
    font-weight: 400;
    color: var(--color-text-secondary);
}

.table-row-f5c5344 > td {
    padding: 1.5rem 0;
    border-bottom: 0.0625rem solid var(--color-border-primary);
}

.empty-table-f5c5344 {
    text-align: center;
    font-style: italic;
}

.tag-5dc9998 {
    padding: 0.125rem 0.5rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    max-width: fit-content;
    text-wrap: nowrap;
    font-weight: 500;
}

.primary-tag-5dc9998 {
    color: var(--color-text-button-primary);
    background-color: var(--color-tag-background-primary);
}

.secondary-tag-5dc9998 {
    color: var(--color-text-primary);
    background-color: var(--color-tag-background-secondary);
}

.visualization-card-e964a7d {
    display: flex;
    flex-direction: column;
    border-radius: 0.5rem;
    gap: 0.25rem;
    background-color: var(--color-background-secondary);
    flex: 1;
    border: var(--color-border-primary) solid 0.0625rem;
    overflow: hidden;
}

.visualization-card-long-e964a7d {
    max-height: 120rem;
}

.visualization-card-short-e964a7d {
    max-height: 32rem;
}


.visualization-card-header-e964a7d {
    display: flex;
    flex-direction: column;
    padding: 1rem;
}

.visualization-card-title-e964a7d {
    font-size: 0.875rem;
    color: var(--color-text-primary);
    margin: 0;
}

.visualization-card-subtitle-e964a7d {
    font-size: 0.75rem;
    color: var(--color-text-secondary);
    margin: 0;
}

.chat-wrapper-fd684d8 {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    gap: 1rem;
    container-type: inline-size;
}

.mobile-assistant-history-drawer-fd684d8 {
    --size: 100%;
}

sl-drawer.mobile-assistant-history-drawer-fd684d8::part(panel) {
    background-color: var(--color-background-primary);
}

.close-button-container-fd684d8 {
    display: flex;
    justify-content: flex-end;
}

.chat-and-button-container-fd684d8 {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    height: calc(100vh - var(--header-height) - var(--footer-height) - 4rem);
}

.drawer-toggle-fd684d8 {
    align-self: start;
}

.drawer-toggle-fd684d8::part(label) {
    align-content: center;
}

.buttons-container-fd684d8 {
    display: flex;
    justify-content: space-between;
    height: 2.25rem;
}

@container (max-width: 600px) {
    .web-assistant-history-container-fd684d8 {
        display: none;
    }

    .chat-and-button-container-fd684d8 {
        height: 100%;
    }
}

@container (min-width: 601px) {
    .buttons-container-fd684d8 {
        display: none;
    }

    .mobile-assistant-history-drawer-fd684d8 {
        display: none;
    }
}


.chat-container-fd684d8 {
    padding: 1rem;
    flex: 1;
    flex-direction: column;
    background-color: var(--color-background-secondary);
    border-radius: 0.875rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: calc(100% - 2.25rem - 0.5rem);
}

.chat-box-fd684d8 {
    max-width: 48rem;
    flex: 1;
    height: 100%;
    width: 100%;
}

.header-icon-fd684d8 {
    font-size: 1rem;
    color: var(--color-text-primary);
}

#header {
    height: var(--header-height);
    padding: 0 1.5rem;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 0.0625rem solid var(--color-border-primary);
    background-color: var(--color-background-primary);
}

.header-container-4733357 {
    height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.copyright-4733357 {
    margin: 0;
    font-size: 1rem;
    font-weight: 300;
    color: var(--color-text-primary);
}

footer {
    border-top: 0.0625rem solid var(--color-border-primary);
    height: var(--footer-height);
}

#footer-bottom {
    display: flex;
    padding: 1rem;
    justify-content: space-between;
}

#icon {
    height: 2rem;
    width: 2rem;
}

.main-content-bc776ca {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    height: 100%;
    box-sizing: border-box;
    justify-content: center;
}


.sample-selection-a3671ea {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
    overflow-x: scroll;
}

.empty-sample-selection-a3671ea {
    font-size: 0.875rem;
}

.summary-counts-container-9f9677f {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    padding: 1rem 0;
    justify-content: space-evenly;
}

@media screen and (max-width: 600px) {
    .summary-counts-container-9f9677f {
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.5rem 0;
    }
}

.two-column-container-9f9677f {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 1rem;
}

@media screen and (max-width: 600px) {
    .two-column-container-9f9677f {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

.sample-selection-container-9f9677f {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
    flex-shrink: 0;
}

.sample-filters-9f9677f {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

@media screen and (max-width: 600px) {
    .sample-filters-9f9677f {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

.sample-filter-9f9677f::part(form-control-label) {
    font-size: 0.875rem;
}

.sample-filter-9f9677f::part(display-input) {
    font-size: 0.875rem;
}

.sample-filter-option-9f9677f::part(base) {
    font-size: 0.875rem;
}

.umap-spatial-wrapper-9f9677f {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.umap-spatial-plots-9f9677f {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.plot-container-9f9677f {
    flex: 1;
    min-height: 0;
}

.sample-filters-a5ffae3 {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: flex-end;
}

@media screen and (max-width: 600px) {
    .sample-filters-a5ffae3 {
        flex-direction: column;
        gap: 0.5rem;
        align-items: normal;
    }
}

.sample-filter-a5ffae3::part(form-control-label) {
    font-size: 0.875rem;
}

.sample-filter-a5ffae3::part(display-input) {
    font-size: 0.875rem;
}

.sample-filter-option-a5ffae3::part(base) {
    font-size: 0.875rem;
}

.clustering-plots-container-a5ffae3 {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.two-column-container-a5ffae3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 1rem;
}

@media screen and (max-width: 600px) {
    .two-column-container-a5ffae3 {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

.spinner-container-a5ffae3 {
    display: flex;
    justify-content: center;
    font-size: 4rem;
    padding: 10rem 2rem;
}

.tabulator {
    background-color: var(--color-background-secondary) !important;
    border: 0.0625rem solid var(--color-border-tertiary) !important;
    border-top: none !important;
    border-bottom: none !important;
    border-radius: 0 0 0.5rem 0.5rem !important;
}

.tabulator .tabulator-header {
    background-color: var(--color-background-primary) !important;
    border: 0.0625rem solid var(--color-border-tertiary) !important;
    border-left: none !important;
    border-right: none !important;
    color: var(--color-text-secondary) !important;
}

.tabulator .tabulator-header .tabulator-col {
    background-color: var(--color-background-primary) !important;
    border-right: none !important;
}

.tabulator .tabulator-header .tabulator-col .tabulator-col-content {
    padding: 0.5rem !important;
}

.tabulator-row .tabulator-cell {
    border-bottom: 0.0625rem solid var(--color-border-tertiary) !important;
    border-right: none !important;
    padding: 0.5rem 0.625rem !important;
    color: var(--color-text-secondary) !important;
}

.tabulator-row-even {
    background-color: var(--color-background-primary) !important;
}

.tabulator-row-odd {
    background-color: var(--color-background-secondary) !important;
}


.summary-counts-container-e3308e0 {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    padding: 1rem 0;
    justify-content: space-evenly;
}

@media screen and (max-width: 600px) {
    .summary-counts-container-e3308e0 {
        flex-direction: column;
        gap: 0.5rem;
        padding: 0.5rem 0;
    }
}

.two-column-container-e3308e0 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    gap: 1rem;
}

@media screen and (max-width: 600px) {
    .two-column-container-e3308e0 {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }
}

.plot-container-e3308e0 {
    flex: 1;
    min-height: 0;
}

.tab-content-b4cfa25 {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

body:has(sl-drawer[open]) {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

.prospective-studies-learn-more-5147b53 {
    margin: 1rem 0.5rem;
    text-decoration: underline;
}

.enrollment-footer-5147b53 {
    font-size: 1rem;
    margin-top: 2rem;
}

sl-button.ai-chat-button-5147b53::part(base) {
    background-color: var(--color-background-primary);
    border: var(--color-border-secondary) 0.0625rem solid;
    font-size: 1rem;
    color: var(--color-text-primary);
}

sl-drawer.biobank-chat-drawer-5147b53::part(panel) {
    background-color: var(--color-background-primary);
}

.biobank-chat-drawer-5147b53 {
    --size: 28rem;
}

@media screen and (max-width: 600px) {
    .biobank-chat-drawer-5147b53 {
        --size: 100%;
    }
    .biobank-chat-drawer-5147b53::part(body) {
        height: 100dvh;
    }
}

.header-icon-5147b53 {
    font-size: 1rem;
    color: var(--color-text-primary);
}

.header-button-5147b53 {
    align-self: start;
}

.header-button-5147b53::part(label) {
    align-content: center;
}

.section-container-959197b {
    padding: 1.5rem;
}

@media screen and (max-width: 600px) {
    .section-container-959197b {
        padding: 0.5rem 0;
    }
}


#map {
    height: 42rem;
}

.missing-biobanks-354eebf {
    font-style: italic;
}

/* The biobank map styles need to be global since they are hardcoded in the map script and won't be processed by stylance */
.custom-div-icon {
    background: transparent;
    border: none;
}

.biobank-marker {
    background-color: var(--color-background-secondary);
    border: 0.125rem solid var(--color-border-primary);
    border-radius:50%;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
}

/* Override attribution styles for accessibility */
.leaflet-control-attribution {
    background-color: var(--color-background-primary) !important;
    color: var(--color-text-primary) !important;
}

.leaflet-control-attribution a {
    color: var(--color-text-primary) !important;
}

.login-header-873c69b {
    font-size: 4.5rem;
    line-height: 4.625rem;
    color: var(--color-text-primary);
}

p.large-873c69b {
    font-size: 1.5rem;
    line-height: 1.75rem;
    margin-top: 0;
}

.left-content-873c69b {
    max-width: 37.5rem;
    padding: 2rem 4rem;
}

.full-width-873c69b {
    flex-grow: 1;
    background-color: var(--color-background-primary);
}

.flex-vertical-center-873c69b {
    display: flex;
    align-items: center;
}

#login {
    width: 16rem;
    padding: 0.25rem 1rem 1rem 1rem;
    margin: 1rem auto;
}

.border-873c69b {
    border: 0.0625rem var(--color-border-primary) solid;
    border-radius: 0.5rem;
}

.flex-left-873c69b {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.menu-button-a5a6033::part(label) {
    padding: 0;
}

.menu-button-a5a6033 {
    background-color: var(--color-background-primary);
}

.menu-icon-a5a6033 {
    color: var(--color-text-primary);
    font-size: 1rem;
    padding: 0.5rem;
    background-color: var(--color-background-primary);
    border-radius: 0.25rem;
}

.menu-a5a6033 {
    background-color: var(--color-background-primary);
    border: 0.0625rem solid var(--color-border-secondary);
    border-radius: 0.25rem;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}

.edit-study-dialog-a5a6033::part(panel) {
    background-color: var(--color-background-primary);
}

.edit-study-dialog-a5a6033::part(title) {
    font-size: 1.5rem;
    font-weight: 500;
}

.edit-study-label-a5a6033 {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.edit-study-input-a5a6033 {
    font-size: 1rem;
    padding: 0.5rem;
    border: 1px solid var(--color-border-primary);
    border-radius: 0.25rem;
    margin-bottom: 1rem;
    font-family: 'ABCarizonamix', sans-serif;
    width: 100%;
    background-color: var(--color-background-secondary);
}

.cancel-button-a5a6033::part(base) {
    font-size: 0.875rem;
    border-radius: 0.5rem;
    background-color: var(--color-button-secondary);
    color: var(--color-text-button-secondary);
    border: 0.0625rem solid var(--color-border-primary);
    line-height: 1.25rem;
}

.cancel-button-a5a6033::part(label) {
    padding: 0.5rem 1rem;
}

.save-button-a5a6033::part(base) {
    font-size: 0.875rem;
    border-radius: 0.5rem;
    background-color: var(--color-button-primary);
    color: var(--color-text-button-primary);
    line-height: 1.25rem;
}

.save-button-a5a6033::part(label) {
    padding: 0.5rem 1rem;
}

.edit-study-option-a5a6033 {
    font-size: 1rem;
    color: var(--color-text-primary);
    font-family: 'ABCarizonamix', sans-serif;
}