/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* =============================================
   App Layout — flex row, sidebar + content
   ============================================= */
.app-layout[b-7pe00qn4os] {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

/* =============================================
   Main Content
   ============================================= */
.main-content[b-7pe00qn4os] {
    flex: 1;
    min-height: 100vh;
    overflow-y: auto;
    background: #f8f9fc;
}

.content-body[b-7pe00qn4os] {
    padding: 1.1rem 2rem 0 2rem;
}

/* =============================================
   Error UI
   ============================================= */
#blazor-error-ui[b-7pe00qn4os] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-7pe00qn4os] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/Sidebar.razor.rz.scp.css */
/* =============================================
   Sidebar — white background, Hermes style
   ============================================= */
.sidebar[b-h4qix45ebv] {
    width: 12rem;
    height: 100%;
    background: white;
    display: flex;
    flex-direction: column;
    transition: width 0.15s ease-out;
    position: relative;
    z-index: 100;
    overflow: hidden;
    border-right: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    flex-shrink: 0;
}

.sidebar.collapsed[b-h4qix45ebv] {
    width: 3.5rem;
}

/* ---- Sidebar header ---- */
.sidebar-header[b-h4qix45ebv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    min-height: 48px;
}

.sidebar-logo[b-h4qix45ebv] {
    height: 24px;
    width: auto;
    object-fit: contain;
}

.sidebar-logomark[b-h4qix45ebv] {
    height: 22px;
    width: 22px;
    object-fit: contain;
}

.sidebar.collapsed .sidebar-logo[b-h4qix45ebv] {
    display: none;
}

/* ---- Toggle button ---- */
.sidebar-toggle[b-h4qix45ebv] {
    background: none;
    border: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    color: rgb(35, 40, 51);
    cursor: pointer;
    font-size: 0.75rem;
    padding: 0;
    border-radius: 8px;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
    flex-shrink: 0;
}

.sidebar-toggle:hover[b-h4qix45ebv] {
    background-color: rgba(35, 40, 51, 0.05);
}

/* =============================================
   Sidebar Navigation
   ============================================= */
.sidebar-nav[b-h4qix45ebv] {
    list-style: none;
    padding: 0.5rem 0;
    margin: 0;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
}

.nav-item a[b-h4qix45ebv] {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    color: var(--primary-text, #050505);
    text-decoration: none;
    transition: background 0.15s;
    white-space: nowrap;
    gap: 0.5rem;
    font-size: 0.85rem;
}

.nav-item a:hover[b-h4qix45ebv] {
    background: rgba(35, 40, 51, 0.05);
}

.nav-item.active a[b-h4qix45ebv] {
    background: var(--hermes-light, #EADEFE);
    color: var(--hermes-primary, #6F42C1);
    font-weight: 600;
}

/* ---- Nav icons ---- */
.nav-icon[b-h4qix45ebv] {
    font-size: 1rem;
    width: 1.3rem;
    height: 1.3rem;
    text-align: center;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
}

.nav-item.active .nav-icon[b-h4qix45ebv] {
    opacity: 1;
}

.sidebar.collapsed .nav-text[b-h4qix45ebv] {
    display: none;
}

/* ---- Section separator & label ---- */
.nav-separator[b-h4qix45ebv] {
    height: 1px;
    background: var(--app-divider-color, rgba(35, 40, 51, 0.1));
    margin: 0.5rem 0.75rem;
    list-style: none;
}

.nav-section-label[b-h4qix45ebv] {
    padding: 0.25rem 0.75rem;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-subtitle, rgb(109, 124, 143));
    letter-spacing: 0.5px;
    list-style: none;
}

.sidebar.collapsed .nav-separator[b-h4qix45ebv] {
    margin: 0.5rem 0.5rem;
}

.sidebar.collapsed .nav-section-label[b-h4qix45ebv] {
    display: none;
}

/* =============================================
   Sidebar Footer — user info & logout
   ============================================= */
.sidebar-footer[b-h4qix45ebv] {
    margin-top: auto;
    border-top: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    padding: 0.5rem 0;
}

.user-info[b-h4qix45ebv] {
    display: flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    gap: 0.5rem;
    color: var(--text-subtitle, rgb(109, 124, 143));
    font-size: 0.8rem;
}

.user-email[b-h4qix45ebv] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.logout-link[b-h4qix45ebv] {
    display: flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    gap: 0.5rem;
    color: var(--text-subtitle, rgb(109, 124, 143));
    text-decoration: none;
    transition: background 0.15s;
    white-space: nowrap;
    font-size: 0.8rem;
}

.logout-link:hover[b-h4qix45ebv] {
    background: rgba(35, 40, 51, 0.05);
}

.sidebar.collapsed .user-info[b-h4qix45ebv],
.sidebar.collapsed .user-email[b-h4qix45ebv] {
    display: none;
}

/* ---- Disabled / placeholder nav items ---- */
.nav-item.disabled[b-h4qix45ebv] {
    opacity: 0.5;
    pointer-events: none;
}

.nav-link-placeholder[b-h4qix45ebv] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.75rem;
    font-size: 0.78rem;
    color: var(--text-secondary, #6d7c8f);
    text-decoration: none;
    white-space: nowrap;
}

.nav-badge[b-h4qix45ebv] {
    font-size: 0.55rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: var(--hermes-light, #EADEFE);
    color: var(--hermes-primary, #6F42C1);
    padding: 1px 5px;
    border-radius: 3px;
    margin-left: auto;
}

.sidebar.collapsed .nav-badge[b-h4qix45ebv] {
    display: none;
}

/* =============================================
   Responsive — auto-collapse on small screens
   ============================================= */
@media (max-width: 768px) {
    .sidebar[b-h4qix45ebv] {
        width: 3.5rem;
    }

    .sidebar .sidebar-title[b-h4qix45ebv],
    .sidebar .nav-text[b-h4qix45ebv] {
        display: none;
    }
}
/* /Components/Pages/PresentationAgent.razor.rz.scp.css */
.presentation-agent-page[b-xkfrl0c9ah] {
    height: calc(100vh - 20px);
    padding: 10px;
    max-width: 900px;
    margin: 0 auto;
}
/* /Components/Pages/SupportDashboard/SupportDashboard.razor.rz.scp.css */
/* =========================================================
   Support dashboard (right-side content)
   ========================================================= */

.support-dashboard[b-ifw7ds06gf] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
    background: #f6f4fa;
    min-width: 0;
}

/* Empty / loading states */
.support-dashboard-state[b-ifw7ds06gf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    color: #6b6477;
    gap: 12px;
    min-height: 60vh;
}

.support-dashboard-state.empty i[b-ifw7ds06gf] {
    font-size: 3.5rem;
    color: #c9bde4;
}

.empty-title[b-ifw7ds06gf] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #333;
}

.empty-sub[b-ifw7ds06gf] {
    font-size: 0.88rem;
    max-width: 500px;
    text-align: center;
}

.empty-sub.error[b-ifw7ds06gf] {
    color: #b02a37;
}

/* Account header */
.dash-account-header[b-ifw7ds06gf] {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    padding: 16px 20px;
    border-radius: 10px;
    margin-bottom: 16px;
    border: 1px solid #e4e1eb;
}

.dash-account-header .avatar[b-ifw7ds06gf] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6F42C1, #8a5cd6);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dash-account-header .avatar i[b-ifw7ds06gf] {
    color: #fff;
    font-size: 1.8rem;
}

.account-ident[b-ifw7ds06gf] {
    flex: 1;
    min-width: 0;
}

.account-name[b-ifw7ds06gf] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a1a1a;
}

.account-email[b-ifw7ds06gf] {
    font-size: 0.85rem;
    color: #6b6477;
    margin-bottom: 6px;
}

.account-meta[b-ifw7ds06gf] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.loaded-at[b-ifw7ds06gf] {
    font-size: 0.75rem;
    color: #888;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

/* Pills */
.pill[b-ifw7ds06gf] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 12px;
    background: #f2effa;
    color: #4a2e85;
    font-size: 0.74rem;
    font-weight: 500;
}

.pill strong[b-ifw7ds06gf] { font-weight: 600; }

.pill-good[b-ifw7ds06gf]    { background: #e8f7ee; color: #0a7b3f; }
.pill-bad[b-ifw7ds06gf]     { background: #fdeaea; color: #b02a37; }
.pill-warn[b-ifw7ds06gf]    { background: #fff4df; color: #8a5a00; }
.pill-primary[b-ifw7ds06gf] { background: #6F42C1; color: #fff; }
.pill-soon[b-ifw7ds06gf]    { background: #fff4df; color: #8a5a00; }
.pill-mono[b-ifw7ds06gf]    { font-family: Consolas, monospace; font-size: 0.72rem; }

/* Card */
.dash-card[b-ifw7ds06gf] {
    background: #fff;
    border: 1px solid #e4e1eb;
    border-radius: 10px;
    margin-bottom: 16px;
    overflow: hidden;
}

.dash-card.warning[b-ifw7ds06gf] {
    border-color: #f0c36d;
    background: #fffaf0;
}

.dash-card.placeholder[b-ifw7ds06gf] {
    background: #faf8fd;
    border-style: dashed;
}

.dash-card-header[b-ifw7ds06gf] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid #eee7f5;
    font-weight: 600;
    font-size: 0.85rem;
    color: #333;
    background: #faf8fd;
}

.dash-card.warning .dash-card-header[b-ifw7ds06gf] {
    background: #fff4df;
    color: #8a5a00;
}

.dash-card-header i[b-ifw7ds06gf] {
    color: var(--hermes-primary, #6F42C1);
}

.dash-card.warning .dash-card-header i[b-ifw7ds06gf] { color: #8a5a00; }

.dash-count[b-ifw7ds06gf] {
    color: #888;
    font-weight: 400;
    font-size: 0.78rem;
    margin-left: 4px;
}

.dash-card-body[b-ifw7ds06gf] {
    padding: 14px 16px;
    font-size: 0.85rem;
    color: #333;
}

.dash-card-body.no-pad[b-ifw7ds06gf] { padding: 0; }
.dash-card-body .pad[b-ifw7ds06gf]   { padding: 14px 16px; }

.dash-card-body .muted[b-ifw7ds06gf] { color: #888; font-style: italic; }
.dash-card-body .warn[b-ifw7ds06gf]  { color: #b02a37; font-weight: 500; }

/* Row layout for paired cards */
.dash-row[b-ifw7ds06gf] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.dash-row .dash-card[b-ifw7ds06gf] { margin-bottom: 0; }

@media (max-width: 900px) {
    .dash-row[b-ifw7ds06gf] { grid-template-columns: 1fr; }
}

/* Subscription block */
.sub-block + .sub-block[b-ifw7ds06gf] {
    border-top: 1px dashed #eee7f5;
    padding-top: 10px;
    margin-top: 10px;
}

.sub-top[b-ifw7ds06gf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.sub-plan[b-ifw7ds06gf] {
    font-weight: 600;
    color: var(--hermes-primary, #6F42C1);
    font-size: 0.92rem;
}

.sub-amount[b-ifw7ds06gf] {
    margin-top: 4px;
    font-size: 1.3rem;
    color: #1a1a1a;
}

.sub-price[b-ifw7ds06gf] { font-weight: 700; }
.sub-interval[b-ifw7ds06gf] { color: #888; font-size: 0.85rem; }

.sub-details[b-ifw7ds06gf] {
    margin-top: 6px;
    font-size: 0.8rem;
    color: #555;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sub-details i[b-ifw7ds06gf] { margin-right: 4px; }

.sub-id[b-ifw7ds06gf] {
    margin-top: 4px;
    font-size: 0.72rem;
    color: #aaa;
}

.sub-id code[b-ifw7ds06gf] {
    background: transparent;
    color: inherit;
    padding: 0;
}

/* Payment block */
.pm-block + .pm-block[b-ifw7ds06gf] {
    border-top: 1px dashed #eee7f5;
    padding-top: 10px;
    margin-top: 10px;
}

.pm-brand[b-ifw7ds06gf] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: #333;
}

.pm-brand i[b-ifw7ds06gf] {
    color: var(--hermes-primary, #6F42C1);
    font-size: 1.1rem;
}

.pm-exp[b-ifw7ds06gf] {
    font-size: 0.78rem;
    color: #888;
    margin-top: 2px;
    margin-left: 26px;
}

/* Inline tables (warning card etc.) */
.dash-inline-table[b-ifw7ds06gf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    margin-top: 8px;
}

.dash-inline-table th[b-ifw7ds06gf] {
    text-align: left;
    padding: 4px 8px;
    color: #8a5a00;
    border-bottom: 1px solid #f0c36d;
}

.dash-inline-table td[b-ifw7ds06gf] {
    padding: 4px 8px;
    border-bottom: 1px dashed #eee7f5;
}

.dash-inline-table code[b-ifw7ds06gf] {
    background: rgba(111,66,193,0.08);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.78rem;
}

/* Grids */
.dash-grid[b-ifw7ds06gf] {
    --dxbl-grid-header-background-color: #faf8fd;
}

/* Spinner for loading state */
.spinner-border[b-ifw7ds06gf] {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    border: 3px solid var(--hermes-primary, #6F42C1);
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border-b-ifw7ds06gf 0.75s linear infinite;
}

@keyframes spinner-border-b-ifw7ds06gf {
    to { transform: rotate(360deg); }
}
/* /Components/Pages/SupportDashboard/SupportToolbar.razor.rz.scp.css */
/* =========================================================
   Support top toolbar
   ========================================================= */

.support-toolbar[b-fd7j39ds67] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 16px;
    background: #fff;
    border-bottom: 1px solid #e4e1eb;
    flex-shrink: 0;
    min-height: 52px;
}

.support-toolbar-left[b-fd7j39ds67],
.support-toolbar-right[b-fd7j39ds67] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.support-toolbar-center[b-fd7j39ds67] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    max-width: 720px;
}

.support-toolbar-title[b-fd7j39ds67] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #333;
    font-size: 0.95rem;
}

.support-toolbar-title i[b-fd7j39ds67] {
    color: var(--hermes-primary, #6F42C1);
    font-size: 1.1rem;
}

.support-toolbar-btn[b-fd7j39ds67] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.82rem;
    transition: all 0.15s;
}

.support-toolbar-btn:hover[b-fd7j39ds67] {
    background: #faf8fd;
    border-color: var(--hermes-primary, #6F42C1);
    color: var(--hermes-primary, #6F42C1);
}

.support-toolbar-primary[b-fd7j39ds67] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: none;
    background: var(--hermes-primary, #6F42C1);
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 500;
    transition: background 0.15s;
}

.support-toolbar-primary:hover:not(:disabled)[b-fd7j39ds67] {
    background: #5a349e;
}

.support-toolbar-primary:disabled[b-fd7j39ds67] {
    background: #b9a8d7;
    cursor: not-allowed;
}

/* Search input */
.support-search-wrapper[b-fd7j39ds67] {
    position: relative;
    flex: 1;
}

.support-search-input[b-fd7j39ds67] {
    width: 100%;
    padding: 7px 34px 7px 34px;
    border: 1px solid #ddd;
    border-radius: 20px;
    font-size: 0.85rem;
    outline: none;
    background: #f8f7fb;
    transition: border-color 0.15s, background 0.15s;
}

.support-search-input:focus[b-fd7j39ds67] {
    border-color: var(--hermes-primary, #6F42C1);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.12);
}

.search-icon[b-fd7j39ds67] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 0.85rem;
    pointer-events: none;
}

.search-clear-btn[b-fd7j39ds67] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #aaa;
    cursor: pointer;
    padding: 2px;
    display: inline-flex;
    align-items: center;
}

.search-clear-btn:hover[b-fd7j39ds67] {
    color: var(--hermes-primary, #6F42C1);
}

/* Spinner */
.spinner-border[b-fd7j39ds67] {
    display: inline-block;
    width: 0.85rem;
    height: 0.85rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border-b-fd7j39ds67 0.75s linear infinite;
}

@keyframes spinner-border-b-fd7j39ds67 {
    to { transform: rotate(360deg); }
}
/* /Components/Shared/AdvisorDrawer.razor.rz.scp.css */
/* =========================================================
   AdvisorDrawer — collapsible side drawer for AI advisors
   ========================================================= */

.advisor-drawer[b-cds96b15b0] {
    width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--bs-body-bg, #fff);
    transition: width 0.2s ease;
    flex-shrink: 0;
    height: 100%;
    min-width: 0;
}

.advisor-drawer.side-left[b-cds96b15b0] {
    border-right: 1px solid #e4e1eb;
}

.advisor-drawer.side-right[b-cds96b15b0] {
    border-left: 1px solid #e4e1eb;
}

.advisor-drawer.open[b-cds96b15b0] {
    width: 380px;
}

/* Header */
.advisor-drawer-header[b-cds96b15b0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid #e4e1eb;
    background: #faf8fd;
    flex-shrink: 0;
    min-width: 380px; /* keep header from squishing during transition */
}

.advisor-drawer-title[b-cds96b15b0] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--hermes-primary, #6F42C1);
}

.advisor-drawer-title i[b-cds96b15b0] {
    font-size: 1rem;
}

.advisor-drawer-close[b-cds96b15b0] {
    background: transparent;
    border: none;
    color: #6b6477;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
}

.advisor-drawer-close:hover[b-cds96b15b0] {
    background: rgba(111, 66, 193, 0.08);
    color: var(--hermes-primary, #6F42C1);
}

/* Body */
.advisor-drawer-body[b-cds96b15b0] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 380px; /* lock content width during width transition */
}

/* Ensure ChatPanel inside fills the drawer body */
.advisor-drawer-body[b-cds96b15b0]  .chat-panel {
    height: 100%;
    width: 100%;
    border: none;      /* drawer already has its own border */
    border-radius: 0;
}
/* /Components/Shared/ChatMessage.razor.rz.scp.css */
/* =============================================
   Chat Message — Hermes-style bubbles
   ============================================= */

/* ---- User messages (right-aligned) ---- */
.message-wrapper[b-gknrwm6h73] {
    display: flex;
    margin-bottom: 0.75rem;
    padding: 0 1rem;
}

.user-wrapper[b-gknrwm6h73] {
    justify-content: flex-end;
}

.user-message[b-gknrwm6h73] {
    max-width: 60%;
    background: var(--hermes-light, #EADEFE);
    border-radius: 12px 12px 4px 12px;
    padding: 0.5rem 0.75rem;
}

.user-message .message-text[b-gknrwm6h73] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--primary-text, #050505);
    word-wrap: break-word;
}

/* ---- Assistant messages (left-aligned with icon) ---- */
.assistant-message[b-gknrwm6h73] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0 1rem;
    align-items: flex-start;
}

.assistant-icon[b-gknrwm6h73] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    margin-top: 2px;
}

.assistant-icon-img[b-gknrwm6h73] {
    width: 28px;
    height: 28px;
}

.response-content[b-gknrwm6h73] {
    max-width: 82%;
    min-width: 0; /* allow child tables to scroll horizontally instead of overflowing */
}

.agent-name[b-gknrwm6h73] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--hermes-primary, #6F42C1);
    margin-bottom: 2px;
}

.response-content .message-text[b-gknrwm6h73] {
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--primary-text, #050505);
    word-wrap: break-word;
}

.response-content .message-text strong[b-gknrwm6h73] {
    font-weight: 600;
}

.response-content .message-text code[b-gknrwm6h73] {
    background: rgba(111, 66, 193, 0.08);
    padding: 1px 4px;
    border-radius: 3px;
    font-size: 0.8rem;
}

.response-content .message-text blockquote[b-gknrwm6h73] {
    border-left: 3px solid var(--hermes-primary, #6F42C1);
    padding-left: 0.75rem;
    margin: 0.5rem 0;
    color: #555;
    font-size: 0.82rem;
}

/* ---- Markdown rendering (Markdig output) ----
   `markdown-body` is a plain div; the actual markup (h1/h2/table/pre/ul…)
   is injected via MarkupString so it doesn't carry Blazor's scope attribute.
   We use ::deep to target those descendants. */

.markdown-body[b-gknrwm6h73]  p {
    margin: 0 0 0.5rem;
}

.markdown-body[b-gknrwm6h73]  p:last-child { margin-bottom: 0; }

.markdown-body[b-gknrwm6h73]  h1,
.markdown-body[b-gknrwm6h73]  h2,
.markdown-body[b-gknrwm6h73]  h3,
.markdown-body[b-gknrwm6h73]  h4,
.markdown-body[b-gknrwm6h73]  h5,
.markdown-body[b-gknrwm6h73]  h6 {
    margin: 0.6rem 0 0.35rem;
    line-height: 1.3;
    color: var(--hermes-primary, #6F42C1);
    font-weight: 600;
}
.markdown-body[b-gknrwm6h73]  h1 { font-size: 1.1rem; }
.markdown-body[b-gknrwm6h73]  h2 { font-size: 1.02rem; }
.markdown-body[b-gknrwm6h73]  h3 { font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.3px; }
.markdown-body[b-gknrwm6h73]  h4,
.markdown-body[b-gknrwm6h73]  h5,
.markdown-body[b-gknrwm6h73]  h6 { font-size: 0.88rem; }

.markdown-body[b-gknrwm6h73]  strong { font-weight: 600; }
.markdown-body[b-gknrwm6h73]  em { font-style: italic; }

/* Lists */
.markdown-body[b-gknrwm6h73]  ul,
.markdown-body[b-gknrwm6h73]  ol {
    margin: 0.25rem 0 0.5rem;
    padding-left: 1.25rem;
}
.markdown-body[b-gknrwm6h73]  li { margin: 0.15rem 0; }
.markdown-body[b-gknrwm6h73]  li > p { margin: 0; }
.markdown-body[b-gknrwm6h73]  ul ul,
.markdown-body[b-gknrwm6h73]  ol ol,
.markdown-body[b-gknrwm6h73]  ul ol,
.markdown-body[b-gknrwm6h73]  ol ul { margin: 0.15rem 0; }

/* Inline code */
.markdown-body[b-gknrwm6h73]  code {
    background: rgba(111, 66, 193, 0.08);
    padding: 1px 5px;
    border-radius: 3px;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.8rem;
    color: #4a2e85;
}

/* Code blocks */
.markdown-body[b-gknrwm6h73]  pre {
    background: #2d2b3a;
    color: #f4f2fa;
    padding: 0.6rem 0.8rem;
    border-radius: 6px;
    overflow-x: auto;
    margin: 0.5rem 0;
    font-size: 0.78rem;
    line-height: 1.45;
}
.markdown-body[b-gknrwm6h73]  pre code {
    background: transparent;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

/* Blockquotes */
.markdown-body[b-gknrwm6h73]  blockquote {
    border-left: 3px solid var(--hermes-primary, #6F42C1);
    padding: 0.2rem 0 0.2rem 0.75rem;
    margin: 0.5rem 0;
    color: #555;
    font-size: 0.82rem;
    background: rgba(111, 66, 193, 0.04);
    border-radius: 0 4px 4px 0;
}
.markdown-body[b-gknrwm6h73]  blockquote p { margin: 0; }

/* Horizontal rule */
.markdown-body[b-gknrwm6h73]  hr {
    border: 0;
    border-top: 1px solid #e0d7f0;
    margin: 0.75rem 0;
}

/* Links */
.markdown-body[b-gknrwm6h73]  a {
    color: var(--hermes-primary, #6F42C1);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.markdown-body[b-gknrwm6h73]  a:hover { color: #4a2e85; }

/* Tables */
.markdown-body[b-gknrwm6h73]  table {
    border-collapse: collapse;
    margin: 0.5rem 0;
    font-size: 0.8rem;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
    white-space: nowrap;
}
.markdown-body[b-gknrwm6h73]  table thead {
    background: rgba(111, 66, 193, 0.08);
}
.markdown-body[b-gknrwm6h73]  table th,
.markdown-body[b-gknrwm6h73]  table td {
    border: 1px solid #e0d7f0;
    padding: 4px 10px;
    text-align: left;
    vertical-align: top;
}
.markdown-body[b-gknrwm6h73]  table th {
    font-weight: 600;
    color: var(--hermes-primary, #6F42C1);
}
.markdown-body[b-gknrwm6h73]  table tbody tr:nth-child(even) {
    background: #faf8fd;
}

/* Task lists */
.markdown-body[b-gknrwm6h73]  input[type="checkbox"] {
    margin-right: 0.35rem;
    transform: translateY(1px);
}

/* ---- Timestamp ---- */
.message-time[b-gknrwm6h73] {
    font-size: 0.65rem;
    color: var(--text-subtitle, rgb(109, 124, 143));
    margin-left: 0.5rem;
    white-space: nowrap;
}

.user-message .message-time[b-gknrwm6h73] {
    float: right;
    margin-top: 2px;
}
/* /Components/Shared/ChatPanel.razor.rz.scp.css */
/* =============================================
   Chat Panel — Hermes-style reusable chat component
   ============================================= */
.chat-panel[b-o2fi4d64k7] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;      /* allow flex children (messages) to shrink + scroll */
    flex: 1;            /* fill parent when parent is a flex column */
    border: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    position: relative;
    width: 100%;
    transition: border-color 0.15s, box-shadow 0.15s;
}

/* Added by DxFileInput via ExternalDropZoneDragOverCssClass (and also by our
   own Blazor-side drag handlers). Highlights the whole panel while a file
   is being dragged over it. */
.chat-panel.chat-drag-active[b-o2fi4d64k7] {
    border-color: var(--hermes-primary, #6F42C1);
    box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.18);
}

/* ---- Drag-and-drop overlay ---- */
.chat-drop-overlay[b-o2fi4d64k7] {
    position: absolute;
    inset: 0;
    z-index: 10;
    background: rgba(111, 66, 193, 0.08);
    backdrop-filter: blur(1px);
    border: 2px dashed var(--hermes-primary, #6F42C1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* let drag events keep reaching the underlying panel */
}

.chat-drop-overlay-content[b-o2fi4d64k7] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 28px;
    background: #fff;
    border: 1px solid var(--hermes-primary, #6F42C1);
    border-radius: 10px;
    color: var(--hermes-primary, #6F42C1);
    font-weight: 600;
    box-shadow: 0 4px 18px rgba(111, 66, 193, 0.18);
}

.chat-drop-overlay-content i[b-o2fi4d64k7] {
    font-size: 2.5rem;
    line-height: 1;
}

.chat-drop-overlay-content span[b-o2fi4d64k7] {
    font-size: 0.95rem;
}

/* ---- Header ---- */
.chat-header[b-o2fi4d64k7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 1rem;
    background: var(--hermes-primary, #6F42C1);
    color: white;
    font-weight: 600;
    font-size: 0.95rem;
    min-height: 48px;
}

.chat-header-title[b-o2fi4d64k7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.chat-header-icon[b-o2fi4d64k7] {
    font-size: 1.1rem;
}

/* ---- Messages area ---- */
.chat-messages[b-o2fi4d64k7] {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 0;
    background: #faf8fd;
}

/* ---- Typing indicator ---- */
.typing-row[b-o2fi4d64k7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem 0.5rem 1rem;
    margin-left: 0;
}

.typing-icon[b-o2fi4d64k7] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.typing-icon-img[b-o2fi4d64k7] {
    width: 28px;
    height: 28px;
}

.typing-dots[b-o2fi4d64k7] {
    display: flex;
    gap: 5px;
    padding: 6px 0;
}

.typing-dots span[b-o2fi4d64k7] {
    width: 8px;
    height: 8px;
    background: var(--hermes-primary, #6F42C1);
    border-radius: 50%;
    animation: typing-bounce 1.4s infinite ease-in-out both;
}

.typing-dots span:nth-child(1)[b-o2fi4d64k7] { animation-delay: -0.32s; }
.typing-dots span:nth-child(2)[b-o2fi4d64k7] { animation-delay: -0.16s; }

.typing-status[b-o2fi4d64k7] {
    font-size: 0.78rem;
    color: var(--hermes-primary, #6F42C1);
    font-style: italic;
    margin-left: 0.25rem;
}

/* ---- Scroll-to-bottom button ---- */
.scroll-to-bottom-btn[b-o2fi4d64k7] {
    position: absolute;
    bottom: 80px;
    right: 1rem;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    background: white;
    color: var(--hermes-primary, #6F42C1);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.15s;
    font-size: 0.85rem;
}

.scroll-to-bottom-btn:hover[b-o2fi4d64k7] {
    background: var(--hermes-light, #EADEFE);
}

/* ---- Download bar ---- */
.chat-download-bar[b-o2fi4d64k7] {
    padding: 0.5rem 1rem;
    background: var(--hermes-light, #EADEFE);
    border-top: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    text-align: center;
}

.chat-download-btn[b-o2fi4d64k7] {
    width: 100%;
}

/* ---- Input area ---- */
.chat-input-area[b-o2fi4d64k7] {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    border-top: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.1));
    background: #fff;
}

.chat-input[b-o2fi4d64k7] {
    flex: 1;
    resize: none;
    border: 1px solid var(--app-divider-color, rgba(35, 40, 51, 0.15));
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    font-size: 0.85rem;
    font-family: inherit;
    line-height: 1.4;
    outline: none;
    transition: border-color 0.15s;
    max-height: 120px;
    overflow-y: auto;
}

.chat-input:focus[b-o2fi4d64k7] {
    border-color: var(--hermes-primary, #6F42C1);
    box-shadow: 0 0 0 2px rgba(111, 66, 193, 0.12);
}

.chat-input:disabled[b-o2fi4d64k7] {
    background: #f5f5f5;
    cursor: not-allowed;
}

.chat-attach-btn[b-o2fi4d64k7] {
    flex-shrink: 0;
}

.chat-send-btn[b-o2fi4d64k7] {
    flex-shrink: 0;
}
