/* /Common/UI/StatTile.razor.rz.scp.css */
/* ::deep only reaches into child components below an element this component renders, hence the host div. */
.stat-tile-host[b-r315360j21] {
    height: 100%;
}

.stat-tile-host[b-r315360j21]  .stat-tile {
    height: 100%;
}

.stat-tile-host[b-r315360j21]  .stat-tile.clickable {
    cursor: pointer;
}

.stat-tile-host[b-r315360j21]  .stat-tile.clickable:hover {
    box-shadow: var(--rz-shadow-2);
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Component-scoped tweaks; colours come from Radzen CSS variables so they follow light/dark themes. */
.app-header[b-oit7y06ukc]  .app-brand {
    font-weight: 600;
    letter-spacing: 0.02em;
}

@media (max-width: 640px) {
    .app-header[b-oit7y06ukc]  .app-user-name {
        display: none;
    }
}
/* /Modules/Ai/Features/Insights/GetTicketAiInsights/TicketAiPanel.razor.rz.scp.css */
/* Plain element rendered by this component, so no ::deep needed. Suggested reply: preserve line breaks, cap the height, tint with the theme's base palette. */
.ai-reply[b-fjqhwuuqi2] {
    white-space: pre-wrap;
    max-height: 40vh;
    overflow-y: auto;
    padding: 0.75rem;
    border-radius: var(--rz-border-radius);
    background: var(--rz-base-50);
    border-inline-start: 3px solid var(--rz-primary);
    font-size: var(--rz-text-body2-font-size);
}
/* /Modules/Identity/Features/Auth/Login/LoginPage.razor.rz.scp.css */
.login-shell[b-77f1gq2cer] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: var(--rz-base-background-color);
}

[b-77f1gq2cer] .login-card {
    width: 100%;
    max-width: 400px;
}

[b-77f1gq2cer] .login-icon {
    font-size: 2.5rem;
}
/* /Modules/Implementation/Features/ClientImplementations/GetImplementationBoard/ImplementationBoardPage.razor.rz.scp.css */
/* Horizontally scrolling kanban columns; colours come from Radzen theme variables. */
.board[b-lljntira1i] {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    align-items: flex-start;
}

.board-column[b-lljntira1i] {
    flex: 0 0 260px;
    background: var(--rz-base-100);
    border-radius: var(--rz-border-radius);
    padding: 0.75rem;
    min-height: 200px;
}

[b-lljntira1i] .board-card {
    cursor: pointer;
    padding: 0.75rem;
    transition: box-shadow 0.15s ease;
}

[b-lljntira1i] .board-card:hover {
    box-shadow: var(--rz-shadow-2);
}

[b-lljntira1i] .board-card.blocked {
    border-left: 3px solid var(--rz-danger);
}
/* /Modules/Implementation/Features/Stages/GetStageById/StageDetailsDialog.razor.rz.scp.css */
.stage-details[b-krslslsvwa]  .task-title.done {
    text-decoration: line-through;
    color: var(--rz-text-disabled-color);
}

.stage-details[b-krslslsvwa]  .note-text {
    white-space: pre-wrap;
}
/* /Modules/Implementation/Features/Stages/StageCard.razor.rz.scp.css */
/* Status accent on the left edge, using theme variables so it follows light/dark mode. */
.stage-card-host[b-389gnou1n8]  .stage-card {
    border-left: 4px solid var(--rz-base-300);
}

.stage-card-host[b-389gnou1n8]  .stage-card.stage-inprogress {
    border-left-color: var(--rz-primary);
}

.stage-card-host[b-389gnou1n8]  .stage-card.stage-blocked {
    border-left-color: var(--rz-danger);
}

.stage-card-host[b-389gnou1n8]  .stage-card.stage-completed {
    border-left-color: var(--rz-success);
}

.stage-card-host[b-389gnou1n8]  .stage-card.stage-skipped {
    opacity: 0.7;
}

.stage-order[b-389gnou1n8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--rz-primary-lighter);
    color: var(--rz-primary);
    font-weight: 600;
    font-size: 0.85rem;
}
/* /Modules/Knowledge/Features/Articles/SaveArticle/ArticleEditorPage.razor.rz.scp.css */
/* The textarea is rendered by RadzenTextArea, so reach it with ::deep from the .article-editor div this page renders. */
.article-editor[b-rci1ksd75w]  .article-body-input {
    font-family: var(--rz-text-font-family);
    line-height: 1.5;
    resize: vertical;
}
/* /Modules/Knowledge/Features/Help/GetHelpArticle/HelpArticlePage.razor.rz.scp.css */
/* Plain elements rendered by this page: readable line length, line breaks kept (articles are plain text / Markdown). */
.help-article[b-3ccf7k7ht4] {
    max-width: 820px;
}

.help-body[b-3ccf7k7ht4] {
    white-space: pre-wrap;
    line-height: 1.6;
    font-size: var(--rz-text-body1-font-size);
    color: var(--rz-text-color);
}
/* /Modules/Notifications/Features/InApp/NotificationBell.razor.rz.scp.css */
.bell[b-0deoa3khg9]  .bell-button {
    position: relative;
}

.bell[b-0deoa3khg9]  .bell-count {
    position: absolute;
    top: 2px;
    right: 0;
    font-size: 0.65rem;
}

.bell[b-0deoa3khg9]  .bell-popup {
    width: 340px;
    max-width: calc(100vw - 2rem);
    box-shadow: var(--rz-shadow-3);
    border-radius: var(--rz-border-radius);
}

.bell-list[b-0deoa3khg9] {
    max-height: 60vh;
    overflow-y: auto;
}

.bell-item[b-0deoa3khg9] {
    padding: 0.6rem 0.75rem;
    border-top: 1px solid var(--rz-base-200);
    cursor: pointer;
}

.bell-item:hover[b-0deoa3khg9] {
    background: var(--rz-base-100);
}

.bell-item.unread[b-0deoa3khg9] {
    border-left: 3px solid var(--rz-primary);
}
/* /Modules/Support/Features/EmailIntake/CreateTicketFromEmail/TriageEmailDialog.razor.rz.scp.css */
/* ::deep needs a scoped ancestor element: .triage-email is rendered by this component, .email-body by RadzenCard. */
.triage-email[b-3j3x84nnpl]  .email-body {
    white-space: pre-wrap;
    max-height: 40vh;
    overflow-y: auto;
    background: var(--rz-base-50);
}
/* /Modules/Support/Shared/TicketAttachmentsPanel.razor.rz.scp.css */
.upload-label[b-zdeivit6cj] {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

[b-zdeivit6cj] .upload-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
/* /Modules/Support/Shared/TicketThread.razor.rz.scp.css */
/* Chat-like thread; colours from Radzen theme variables so light/dark both work. */
.thread-item[b-03y5s01e4b] {
    padding: 0.75rem 1rem;
    border-radius: var(--rz-border-radius);
    border: 1px solid var(--rz-base-200);
    max-width: 90%;
}

.thread-item.from-client[b-03y5s01e4b] {
    background: var(--rz-base-50);
    align-self: flex-start;
}

.thread-item.from-staff[b-03y5s01e4b] {
    background: var(--rz-primary-lighter);
    align-self: flex-end;
}

.thread-item.internal[b-03y5s01e4b] {
    background: var(--rz-warning-lighter);
    border-style: dashed;
}

.thread-body[b-03y5s01e4b] {
    white-space: pre-wrap;
    margin-top: 0.25rem;
}

.thread-system[b-03y5s01e4b] {
    font-size: var(--rz-text-caption-font-size);
    color: var(--rz-text-tertiary-color);
    text-align: center;
}
