@import '_content/BaseClasses/BaseClasses.2drb12zdzo.bundle.scp.css';
@import '_content/Blazor.Bootstrap/Blazor.Bootstrap.7t9tbfaemk.bundle.scp.css';
@import '_content/ContentManagement/ContentManagement.5ydumyzb83.bundle.scp.css';

/* _content/ReverbSpace/Layout/MainLayout.razor.rz.scp.css */
.page[b-wzezpi35ky] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-wzezpi35ky] {
    flex: 1;
}

.sidebar[b-wzezpi35ky] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-wzezpi35ky] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-wzezpi35ky]  a, .top-row .btn-link[b-wzezpi35ky] {
        white-space: nowrap;
        margin-left: 1.5rem;
    }

    .top-row a:first-child[b-wzezpi35ky] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row:not(.auth)[b-wzezpi35ky] {
        display: none;
    }

    .top-row.auth[b-wzezpi35ky] {
        justify-content: space-between;
    }

    .top-row a[b-wzezpi35ky], .top-row .btn-link[b-wzezpi35ky] {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-wzezpi35ky] {
        flex-direction: row;
    }

    .sidebar[b-wzezpi35ky] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-wzezpi35ky] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-wzezpi35ky], article[b-wzezpi35ky] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* _content/ReverbSpace/Layout/PageSearch.razor.rz.scp.css */
.page-search-group[b-ivo2gmz6om] {
    position: relative;
    width: 100%;
}

.page-search-group .input-group-text[b-ivo2gmz6om] {
    background: transparent;
    border: 0;
    padding: 0;
    color: var(--bs-secondary-color);
}

.page-search-group .input-group-text i[b-ivo2gmz6om] {
    color: var(--bs-secondary-color);
}

.page-search-group .form-control[b-ivo2gmz6om] {
    background: transparent;
    border: 0;
    color: var(--bs-body-color);
    margin-left: 0.7rem;
    box-shadow: none;
    outline: none;
}

.page-search-group .form-control:focus[b-ivo2gmz6om] {
    background: transparent;
    color: var(--bs-body-color);
    box-shadow: none;
    outline: none;
}

.page-search-group .form-control[b-ivo2gmz6om]::placeholder {
    color: var(--bs-secondary-color);
    opacity: 0.8;
}

.page-search-suggestions[b-ivo2gmz6om] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1050;
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(var(--bs-body-color-rgb), 0.15);
    max-height: 360px;
    overflow-y: auto;
}

.page-search-suggestions li[b-ivo2gmz6om] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.85rem;
    cursor: pointer;
    color: var(--bs-body-color);
    font-size: 0.875rem;
    transition: background-color 0.1s ease;
}

.page-search-suggestions li i[b-ivo2gmz6om] {
    width: 1rem;
    text-align: center;
    color: var(--bs-secondary-color);
    flex-shrink: 0;
}

.page-search-suggestions li .page-title[b-ivo2gmz6om] {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-search-suggestions li .page-category[b-ivo2gmz6om] {
    font-size: 0.72rem;
    color: var(--bs-secondary-color);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    background: var(--bs-tertiary-bg);
    flex-shrink: 0;
}

.page-search-suggestions li:hover[b-ivo2gmz6om],
.page-search-suggestions li.active[b-ivo2gmz6om] {
    background: var(--bs-tertiary-bg);
}

.page-search-suggestions li:hover i[b-ivo2gmz6om],
.page-search-suggestions li.active i[b-ivo2gmz6om] {
    color: var(--bs-primary);
}

.page-search-suggestions li.empty[b-ivo2gmz6om] {
    color: var(--bs-secondary-color);
    cursor: default;
    font-style: italic;
}

.page-search-suggestions li.empty:hover[b-ivo2gmz6om] {
    background: transparent;
}
/* _content/ReverbSpace/Pages/Chat.razor.rz.scp.css */

.chat-container[b-iajsykhut5] {
    max-width: 600px;
    margin: 0 auto;
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    height: 500px;
    overflow-y: scroll;
}

.message[b-iajsykhut5] {
    display: flex;
    margin-bottom: 10px;
}

.message-content[b-iajsykhut5] {
    padding: 10px;
    border-radius: 10px;
    max-width: 80%;
}

.user-message[b-iajsykhut5] {
    justify-content: flex-end;
}

.user-message .message-content[b-iajsykhut5] {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-body-color);
}

