/* /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/BugHistory/BugHistoryPage.razor.rz.scp.css */
.gh[b-9o3ywbelnr] { font-family: monospace; font-size: 0.8rem; color: var(--rz-primary); font-weight: 500; }
.gh.none[b-9o3ywbelnr] { color: var(--rz-text-secondary-color); }
.bug-grid[b-9o3ywbelnr]  tr[data-opened] > td { background: var(--rz-primary-lighter); }
/* /Modules/BugHistory/BugRecordDetail.razor.rz.scp.css */
.bug-detail[b-9qym1nrm48] { border: 1px solid var(--rz-base-300); border-radius: 6px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.bug-detail-head[b-9qym1nrm48] { padding: 14px; border-bottom: 1px solid var(--rz-base-300); display: flex; flex-direction: column; gap: 8px; }
.bug-facts[b-9qym1nrm48] { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px 16px; font-size: 0.85rem; margin: 0; }
.bug-facts dt[b-9qym1nrm48] { font-size: 0.68rem; letter-spacing: .05em; text-transform: uppercase; color: var(--rz-text-secondary-color); }
.bug-facts dd[b-9qym1nrm48] { margin: 0; }
.gh[b-9qym1nrm48] { font-family: monospace; font-weight: 500; }
.bug-summary[b-9qym1nrm48] { margin: 0; font-size: 0.9rem; }
.bug-ai-note[b-9qym1nrm48] { font-size: 0.75rem; color: var(--rz-text-secondary-color); }
.bug-timeline[b-9qym1nrm48] { padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; border-bottom: 1px solid var(--rz-base-300); }
.bug-step[b-9qym1nrm48] { display: grid; grid-template-columns: 90px auto minmax(0, 1fr); gap: 10px; align-items: center; font-size: 0.85rem; }
.bug-step time[b-9qym1nrm48] { color: var(--rz-text-secondary-color); font-size: 0.8rem; }
/* /Modules/BugHistory/BugThreadPage.razor.rz.scp.css */
.bug-list[b-5nig9a23bv] { display: flex; flex-direction: column; border: 1px solid var(--rz-base-300); border-radius: 6px; overflow: hidden; }
.bug-row[b-5nig9a23bv] { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; padding: 10px 12px; border-bottom: 1px solid var(--rz-base-300); cursor: pointer; }
.bug-row:last-child[b-5nig9a23bv] { border-bottom: 0; }
.bug-row.sel[b-5nig9a23bv] { background: var(--rz-primary-lighter); }
.bug-row:focus-visible[b-5nig9a23bv] { outline: 2px solid var(--rz-primary); outline-offset: -2px; }
.gh[b-5nig9a23bv] { font-family: monospace; font-size: 0.8rem; color: var(--rz-primary); font-weight: 500; grid-row: span 2; min-width: 52px; }
.t[b-5nig9a23bv] { font-weight: 500; min-width: 0; }
.meta[b-5nig9a23bv] { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; font-size: 0.78rem; color: var(--rz-text-secondary-color); }
/* /Modules/BugHistory/Shared/BugStatusPill.razor.rz.scp.css */
.bug-pill[b-kzzjk3v61k] { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 1px 8px; border-radius: 999px; white-space: nowrap; }
.reported[b-kzzjk3v61k] { color: #8a5a00; background: #fff3d6; }
.logged[b-kzzjk3v61k] { color: #1f5fbf; background: #e3ecfa; }
.uat[b-kzzjk3v61k] { color: #6b3fb5; background: #efe6fb; }
.tested[b-kzzjk3v61k] { color: #0f7a6b; background: #dcf4ef; }
.live[b-kzzjk3v61k] { color: #1d7a2e; background: #dff3e2; }
.unknown[b-kzzjk3v61k] { color: #5d6b7a; background: #eef1f4; }
/* /Modules/BugHistory/Shared/BugThreadView.razor.rz.scp.css */
.bug-thread[b-u8se45tw9p] { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; background: var(--rz-base-100); }
.bug-thread-top[b-u8se45tw9p] { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; align-items: baseline; }
.bug-thread-top a[b-u8se45tw9p] { font-size: 0.8rem; }
.bug-post[b-u8se45tw9p] { background: var(--rz-base-background-color); border: 1px solid var(--rz-base-300); border-radius: 6px; padding: 8px 10px; font-size: 0.85rem; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bug-post.mine[b-u8se45tw9p] { border-left: 3px solid var(--rz-primary); }
.bug-post.other[b-u8se45tw9p] { opacity: .55; }
.who[b-u8se45tw9p] { font-size: 0.78rem; color: var(--rz-text-secondary-color); }
.who strong[b-u8se45tw9p] { color: var(--rz-text-color); }
.bug-post-body[b-u8se45tw9p] { overflow-wrap: anywhere; }
.bug-post-body[b-u8se45tw9p]  img { max-width: 100%; height: auto; }
.bug-post-body[b-u8se45tw9p]  pre { overflow-x: auto; }
/* /Modules/Identity/Features/Auth/AuthCard.razor.rz.scp.css */
.login-shell[b-ekfc98lihe] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: var(--rz-base-background-color);
}

[b-ekfc98lihe] .login-card {
    width: 100%;
    max-width: 400px;
}

[b-ekfc98lihe] .login-icon {
    font-size: 2.5rem;
}
/* /Modules/Identity/Features/Profile/GetMyProfile/ProfilePage.razor.rz.scp.css */
.profile-avatar[b-u8g47pjmr7] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--rz-primary);
    color: var(--rz-on-primary);
    font-size: 1.4rem;
    font-weight: 600;
}
/* /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/Help/GetHelpArticle/HelpArticlePage.razor.rz.scp.css */
/* Plain elements rendered by this page: readable line length. The body is sanitized HTML from the article editor. */
.help-article[b-3ccf7k7ht4] {
    max-width: 820px;
}

.help-body[b-3ccf7k7ht4] {
    line-height: 1.6;
    font-size: var(--rz-text-body1-font-size);
    color: var(--rz-text-color);
}
/* /Modules/Logs/Features/AccessLog/AccessLogPage.razor.rz.scp.css */
/* Shared look for the three log grids (rendered inside this page's tabs). */
[b-2vwha70m5i] .log-ellipsis {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-2vwha70m5i] .log-mono {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.8125rem;
}

[b-2vwha70m5i] .log-row-failure > td {
    background-color: color-mix(in srgb, var(--rz-danger) 8%, transparent);
}

[b-2vwha70m5i] .log-message {
    white-space: pre-wrap;
    word-break: break-word;
}

[b-2vwha70m5i] .log-exception {
    margin: 0;
    padding: 0.75rem;
    max-height: 360px;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 0.75rem;
    white-space: pre;
    background: var(--rz-base-100);
    color: var(--rz-text-color);
    border-radius: var(--rz-border-radius);
}
/* /Modules/Notifications/Features/InApp/NotificationBell.razor.rz.scp.css */
/* The panel is anchored to .bell, so it always opens right under the bell, whatever was rendered or scrolled before. */
.bell[b-0deoa3khg9] {
    position: relative;
    display: inline-flex;
}

.bell[b-0deoa3khg9]  .bell-button {
    position: relative;
}

.bell[b-0deoa3khg9]  .bell-count {
    position: absolute;
    top: 2px;
    right: 0;
    font-size: 0.65rem;
}

.bell-backdrop[b-0deoa3khg9] {
    position: fixed;
    inset: 0;
    z-index: 1000;
}

.bell-panel[b-0deoa3khg9] {
    position: absolute;
    top: calc(100% + 0.25rem);
    right: 0;
    z-index: 1001;
    width: 340px;
    box-shadow: var(--rz-shadow-3);
    border-radius: var(--rz-border-radius);
    overflow: hidden;
}

/* Phones: the bell is not near the right edge, so pin the panel to the viewport instead of the bell. */
@media (max-width: 576px) {
    .bell-panel[b-0deoa3khg9] {
        position: fixed;
        top: 3.5rem;
        left: 1rem;
        right: 1rem;
        width: auto;
    }
}

.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/RichTextEditor.razor.rz.scp.css */
/* Large screenshots shrink to the editor width instead of forcing horizontal scrolling. */
.rich-text-editor[b-z47mocsz08]  .rz-html-editor-content img {
    max-width: 100%;
    height: auto;
}
/* /Modules/Support/Shared/RichTextView.razor.rz.scp.css */
.rich-text[b-2benolkk8b] {
    overflow-wrap: anywhere;
}

.rich-text[b-2benolkk8b]  p {
    margin: 0 0 0.5rem;
}

.rich-text[b-2benolkk8b]  p:last-child {
    margin-bottom: 0;
}

.rich-text[b-2benolkk8b]  img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0.5rem 0;
    border: 1px solid var(--rz-base-300);
    border-radius: var(--rz-border-radius);
    cursor: zoom-in;
}

.rich-text[b-2benolkk8b]  ul,
.rich-text[b-2benolkk8b]  ol {
    margin: 0 0 0.5rem;
    padding-left: 1.5rem;
}

.rich-text[b-2benolkk8b]  blockquote {
    margin: 0 0 0.5rem;
    padding-left: 0.75rem;
    border-left: 3px solid var(--rz-base-300);
}

.rich-text[b-2benolkk8b]  pre {
    white-space: pre-wrap;
    padding: 0.5rem;
    background: var(--rz-base-100);
    border-radius: var(--rz-border-radius);
}

.rich-text[b-2benolkk8b]  table {
    border-collapse: collapse;
    margin: 0 0 0.5rem;
}

.rich-text[b-2benolkk8b]  td,
.rich-text[b-2benolkk8b]  th {
    border: 1px solid var(--rz-base-300);
    padding: 0.25rem 0.5rem;
}
/* /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] {
    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;
}