.assistant-message[b-iajsykhut5] {
    justify-content: flex-start;
}

.assistant-message .message-content[b-iajsykhut5] {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
}
/* _content/ReverbSpace/Pages/SessionSummary.razor.rz.scp.css */
.session-summary-container[b-718g0231j5] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Page grid: summary card / sidebar (evaluation, key moments) / transcript.
   On phones everything stacks in one column with the sidebar between the
   summary and the transcript; at md+ the sidebar spans the right column
   beside both left-side cards (same 2:1 split as the old col-md-8/col-md-4,
   which stacked the sidebar below the transcript on phones).
   minmax(0, …) lets the columns shrink below their content's natural width
   so long sidebar content can never widen the column past its track. */
.summary-layout[b-718g0231j5] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.summary-main[b-718g0231j5] { order: 1; }
.summary-side[b-718g0231j5] { order: 2; }
.summary-transcript[b-718g0231j5] { order: 3; }

@media (min-width: 768px) {
    .summary-layout[b-718g0231j5] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        /* Row 2 is flexible so the tall spanning sidebar stretches it alone —
           without this the sidebar's height is split across both rows, opening
           a large gap between the summary card and the transcript. */
        grid-template-rows: auto 1fr;
    }

    .summary-main[b-718g0231j5] {
        grid-column: 1;
        grid-row: 1;
    }

    .summary-transcript[b-718g0231j5] {
        grid-column: 1;
        grid-row: 2;
    }

    .summary-side[b-718g0231j5] {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

.chat-transcript[b-718g0231j5] {
/*    max-height: 500px;
    overflow-y: auto;*/
    background-color: var(--bs-tertiary-bg);
    border-radius: 8px;
    padding: 15px;
}

.message[b-718g0231j5] {
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 8px;
    border-left: 4px solid;
}

.therapist-message[b-718g0231j5] {
    background-color: var(--bs-primary-bg-subtle);
    border-left-color: var(--bs-primary);
}

.client-message[b-718g0231j5] {
    background-color: var(--bs-secondary-bg-subtle);
    border-left-color: var(--bs-purple, #6f42c1);
}

.message-header[b-718g0231j5] {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.message-content[b-718g0231j5] {
    line-height: 1.5;
}

.evaluation-scores .score-item[b-718g0231j5] {
    margin-bottom: 15px;
}

.evaluation-scores label[b-718g0231j5] {
    font-weight: 600;
    margin-bottom: 5px;
    display: block;
}

.progress[b-718g0231j5] {
    height: 25px;
}

.progress-bar[b-718g0231j5] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 12px;
}

.grading-progress[b-718g0231j5] {
    padding: 20px;
    position: relative;
    overflow: hidden;
}

.grading-spinner[b-718g0231j5] {
    position: relative;
}

.progress-steps[b-718g0231j5] {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.step[b-718g0231j5] {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 8px;
    transition: all 0.3s ease;
}

    .step.pending[b-718g0231j5] {
        background-color: var(--bs-tertiary-bg);
        color: var(--bs-secondary-color);
    }

    .step.active[b-718g0231j5] {
        background-color: var(--bs-primary-bg-subtle);
        color: var(--bs-primary);
        border-left: 4px solid var(--bs-primary);
    }

.step-icon[b-718g0231j5] {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    font-size: 12px;
}

.step.pending .step-icon[b-718g0231j5] {
    color: var(--bs-secondary-color);
}

.step.active .step-icon[b-718g0231j5] {
    color: var(--bs-primary);
}

.step-label[b-718g0231j5] {
    font-weight: 500;
    flex: 1;
}

.step.pending .step-label[b-718g0231j5] {
    color: var(--bs-secondary-color);
}

.step.active .step-label[b-718g0231j5] {
    color: var(--bs-primary);
}

/* Pulse animation for active step */
.step.active[b-718g0231j5] {
    animation: pulse-b-718g0231j5 2s infinite;
}

@keyframes pulse-b-718g0231j5 {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb), 0.4);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(var(--bs-primary-rgb), 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb), 0);
    }
}

/* Loading shimmer effect */
.grading-progress[b-718g0231j5]::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient( 90deg, transparent, rgba(var(--bs-white-rgb), 0.4), transparent );
    animation: shimmer-b-718g0231j5 2s infinite;
}

@keyframes shimmer-b-718g0231j5 {
    0% {
        left: -100%;
    }

    100% {
        left: 100%;
    }
}

/* Key Moments (AI-flagged highlights) */
.highlight-item[b-718g0231j5] {
    border-left: 4px solid var(--bs-border-color);
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 12px;
    background-color: var(--bs-tertiary-bg);
    transition: transform 0.1s ease, opacity 0.2s ease;
    min-width: 0;
    overflow-wrap: break-word;
}

/* Badge + outcome-name row. The badge keeps the left edge; the outcome name
   shrinks (min-width: 0) and wraps into right-aligned lines beside it, so a
   long name never pushes the row wider than the card and never drops the
   whole name block onto its own line under the badge. */
.highlight-header[b-718g0231j5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

/* Bootstrap's 0.65em badge padding lets the last glyph graze the pill's
   rounded corner in this font — give it real side padding, and never let
   the flex row squeeze the pill onto its own text. */
.highlight-badge[b-718g0231j5] {
    flex-shrink: 0;
    padding-right: 0.95em;
    padding-left: 0.8em;
}

.highlight-meta[b-718g0231j5] {
    min-width: 0;
}

.highlight-item:last-child[b-718g0231j5] {
    margin-bottom: 0;
}

.highlight-clickable[b-718g0231j5] {
    cursor: pointer;
}

.highlight-clickable:hover[b-718g0231j5] {
    opacity: 0.85;
    transform: translateX(2px);
}

.highlight-good[b-718g0231j5] {
    border-left-color: var(--bs-success);
    background-color: var(--bs-success-bg-subtle);
}

.highlight-poor[b-718g0231j5] {
    border-left-color: var(--bs-danger);
    background-color: var(--bs-danger-bg-subtle);
}

.highlight-excerpt[b-718g0231j5] {
    font-style: italic;
    color: var(--bs-secondary-color);
}
/* _content/ReverbSpace/Shared/AutoComplete.razor.rz.scp.css */
.autocomplete-container[b-rtlmljaw32] {
    position: relative;
}

.suggestions-list[b-rtlmljaw32] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    list-style: none;
    padding: 0;
    margin: 0;
    z-index: 1000;
}

.suggestions-list li[b-rtlmljaw32] {
    padding: 8px 12px;
    cursor: pointer;
}

.suggestions-list li:hover[b-rtlmljaw32] {
    background: var(--bs-tertiary-bg);
}
/* _content/ReverbSpace/Shared/UserProfileIcon.razor.rz.scp.css */
.user-profile-icon[b-el8jm4oe4r] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-primary);
    color: var(--bs-white);
    margin-right: 8px;
    margin-bottom: 5px;
}

    .user-profile-icon .profile-image[b-el8jm4oe4r] {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        border-radius: 50%;
    }

.user-profile-icon .initials[b-el8jm4oe4r] {
    color: var(--bs-white);
    font-weight: bold;
    font-size: 18px;
    text-transform: uppercase;
    user-select: none;
}
