/* /Components/Features/Calendar/CalendarDayDetail.razor.rz.scp.css */
/* /Components/Features/Calendar/CalendarListView.razor.rz.scp.css */
/* /Components/Features/Calendar/CalendarSchedulerView.razor.rz.scp.css */
/* View selection (Month/Week/Day) and the "today" jump are driven by the page
   toolbar, so hide the scheduler's built-in view tabs and today button. The
   prev / next navigation stays. */
[b-qasfu3w5xt] .rz-scheduler-nav-views {
    display: none;
}

[b-qasfu3w5xt] .rz-scheduler-nav .rz-today {
    display: none;
}

/* Scheduler theme */
[b-qasfu3w5xt] .rz-scheduler-nav {
    background: transparent;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
}

/* E2E verification pass 2 regression: Week view collapsed MAAND/WEEK/DAG
   toggle onto a second line below "Vandaag". Force the view switcher to
   stay inline with the date range even on narrower viewports. */
[b-qasfu3w5xt] .rz-scheduler-nav .rz-scheduler-views {
    flex-shrink: 0;
}

[b-qasfu3w5xt] .rz-scheduler-nav .rz-button-text {
    color: var(--rz-text-color);
}

[b-qasfu3w5xt] .rz-scheduler-nav .rz-button {
    background: transparent;
    color: var(--rz-text-color);
}

[b-qasfu3w5xt] .rz-scheduler-nav .rz-scheduler-views {
    background: transparent;
    border: 1px solid var(--rz-border-color);
    border-radius: 6px;
}

[b-qasfu3w5xt] .rz-scheduler-nav .rz-scheduler-views .rz-button {
    background: transparent;
    color: var(--rz-text-color);
}

[b-qasfu3w5xt] .rz-scheduler-nav .rz-scheduler-views .rz-button.rz-state-active {
    background: var(--rz-primary);
    color: var(--rz-on-primary);
}

/* Taller day cells so up to MaxAppointmentsInSlot (3) appointments plus the
   "+N more" link fit before collapsing. */
[b-qasfu3w5xt] .rz-scheduler-month .rz-slots .rz-slot {
    min-height: 7.5rem;
}

/* Compact appointments so more fit per cell. */
[b-qasfu3w5xt] .rz-scheduler-month .rz-event {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    line-height: 1.35;
    padding-block: 1px;
}

[b-qasfu3w5xt] .rz-scheduler-month .rz-event-list-btn {
    font-size: 0.72rem;
    padding-block: 1px;
}

/* ── Task chip strip ───────────────────────────────────────────────────── */

.adv-scheduler-task-strip[b-qasfu3w5xt] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.5rem 0.25rem 0.25rem;
    border-top: 1px solid var(--rz-border-color);
    margin-top: 0.25rem;
}

.adv-scheduler-task-group[b-qasfu3w5xt] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.adv-scheduler-task-date[b-qasfu3w5xt] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--adv-text-muted, var(--rz-text-disabled-color));
    white-space: nowrap;
    min-width: 5.5rem;
    padding-top: 0.15rem;
    flex-shrink: 0;
}

.adv-scheduler-task-chips[b-qasfu3w5xt] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    flex: 1;
}

/* Task chips: square corners distinguish them from rounded appointment pills. */
.adv-task-chip[b-qasfu3w5xt] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.4rem;
    background: color-mix(in srgb, var(--chip-color, #888) 18%, transparent);
    border: 1px solid color-mix(in srgb, var(--chip-color, #888) 55%, transparent);
    border-radius: 3px; /* square corners — appointments use 999px */
    font-size: 0.72rem;
    color: var(--rz-text-color);
    cursor: pointer;
    max-width: 14rem;
    transition: background 0.15s;
    white-space: nowrap;
    line-height: 1.4;
}

.adv-task-chip:hover[b-qasfu3w5xt] {
    background: color-mix(in srgb, var(--chip-color, #888) 30%, transparent);
}

.adv-task-chip--done[b-qasfu3w5xt] {
    opacity: 0.55;
    text-decoration: line-through;
}

.adv-task-chip-icon[b-qasfu3w5xt] {
    font-size: 0.85rem !important;
    line-height: 1 !important;
    flex-shrink: 0;
    color: var(--chip-color, #888);
}

.adv-task-chip-label[b-qasfu3w5xt] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 12rem;
}
/* /Components/Features/Calendar/CalendarTaskDialog.razor.rz.scp.css */
.task-case-results[b-pn306ycxc5] {
    border: 1px solid var(--adv-border);
    border-radius: 6px;
    overflow: hidden;
}

.task-case-row[b-pn306ycxc5] {
    padding: 0.4rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    border-bottom: 1px solid var(--adv-border);
    transition: background 0.15s;
}

.task-case-row:last-child[b-pn306ycxc5] {
    border-bottom: none;
}

.task-case-row:hover[b-pn306ycxc5] {
    background: rgba(74, 159, 213, 0.06);
}
/* /Components/Features/Calendar/CalendarToolbar.razor.rz.scp.css */
.calendar-toolbar[b-16383c3a9a] {
    margin-bottom: 1rem;
}
/* /Components/Features/Calendar/NewAppointmentDialog.razor.rz.scp.css */
.appt-case-results[b-nbqq50s7ii] {
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid var(--adv-border);
    border-radius: 6px;
}

.appt-case-row[b-nbqq50s7ii] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid var(--adv-border);
}

.appt-case-row:last-child[b-nbqq50s7ii] {
    border-bottom: none;
}

.appt-case-row:hover[b-nbqq50s7ii] {
    background: rgba(74, 159, 213, 0.06);
}

.appt-case-row.appt-case-linked[b-nbqq50s7ii] {
    background: rgba(39, 174, 96, 0.06);
}
/* /Components/Features/Cases/CaseTagChips.razor.rz.scp.css */
.case-tag-chips-row[b-7tchi0nd6x] {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.case-kpi-tag[b-7tchi0nd6x] {
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 0.72rem;
    line-height: 1.5;
    white-space: nowrap;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
}

.case-tag-more[b-7tchi0nd6x] {
    cursor: default;
}
/* /Components/Features/Cases/Modals/AddCaseAppointmentDialog.razor.rz.scp.css */
.add-appt-choice-card[b-b2kzq1l2i1] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--adv-border);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.add-appt-choice-card:hover[b-b2kzq1l2i1] {
    background: rgba(74, 159, 213, 0.04);
    border-color: var(--adv-primary);
}

.add-appt-choice-icon[b-b2kzq1l2i1] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    flex-shrink: 0;
}

.add-appt-choice-text[b-b2kzq1l2i1] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
}

.add-appt-choice-title[b-b2kzq1l2i1] {
    font-weight: 600;
    font-size: 0.9rem;
}

.add-appt-choice-desc[b-b2kzq1l2i1] {
    font-size: 0.8rem;
    color: var(--adv-text-muted);
}

.add-appt-results[b-b2kzq1l2i1] {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--adv-border);
    border-radius: 6px;
}

.add-appt-result-row[b-b2kzq1l2i1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid var(--adv-border);
}

.add-appt-result-row:last-child[b-b2kzq1l2i1] {
    border-bottom: none;
}

.add-appt-result-row:hover[b-b2kzq1l2i1] {
    background: rgba(74, 159, 213, 0.06);
}

.add-appt-result-row.add-appt-result-selected[b-b2kzq1l2i1] {
    background: rgba(39, 174, 96, 0.06);
}

.add-appt-result-info[b-b2kzq1l2i1] {
    flex: 1;
    min-width: 0;
}

.add-appt-result-date[b-b2kzq1l2i1] {
    font-weight: 600;
    font-size: 0.83rem;
    color: var(--adv-primary-dark);
}

.add-appt-result-time[b-b2kzq1l2i1] {
    font-size: 0.8rem;
    color: var(--adv-text-muted);
}

.add-appt-result-subject[b-b2kzq1l2i1] {
    font-size: 0.85rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Features/Cases/Modals/ManageTagsDialog.razor.rz.scp.css */
.tag-dialog-list[b-urmg6wzsvs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.tag-dialog-chip[b-urmg6wzsvs] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.7rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    transition: transform 0.15s, box-shadow 0.15s, opacity 0.15s;
}

.tag-dialog-chip-active[b-urmg6wzsvs] {
    background: var(--tag-color);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.tag-dialog-chip-available[b-urmg6wzsvs] {
    background: var(--tag-color);
    opacity: 0.65;
    cursor: pointer;
}

.tag-dialog-chip-available:hover[b-urmg6wzsvs] {
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.tag-dialog-chip-name[b-urmg6wzsvs] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}

.tag-dialog-chip-remove[b-urmg6wzsvs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    margin-left: 0.15rem;
    cursor: pointer;
    opacity: 0.6;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    transition: opacity 0.15s, background 0.15s;
    color: inherit;
}

.tag-dialog-chip-remove:hover[b-urmg6wzsvs] {
    opacity: 1;
    background: var(--rz-base-200, rgba(0, 0, 0, 0.1));
}

.tag-dialog-empty[b-urmg6wzsvs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.25rem 0;
}
/* /Components/Features/Cases/Modals/MemoDialog.razor.rz.scp.css */
.memo-content-field[b-3c5uq2jk4w] {
    width: 100%;
}

.memo-content-wrapper[b-3c5uq2jk4w] {
    position: relative;
    width: 100%;
}

.memo-content-textarea[b-3c5uq2jk4w] {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    min-height: 96px;
    padding: 0.5rem 0.75rem;
    font: inherit;
    color: var(--rz-text-color, #333);
    background: var(--rz-input-background-color, #fff);
    border: 1px solid var(--rz-input-border-color, #ccc);
    border-radius: 4px;
}

.memo-content-textarea:focus[b-3c5uq2jk4w] {
    outline: none;
    border-color: var(--rz-primary, #2d7ab5);
    box-shadow: 0 0 0 1px var(--rz-primary, #2d7ab5);
}

.memo-mention-picker[b-3c5uq2jk4w] {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1100;
    margin-top: 2px;
    max-height: 200px;
    overflow-y: auto;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-border-color, #e0e0e0);
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.memo-mention-item[b-3c5uq2jk4w] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    font-size: 0.85rem;
    cursor: pointer;
}

.memo-mention-item:hover[b-3c5uq2jk4w] {
    background: rgba(45, 122, 181, 0.08);
}
/* /Components/Features/Cases/Tabs/CaseDetailMemosTab.razor.rz.scp.css */
.case-memo-tags[b-qlufxzqnmu] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.4rem;
}
/* /Components/Features/Documents/DocumentBrowser.razor.rz.scp.css */
/* ==========================================================================
   DocumentBrowser — unified folder+file grid (SharePoint-style). #1795
   ========================================================================== */

/* Name cell: icon + name + (hover) pencil, on one line. */
.docbrowser-name[b-mlamsnm64c] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

/* Folders read slightly stronger than files. */
.docbrowser-foldername[b-mlamsnm64c] {
    font-weight: 600;
}

/* The rename pencil stays out of the way until the name cell is hovered. */
.docbrowser-pencil[b-mlamsnm64c] {
    opacity: 0;
    transition: opacity 0.15s ease;
}

.docbrowser-name:hover .docbrowser-pencil[b-mlamsnm64c] {
    opacity: 0.6;
}

.docbrowser-pencil:hover[b-mlamsnm64c] {
    opacity: 1;
}
/* /Components/Features/Documents/DocumentDetailDialog.razor.rz.scp.css */
/* Rounded tinted tile behind the file-type icon. --rz-base-200 adapts to
   the active theme, so it stays a subtle surface in light and dark. */
.doc-detail__icon[b-fefbn7j8og] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--rz-base-200, rgba(128, 128, 128, 0.12));
    flex-shrink: 0;
}

/* Small pill chip for the locked state — warning tokens keep it legible
   against both light and dark dialog surfaces. */
.doc-detail__lock[b-fefbn7j8og] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    background: var(--rz-warning-lighter, #fff3e0);
    color: var(--rz-warning-darker, #8a5300);
}

/* Compact uppercase field label sitting above its value. */
.doc-detail__label[b-fefbn7j8og] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--rz-text-secondary-color);
    margin-bottom: 0.25rem;
}
/* /Components/Features/Documents/DocumentTemplatesTab.razor.rz.scp.css */
.templates-tab[b-ow1rdu5yyz] {
    padding: 0;
}

.templates-tab__toolbar[b-ow1rdu5yyz] {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.templates-group[b-ow1rdu5yyz] {
    margin-bottom: 1.5rem;
}

/* Category heading: title + count chip on a subtle divider. */
.templates-group__heading[b-ow1rdu5yyz] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-bottom: 1px solid var(--adv-border);
    padding-bottom: 0.4rem;
    margin-bottom: 1rem;
}

.templates-group__title[b-ow1rdu5yyz] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--adv-text);
}

.templates-group__count[b-ow1rdu5yyz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    background: rgba(var(--adv-primary-rgb), 0.12);
    color: var(--adv-primary-dark);
}

/* Empty state: centered colored chip + message + CTA. */
.templates-empty[b-ow1rdu5yyz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3.5rem 1rem;
    text-align: center;
}

.templates-empty__icon[b-ow1rdu5yyz] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: rgba(var(--adv-primary-rgb), 0.1);
    color: var(--adv-primary);
}

.templates-empty__text[b-ow1rdu5yyz] {
    color: var(--adv-text-muted) !important;
    max-width: 22rem;
    margin: 0;
}
/* /Components/Features/Documents/DocumentUploadDialog.razor.rz.scp.css */
/* Read-only destination banner (the folder selected in the tree). */
.upload-destination[b-x46kt49xze] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
    background: var(--rz-base-200);
}

/* Drop zone: dashed surface that highlights to the primary accent on hover.
   The transparent InputFile overlays the whole zone so the entire area is
   clickable. All colours are theme tokens, so contrast holds in dark mode. */
.upload-drop-zone[b-x46kt49xze] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--rz-border-color);
    border-radius: 10px;
    padding: 2rem;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.upload-drop-zone:hover[b-x46kt49xze] {
    border-color: var(--rz-primary);
    background-color: var(--rz-base-200);
}

/* The transparent file <input> overlay is styled inline in the .razor —
   scoped CSS can't reach the element InputFile renders. */

/* Selected files render as compact bordered rows with a truncating name. */
.upload-file-row[b-x46kt49xze] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--rz-border-color);
    border-radius: 6px;
    background: var(--rz-base-100);
}

.upload-file-row__name[b-x46kt49xze] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Features/Documents/TemplateCard.razor.rz.scp.css */
/* TemplateCard: a frosted-glass tile (dash-card base) for a document template,
   aligned to the settings-card family — colored icon chip, distinct status pill,
   hover lift, and a primary "Use" CTA with muted icon utilities. #1797 */

.template-card[b-zt8qzmy3b6] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    height: 100%;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.template-card:hover[b-zt8qzmy3b6] {
    transform: translateY(-2px);
    box-shadow: var(--adv-shadow-elevated-hover) !important;
}

.template-card--inactive[b-zt8qzmy3b6] {
    opacity: 0.6;
    filter: grayscale(0.35);
}

.template-card__header[b-zt8qzmy3b6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

/* Colored icon chip — mirrors .settings-card-icon (48x48, radius 12, tinted).
   The material icon inherits its colour from the chip (currentColor). */
.template-card__icon[b-zt8qzmy3b6] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    flex-shrink: 0;
}

.template-card__icon--standard[b-zt8qzmy3b6] {
    background: rgba(var(--adv-primary-rgb), 0.12);
    color: var(--adv-primary);
}

.template-card__icon--custom[b-zt8qzmy3b6] {
    background: rgba(var(--adv-slate-rgb), 0.12);
    color: var(--adv-slate);
}

/* Status pill — Standard (brand) vs Custom (slate), distinct at a glance. */
.template-card__badge[b-zt8qzmy3b6] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    white-space: nowrap;
}

.template-card__badge--standard[b-zt8qzmy3b6] {
    background: rgba(var(--adv-primary-rgb), 0.12);
    color: var(--adv-primary-dark);
}

.template-card__badge--custom[b-zt8qzmy3b6] {
    background: rgba(var(--adv-slate-rgb), 0.10);
    color: var(--adv-slate);
}

/* Name: clamp to 2 lines so cards keep a consistent height. */
.template-card__name[b-zt8qzmy3b6] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 0 !important;
    color: var(--adv-text);
}

/* Description: muted, up to 2 lines. */
.template-card__description[b-zt8qzmy3b6] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0 !important;
    color: var(--adv-text-muted) !important;
}

/* Category tag + last-used, pushed to the bottom of the card. */
.template-card__meta[b-zt8qzmy3b6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.5rem;
}

.template-card__tag[b-zt8qzmy3b6] {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 500;
    background: var(--adv-border-subtle);
    color: var(--adv-text-muted);
}

.template-card__lastused[b-zt8qzmy3b6] {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.72rem;
    color: var(--adv-text-muted);
}

/* Action bar — primary CTA left, muted icon utilities right. */
.template-card__actions[b-zt8qzmy3b6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding-top: 0.625rem;
    margin-top: 0.25rem;
    border-top: 1px solid var(--adv-border);
}

.template-card__utils[b-zt8qzmy3b6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.125rem;
}

/* Native icon buttons (RadzenButton Variant.Text + colored style drops the glyph
   and shows a colored block — #1782). Glyph color comes from the button via
   currentColor; muted by default, accented per state. */
.template-card__iconbtn[b-zt8qzmy3b6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--adv-text-muted);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.template-card__iconbtn:hover:not(:disabled)[b-zt8qzmy3b6] {
    background: rgba(var(--adv-primary-rgb), 0.08);
    color: var(--adv-primary);
}

.template-card__iconbtn:disabled[b-zt8qzmy3b6] {
    opacity: 0.4;
    cursor: default;
}

.template-card__iconbtn--active[b-zt8qzmy3b6] {
    color: var(--adv-success);
}

.template-card__iconbtn--active:hover:not(:disabled)[b-zt8qzmy3b6] {
    background: rgba(var(--adv-success-rgb), 0.10);
    color: var(--adv-success);
}

.template-card__iconbtn--danger[b-zt8qzmy3b6] {
    color: var(--adv-danger);
}

.template-card__iconbtn--danger:hover:not(:disabled)[b-zt8qzmy3b6] {
    background: rgba(var(--adv-danger-rgb), 0.10);
    color: var(--adv-danger);
}
/* /Components/Features/Documents/UploadTemplateDialog.razor.rz.scp.css */
/* Drop zone: dashed surface that highlights to the primary accent on hover.
   The transparent InputFile overlays the whole zone so the entire area is
   clickable. All colours are theme tokens, so contrast holds in dark mode. */
.upload-template-drop-zone[b-3845qx0k30] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--rz-border-color);
    border-radius: 10px;
    padding: 2rem;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.upload-template-drop-zone:hover[b-3845qx0k30] {
    border-color: var(--rz-primary);
    background-color: var(--rz-base-200);
}

/* The transparent file <input> overlay is styled inline in the .razor —
   scoped CSS can't reach the element InputFile renders. */

/* Selected file renders as a compact bordered row with a truncating name. */
.upload-template-file-row[b-3845qx0k30] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.625rem;
    border: 1px solid var(--rz-border-color);
    border-radius: 6px;
    background: var(--rz-base-100);
}

.upload-template-file-row__name[b-3845qx0k30] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Features/Parties/SavedFiltersMenu.razor.rz.scp.css */
.saved-filters[b-n9v0fzzrqo] {
    position: relative;
    display: inline-block;
    z-index: 1001;
}

.saved-filters__backdrop[b-n9v0fzzrqo] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: transparent;
}

.saved-filters__popup[b-n9v0fzzrqo] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 1002;
    min-width: 260px;
    max-height: 360px;
    overflow-y: auto;
    background: var(--adv-surface);
    border: 1px solid var(--adv-border);
    border-radius: 0.6rem;
    box-shadow: var(--adv-shadow-elevated);
    padding: 0.35rem;
}

.saved-filters__empty[b-n9v0fzzrqo] {
    padding: 0.6rem 0.7rem;
    color: var(--adv-text-muted);
    font-size: 0.85rem;
}

.saved-filters__row[b-n9v0fzzrqo] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.saved-filters__apply[b-n9v0fzzrqo] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1 1 auto;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    padding: 0.45rem 0.55rem;
    border-radius: 0.45rem;
    font-size: 0.88rem;
    color: var(--adv-text);
}

.saved-filters__apply:hover[b-n9v0fzzrqo] {
    background: var(--adv-row-hover);
}

.saved-filters__star[b-n9v0fzzrqo] {
    color: var(--adv-warning);
    font-size: 1rem;
}

.saved-filters__delete[b-n9v0fzzrqo] {
    border: none;
    background: transparent;
    color: var(--adv-text-muted);
    cursor: pointer;
    padding: 0.3rem;
    border-radius: 50%;
}

.saved-filters__delete:hover[b-n9v0fzzrqo] {
    color: var(--adv-danger);
    background: var(--adv-row-hover);
}

.saved-filters__delete-icon[b-n9v0fzzrqo] {
    font-size: 1.05rem;
}

.saved-filters__divider[b-n9v0fzzrqo] {
    height: 1px;
    margin: 0.35rem 0.25rem;
    background: var(--adv-border);
}

.saved-filters__save[b-n9v0fzzrqo] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.25rem;
}

.saved-filters__name[b-n9v0fzzrqo] {
    border: 1px solid var(--adv-input-border);
    border-radius: 0.45rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.85rem;
    outline: none;
}

.saved-filters__name:focus[b-n9v0fzzrqo] {
    border-color: var(--adv-primary);
    box-shadow: var(--adv-focus-shadow);
}

.saved-filters__default[b-n9v0fzzrqo] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    color: var(--adv-text-muted);
    cursor: pointer;
}
/* /Components/Features/Shared/AuditHistoryPanel.razor.rz.scp.css */
/* Odoo-style audit "chatter" rail. Uses the global --adv-* brand tokens so it
   matches house style without depending on any page's scoped CSS. */

.audit-panel[b-ht09ng16qs] {
    display: flex;
    flex-direction: column;
    width: 340px;
    max-width: 100%;
    max-height: calc(100vh - 120px);
    background: #fff;
    border: 1px solid var(--adv-border);
    border-radius: 10px;
    box-shadow: var(--adv-shadow-card);
    overflow: hidden;
}

.audit-panel--collapsed[b-ht09ng16qs] {
    width: 44px;
    min-width: 44px;
}

/* Full-width variant for inline/dialog embedding (overrides the fixed rail width).
   The caller wraps this in a RadzenCard, so we shed our own card chrome. */
.audit-panel--inline[b-ht09ng16qs] {
    width: 100%;
    min-width: 0;
    max-height: none;
    border: none;
    box-shadow: none;
    border-radius: 0;
    background: transparent;
}

.audit-panel--inline .audit-panel-body[b-ht09ng16qs] {
    max-height: 380px;
    overflow-y: auto;
}

.audit-panel--inline .audit-panel-header[b-ht09ng16qs] {
    background: transparent;
    border-bottom-color: var(--adv-border);
    padding-left: 0;
    padding-right: 0;
}

/* When the inline panel is collapsed keep it full-width (the rail 44px doesn't apply). */
.audit-panel--inline.audit-panel--collapsed[b-ht09ng16qs] {
    width: 100%;
    min-width: 0;
}

.audit-panel-header[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--adv-border);
    background: rgba(var(--adv-primary-rgb), 0.04);
}

.audit-panel-title[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--adv-primary);
    font-weight: 600;
    font-size: 0.9rem;
    min-width: 0;
}

.audit-panel-title-text[b-ht09ng16qs] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.audit-panel-actions[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.audit-panel-body[b-ht09ng16qs] {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 0.5rem 0.5rem;
    display: flex;
    flex-direction: column;
}

.audit-state[b-ht09ng16qs] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 2rem 1rem;
    color: var(--adv-text-muted);
    text-align: center;
    font-size: 0.82rem;
}

.audit-state--error[b-ht09ng16qs] {
    color: var(--adv-danger);
}

/* ── User filter ── */

.audit-filter-bar[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.5rem 0.3rem;
    border-bottom: 1px solid var(--adv-border);
}

.audit-filter-btn[b-ht09ng16qs] {
    all: unset;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    color: var(--adv-text-muted);
    cursor: pointer;
    padding: 0.25rem 0.35rem;
    border-radius: 6px;
    transition: color 0.15s;
}

.audit-filter-btn:hover[b-ht09ng16qs] {
    color: var(--adv-primary);
}

.audit-filter-btn--active[b-ht09ng16qs] {
    color: var(--adv-primary);
}

.audit-filter-count[b-ht09ng16qs] {
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--adv-primary);
    color: #fff;
    border-radius: 10px;
    padding: 0 0.35rem;
}

.audit-filter-modal-backdrop[b-ht09ng16qs] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.audit-filter-modal[b-ht09ng16qs] {
    background: var(--rz-base-background-color, #fff);
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    min-width: 240px;
    max-width: 360px;
    width: 100%;
    overflow: hidden;
}

.audit-filter-modal-header[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.audit-filter-modal-title[b-ht09ng16qs] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--adv-text);
}

.audit-filter-modal-close[b-ht09ng16qs] {
    all: unset;
    cursor: pointer;
    color: var(--adv-text-muted);
    display: flex;
    align-items: center;
    border-radius: 4px;
    padding: 2px;
    transition: color 0.15s;
}

.audit-filter-modal-close:hover[b-ht09ng16qs] {
    color: var(--adv-primary);
}

.audit-filter-modal-body[b-ht09ng16qs] {
    padding: 0.5rem 0;
}

.audit-filter-user[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    cursor: pointer;
    font-size: 0.82rem;
    color: var(--adv-text);
}

.audit-filter-user:hover[b-ht09ng16qs] {
    background: rgba(var(--adv-primary-rgb), 0.05);
}

.audit-avatar--sm[b-ht09ng16qs] {
    width: 20px;
    height: 20px;
    font-size: 0.6rem;
}

/* ── Timeline overrides ── */

/* Remove Radzen's default outer padding so the timeline hugs the panel body. */
[b-ht09ng16qs] .audit-timeline {
    padding: 0;
}

/* Tighten the gap between items — the default Radzen spacing is too open for a panel. */
[b-ht09ng16qs] .audit-timeline .rz-timeline-item {
    padding-bottom: 0.75rem;
}

/* Larger dot and icon in the timeline separator. */
[b-ht09ng16qs] .audit-timeline .rz-timeline-item-dot {
    width: 30px !important;
    height: 30px !important;
}

[b-ht09ng16qs] .audit-timeline .rz-timeline-item-dot .rzi {
    font-size: 18px !important;
}

/* Alternate left-side items: reverse avatar ↔ chevron so avatar stays near the dot. */
[b-ht09ng16qs] .audit-timeline .rz-timeline-item:nth-child(even) .audit-entry-head {
    flex-direction: row-reverse;
}

/* Left-side: mirror body padding and right-align field label + values under the heading. */
[b-ht09ng16qs] .audit-timeline .rz-timeline-item:nth-child(even) .audit-entry-body {
    padding-left: 0;
    padding-right: 0.5rem;
}

[b-ht09ng16qs] .audit-timeline .rz-timeline-item:nth-child(even) .audit-change {
    align-items: flex-end;
    text-align: right;
}

[b-ht09ng16qs] .audit-timeline .rz-timeline-item:nth-child(even) .audit-values {
    justify-content: flex-end;
}

/* ── Single-column mode (phone/tablet full-screen dialog) ──
   Line on the left, every entry stacked the same way. Undo the alternate-side
   mirroring and enlarge everything for touch readability. */
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item:nth-child(even) .audit-entry-head {
    flex-direction: row;
}
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item:nth-child(even) .audit-entry-body {
    padding-left: 0.6rem;
    padding-right: 0;
}
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item:nth-child(even) .audit-change {
    align-items: flex-start;
    text-align: left;
}
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item:nth-child(even) .audit-values {
    justify-content: flex-start;
}
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item {
    padding-bottom: 1.1rem;
}
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item-dot {
    width: 34px !important;
    height: 34px !important;
}
[b-ht09ng16qs] .audit-timeline--single .rz-timeline-item-label {
    flex: 0 0 84px;
    max-width: 84px;
    font-size: 0.82rem;
}
.audit-timeline--single .audit-avatar[b-ht09ng16qs] {
    width: 32px;
    height: 32px;
    font-size: 0.8rem;
}
.audit-timeline--single .audit-actor[b-ht09ng16qs] {
    font-size: 1rem;
    white-space: normal;
}
.audit-timeline--single .audit-action[b-ht09ng16qs] {
    font-size: 0.92rem;
}
.audit-timeline--single .audit-time[b-ht09ng16qs] {
    font-size: 0.82rem;
}
.audit-timeline--single .audit-entry-body[b-ht09ng16qs] {
    padding: 0.5rem 0 0.5rem 0.6rem;
}
.audit-timeline--single .audit-field[b-ht09ng16qs] {
    font-size: 0.9rem;
}
.audit-timeline--single .audit-values[b-ht09ng16qs] {
    font-size: 0.9rem;
    flex-wrap: wrap;
}

/* ── Timeline entry body (ChildContent) ── */

.audit-entry-body[b-ht09ng16qs] {
    padding: 0.35rem 0 0.35rem 0.5rem;
}

.audit-entry-head[b-ht09ng16qs] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.audit-avatar[b-ht09ng16qs] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--adv-primary);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.audit-entry-meta[b-ht09ng16qs] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
}

.audit-actor[b-ht09ng16qs] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--adv-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Timestamp in LabelContent — constrain to a fixed column so the center dot
   sits close to the left and the content side takes the remaining space. */
[b-ht09ng16qs] .audit-timeline .rz-timeline-item-label {
    flex: 0 0 70px;
    min-width: 0;
    max-width: 70px;
    font-size: 0.72rem;
    color: var(--adv-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.audit-time[b-ht09ng16qs] {
    font-size: 0.72rem;
    color: var(--adv-text-muted);
    white-space: nowrap;
}

.audit-action[b-ht09ng16qs] {
    font-size: 0.82rem;
    color: var(--adv-text);
}

.audit-entry-head--toggle[b-ht09ng16qs] {
    cursor: pointer;
    border-radius: 4px;
    padding: 0.1rem 0.2rem;
    transition: color 0.15s;
}

.audit-entry-head--toggle:hover[b-ht09ng16qs] {
    color: var(--adv-primary);
}

.audit-chevron[b-ht09ng16qs] {
    font-size: 16px !important;
    color: var(--adv-text-muted);
    flex-shrink: 0;
    align-self: center;
    transition: color 0.15s;
}

.audit-entry-head--toggle:hover .audit-chevron[b-ht09ng16qs] {
    color: var(--adv-primary);
}

.audit-changes[b-ht09ng16qs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.audit-change[b-ht09ng16qs] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
    background: rgba(var(--adv-primary-rgb), 0.04);
    font-size: 0.76rem;
}

.audit-field[b-ht09ng16qs] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--adv-text-muted);
}

.audit-values[b-ht09ng16qs] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.audit-from[b-ht09ng16qs] {
    color: var(--adv-text-muted);
    text-decoration: line-through;
}

.audit-arrow[b-ht09ng16qs] {
    font-size: 13px;
    color: var(--adv-text-muted);
}

.audit-to[b-ht09ng16qs] {
    color: var(--adv-text);
    font-weight: 600;
}
/* /Components/Layout/MinimalLayout.razor.rz.scp.css */
.adv-minimal-layout[b-63pobmjn53] {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    box-sizing: border-box;
}

.adv-minimal-topbar[b-63pobmjn53] {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    z-index: 10;
    pointer-events: none;
}

.adv-minimal-topbar > *[b-63pobmjn53] {
    pointer-events: auto;
}

.adv-minimal-topbar-actions[b-63pobmjn53] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.adv-minimal-body[b-63pobmjn53] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 480px) {
    .adv-minimal-topbar[b-63pobmjn53] {
        top: 0.5rem;
        right: 0.75rem;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-imf2z45zkn],
.components-reconnect-repeated-attempt-visible[b-imf2z45zkn],
.components-reconnect-failed-visible[b-imf2z45zkn],
.components-pause-visible[b-imf2z45zkn],
.components-resume-failed-visible[b-imf2z45zkn],
.components-rejoining-animation[b-imf2z45zkn] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-retrying[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-failed[b-imf2z45zkn],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-imf2z45zkn] {
    display: block;
}


#components-reconnect-modal[b-imf2z45zkn] {
    background-color: var(--rz-dialog-background-color);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: var(--rz-dialog-border-radius);
    box-shadow: var(--rz-dialog-shadow);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-imf2z45zkn 0.5s both;
    &[open] {
        animation: components-reconnect-modal-slideUp-b-imf2z45zkn 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-imf2z45zkn 0.5s ease-in-out 0.3s;
        animation-fill-mode: both;
    }

}

#components-reconnect-modal[b-imf2z45zkn]::backdrop {
    background-color: var(--rz-dialog-mask-background-color);
    animation: components-reconnect-modal-fadeInOpacity-b-imf2z45zkn 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-imf2z45zkn {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-imf2z45zkn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-imf2z45zkn {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-imf2z45zkn] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-imf2z45zkn] {
    margin: 0;
    text-align: center;
}

.components-rejoining-animation[b-imf2z45zkn] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-imf2z45zkn] {
        position: absolute;
        border: 3px solid var(--rz-primary);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-imf2z45zkn 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-imf2z45zkn] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-imf2z45zkn {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Accounting/AccountingDashboard.razor.rz.scp.css */
.accounting-dashboard-page[b-115jpj4w01] {
    padding: 1.5rem;
}

.accounting-dashboard-header[b-115jpj4w01] {
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Accounting/AccountingSettings.razor.rz.scp.css */
.settings-sub-page[b-y5f1j5dz34] {
    padding: 0.5rem 0;
}

.settings-sub-header[b-y5f1j5dz34] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-y5f1j5dz34] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-y5f1j5dz34],
.settings-card-icon .material-icons[b-y5f1j5dz34] {
    font-size: 24px !important;
}

.settings-tab-content[b-y5f1j5dz34] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-y5f1j5dz34] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Accounting/BankStatementDetail.razor.rz.scp.css */
.bank-statement-detail-page[b-qoazi88zw8] {
    padding: 0.5rem 0;
}

.bs-detail-header[b-qoazi88zw8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.bs-header-top[b-qoazi88zw8] {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    flex: 1;
}

.bs-header-title[b-qoazi88zw8] {
    min-width: 0;
    overflow: hidden;
}

.bs-header-actions[b-qoazi88zw8] {
    flex-shrink: 0;
}

.bs-detail-icon[b-qoazi88zw8] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(74, 159, 213, 0.12);
    color: var(--adv-primary);
}

.bs-detail-icon .rzi[b-qoazi88zw8],
.bs-detail-icon .material-icons[b-qoazi88zw8] {
    font-size: 24px !important;
}

/* Grid hover now handled globally in site.css */

@media (max-width: 768px) {
    .bs-detail-header[b-qoazi88zw8] {
        flex-direction: column;
        align-items: flex-start;
    }

    .bs-header-actions[b-qoazi88zw8] {
        width: 100%;
    }
}
/* /Components/Pages/Accounting/BankStatements.razor.rz.scp.css */
.bank-statements-header[b-0pzrktjcbf] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.criteria-card[b-0pzrktjcbf] {
    background: var(--rz-base-background-color);
    border: 1px solid var(--adv-border);
    border-radius: 8px;
    padding: 1rem 1.25rem;
}

/* Grid hover/pager/footer now handled globally in site.css */
/* /Components/Pages/Accounting/CreateInvoice.razor.rz.scp.css */
.create-invoice-page[b-jfhl7fguax] {
    padding: 1.5rem;
}

.create-invoice-header[b-jfhl7fguax] {
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Accounting/FiscalForms.razor.rz.scp.css */
.fiscal-forms-page[b-l2gvjcfql8] {
    padding: 1.5rem;
}

.fiscal-forms-header[b-l2gvjcfql8] {
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Accounting/InvoiceDetail.razor.rz.scp.css */
.invoice-detail-page[b-cyelych1wg] {
    padding: 0.5rem 0;
}

.invoice-detail-header[b-cyelych1wg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.invoice-header-top[b-cyelych1wg] {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    flex: 1;
}

.invoice-header-title[b-cyelych1wg] {
    min-width: 0;
    overflow: hidden;
}

.invoice-header-actions[b-cyelych1wg] {
    flex-shrink: 0;
}

.invoice-detail-icon[b-cyelych1wg] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(74, 159, 213, 0.12);
    color: var(--adv-primary);
}

.invoice-detail-icon .rzi[b-cyelych1wg],
.invoice-detail-icon .material-icons[b-cyelych1wg] {
    font-size: 24px !important;
}

/* Grid hover now handled globally in site.css */

@media (max-width: 768px) {
    .invoice-detail-header[b-cyelych1wg] {
        flex-direction: column;
        align-items: flex-start;
    }

    .invoice-header-actions[b-cyelych1wg] {
        width: 100%;
    }
}
/* /Components/Pages/Accounting/Invoices.razor.rz.scp.css */
.invoices-header[b-xfi8biegjg] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.criteria-card[b-xfi8biegjg] {
    background: var(--rz-base-background-color);
    border: 1px solid var(--adv-border);
    border-radius: 8px;
    padding: 1rem 1.25rem;
}

/* Grid hover/pager/footer now handled globally in site.css */
/* /Components/Pages/Accounting/Journals.razor.rz.scp.css */
.journals-page[b-9azxngqxyi] {
    padding: 1.5rem;
}

.journals-header[b-9azxngqxyi] {
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Accounting/Provisions.razor.rz.scp.css */
.provisions-header[b-pco6hcvdaw] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.criteria-card[b-pco6hcvdaw] {
    background: var(--rz-base-background-color);
    border: 1px solid var(--adv-border);
    border-radius: 8px;
    padding: 1rem 1.25rem;
}

/* Grid hover/pager/footer now handled globally in site.css */
/* /Components/Pages/Accounting/Reports.razor.rz.scp.css */
.reports-page[b-1yay0727cf] {
    padding: 1.5rem;
}

.reports-header[b-1yay0727cf] {
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Accounting/VatDeclarations.razor.rz.scp.css */
.vat-declarations-page[b-graotfpsi7] {
    padding: 1.5rem;
}

.vat-declarations-header[b-graotfpsi7] {
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Calculations/CalcPage.razor.rz.scp.css */
.settings-header[b-uxfqa1z9l2] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card[b-uxfqa1z9l2] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: box-shadow 0.2s, transform 0.2s;
    cursor: pointer;
}

.settings-card:hover[b-uxfqa1z9l2] {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-2px);
}

.settings-card-icon[b-uxfqa1z9l2] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.settings-card-icon .rzi[b-uxfqa1z9l2],
.settings-card-icon .material-icons[b-uxfqa1z9l2] {
    font-size: 24px !important;
}

.settings-card-items[b-uxfqa1z9l2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

.settings-card-tag[b-uxfqa1z9l2] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    background: var(--rz-base-200, rgba(0, 0, 0, 0.04));
    color: var(--adv-text-muted);
}
/* /Components/Pages/Calculations/Calculations.razor.rz.scp.css */
/* All shared calculation styles are in site.css */
/* Grid hover/pager now handled globally in site.css */
/* /Components/Pages/Calculations/Reference/RatesPage.razor.rz.scp.css */
.rates-stat-card[b-nscheb7jgb] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1.5rem !important;
    border-top: 3px solid transparent;
}

.rates-stat-card--primary[b-nscheb7jgb] { border-top-color: var(--adv-primary); }
.rates-stat-card--warning[b-nscheb7jgb]  { border-top-color: var(--adv-warning); }
.rates-stat-card--danger[b-nscheb7jgb]   { border-top-color: var(--adv-danger); }
.rates-stat-card--success[b-nscheb7jgb]  { border-top-color: var(--adv-success); }
.rates-stat-card--purple[b-nscheb7jgb]   { border-top-color: var(--adv-purple, #7c3aed); }

.rates-stat-label[b-nscheb7jgb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--adv-text-muted);
    margin-bottom: 0.5rem;
}

.rates-stat-label .rzi[b-nscheb7jgb],
.rates-stat-label .material-icons[b-nscheb7jgb] {
    font-size: 1rem !important;
}

.rates-stat-value[b-nscheb7jgb] {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--rz-text-color);
}

.rates-stat-unit[b-nscheb7jgb] {
    font-size: 1.25rem;
    font-weight: 500;
    margin-left: 0.1rem;
    color: var(--adv-text-muted);
}

.rates-stat-since[b-nscheb7jgb] {
    font-size: 0.8rem;
    color: var(--adv-text-muted);
    margin-top: 0.35rem;
}

.rates-section-dot[b-nscheb7jgb] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rates-section-dot--primary[b-nscheb7jgb] { background: var(--adv-primary); }
.rates-section-dot--warning[b-nscheb7jgb]  { background: var(--adv-warning); }
.rates-section-dot--danger[b-nscheb7jgb]   { background: var(--adv-danger); }
.rates-section-dot--success[b-nscheb7jgb]  { background: var(--adv-success); }
.rates-section-dot--purple[b-nscheb7jgb]   { background: var(--adv-purple, #7c3aed); }

.rates-section-title[b-nscheb7jgb] {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
}

.rates-index-stat-card[b-nscheb7jgb] {
    padding: 1.5rem !important;
}

.rates-index-half[b-nscheb7jgb] {
    padding: 0.75rem 1.25rem;
}

.rates-index-half--right[b-nscheb7jgb] {
    border-left: 1px solid var(--adv-border);
}

@media (max-width: 767px) {
    .rates-index-half--right[b-nscheb7jgb] {
        border-left: none;
        border-top: 1px solid var(--adv-border);
        margin-top: 1rem;
        padding-top: 1rem;
    }
}

.rates-rate-cell[b-nscheb7jgb] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

/* ── Tab-card row ── */
.rates-tab-row[b-nscheb7jgb] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.rates-tab-row[b-nscheb7jgb]  .rz-card {
    flex: 1 1 0;
    min-width: 130px;
    cursor: pointer;
    padding: 1rem 1.25rem !important;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.rates-tab-icon[b-nscheb7jgb] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    margin-bottom: 0.4rem;
    font-size: 1rem;
}

.rates-tab-value[b-nscheb7jgb] {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: var(--rz-text-color);
    margin-top: 0.25rem;
}

.rates-tab-unit[b-nscheb7jgb] {
    font-size: 1rem;
    font-weight: 500;
    color: var(--adv-text-muted);
    margin-left: 0.1rem;
}

/* ── Active card state ── */
.index-card-active[b-nscheb7jgb] {
    outline: 2px solid var(--adv-primary);
    outline-offset: -2px;
    background: var(--adv-primary-lighter) !important;
}

/* ── Detail section ── */
.index-detail-section[b-nscheb7jgb] {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: var(--rz-base-background-color);
    border: 1px solid var(--adv-border);
    border-radius: var(--rz-border-radius);
}
/* /Components/Pages/Calendar/Calendar.razor.rz.scp.css */
.calendar-header[b-fytf7cq46d] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

/* Scrollable panels */
.calendar-scroll-panel[b-fytf7cq46d] {
    max-height: calc(100vh - 14rem);
    overflow-y: auto;
    padding-right: 0.25rem;
}

@media (max-width: 768px) {
    .calendar-scroll-panel[b-fytf7cq46d] {
        max-height: none;
        overflow-y: visible;
    }
}
/* /Components/Pages/Cases/CaseDetail.razor.rz.scp.css */
/* .case-detail-page inherits the standard module inset from the global
   `.adv-content > [class*="-page"]` rule (site.css) — no scoped padding
   override, so the breadcrumb, header, KPI datablocks and tabs all share
   the same inset as every other module. (Print padding handled below.) */

/* ── Header ── */
.case-detail-header[b-rez39yeh8i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.case-header-top[b-rez39yeh8i] {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    flex: 1;
}

.case-header-title[b-rez39yeh8i] {
    min-width: 0;
    overflow: hidden;
}

.case-header-name[b-rez39yeh8i] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.case-header-actions[b-rez39yeh8i] {
    flex-shrink: 0;
}

.case-detail-icon[b-rez39yeh8i] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(74, 159, 213, 0.12);
    color: var(--adv-primary);
}

.case-detail-icon .rzi[b-rez39yeh8i],
.case-detail-icon .material-icons[b-rez39yeh8i] {
    font-size: 24px !important;
}

/* ── Memo warning alert ── */
.case-memo-alert[b-rez39yeh8i] {
    margin-bottom: 1.25rem;
}

/* ── Tabs ── */
/* Wrap instead of scroll so the tab strip never shows a horizontal scrollbar
   and the last tab (Fiche) is never clipped off-screen. Tighter horizontal
   padding lets all eight tabs sit on one row at typical desktop widths; they
   wrap to a second row only when the viewport is genuinely too narrow. #1756 */
[b-rez39yeh8i] .rz-tabview-nav {
    flex-wrap: wrap;
    overflow-x: visible;
    row-gap: 0.25rem;
}

[b-rez39yeh8i] .rz-tabview-nav li > a {
    /* !important to beat Radzen's higher-specificity default (1rem) so all
       eight tabs fit one row at desktop widths; flex-wrap above is the safety
       net that keeps narrower viewports scrollbar-free rather than clipped. */
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
}

[b-rez39yeh8i] .case-tab-content {
    padding-top: 1.25rem;
}

[b-rez39yeh8i] .case-tab-toolbar {
    margin-bottom: 1rem;
}

/* ── Case fields (read-only display) ── */
[b-rez39yeh8i] .case-field {
    margin-bottom: 1rem;
}

[b-rez39yeh8i] .case-field-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--adv-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

[b-rez39yeh8i] .case-field-value {
    font-size: 0.95rem;
    color: var(--adv-text);
    font-weight: 500;
    word-break: break-word;
}

/* Empty field values */
[b-rez39yeh8i] .case-field-value:empty::after,
[b-rez39yeh8i] .case-field-value[data-empty] {
    color: var(--adv-text-muted);
    font-weight: 400;
}

/* ── Parties ── */
[b-rez39yeh8i] .case-party-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.5rem;
    border-radius: 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.15s;
}

[b-rez39yeh8i] .case-party-item:last-child {
    border-bottom: none;
}

[b-rez39yeh8i] .case-party-item:hover {
    background: rgba(74, 159, 213, 0.04);
}

[b-rez39yeh8i] .case-party-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

[b-rez39yeh8i] .case-party-icon .rzi,
[b-rez39yeh8i] .case-party-icon .material-icons {
    font-size: 18px !important;
}

[b-rez39yeh8i] .case-party-details {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

[b-rez39yeh8i] .case-party-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--adv-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-rez39yeh8i] .case-party-role {
    font-size: 0.75rem;
    color: var(--adv-text-muted);
    margin-top: 0.1rem;
}

/* ── Party role chips (one per assigned role) ── */
[b-rez39yeh8i] .case-party-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.2rem;
}

[b-rez39yeh8i] .case-role-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.45rem;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.45;
}

[b-rez39yeh8i] .case-role-chip-remove {
    cursor: pointer;
    font-weight: 700;
    opacity: 0.55;
    transition: opacity 0.15s;
}

[b-rez39yeh8i] .case-role-chip-remove:hover {
    opacity: 1;
}

/* ── Memos ── */
[b-rez39yeh8i] .case-memo-item {
    padding: 0.75rem 0.75rem 0.75rem 1rem;
    border-radius: 8px;
    background: var(--rz-base-200, rgba(0, 0, 0, 0.025));
    margin-bottom: 0.5rem;
    border-left: 3px solid var(--adv-primary-light);
    transition: background 0.15s;
}

[b-rez39yeh8i] .case-memo-item:hover {
    background: rgba(74, 159, 213, 0.05);
}

[b-rez39yeh8i] .case-memo-item.case-memo-warning {
    border-left-color: var(--adv-warning);
}

[b-rez39yeh8i] .case-memo-done {
    opacity: 0.5;
    border-left-color: var(--adv-success) !important;
}

[b-rez39yeh8i] .case-memo-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.35rem;
}

[b-rez39yeh8i] .case-memo-author {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--adv-primary-dark);
}

[b-rez39yeh8i] .case-memo-date {
    font-size: 0.72rem;
    color: var(--adv-text-muted);
}

[b-rez39yeh8i] .case-memo-title {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--adv-text);
    margin-top: 2px;
}

[b-rez39yeh8i] .case-memo-text {
    display: block;
    font-size: 0.85rem;
    color: var(--adv-text);
    line-height: 1.55;
}

/* ── Memo Split Layout ── */
[b-rez39yeh8i] .memo-split-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    min-height: 0;
}

[b-rez39yeh8i] .memo-panel {
    display: flex;
    flex-direction: column;
    max-height: 70vh;
    min-width: 0;
}

[b-rez39yeh8i] .memo-scroll {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding-right: 0.25rem;
}

/* Selected memo highlight */
[b-rez39yeh8i] .case-memo-selected {
    border-left-color: var(--adv-primary) !important;
    background: rgba(74, 159, 213, 0.08) !important;
    box-shadow: inset 0 0 0 1px rgba(74, 159, 213, 0.2);
}

/* ── Selected memo card (top of remarks panel) ── */
[b-rez39yeh8i] .remark-memo-card {
    padding: 0.65rem 0.75rem;
    margin: 0 0 0.75rem;
    border-radius: 8px;
    background: rgba(74, 159, 213, 0.06);
    border-left: 3px solid var(--adv-primary);
    flex-shrink: 0;
}

[b-rez39yeh8i] .remark-memo-card-warning {
    border-left-color: var(--adv-warning);
}

[b-rez39yeh8i] .remark-memo-card-done {
    opacity: 0.6;
    border-left-color: var(--adv-success);
}

/* ── Memo Remarks ── */
[b-rez39yeh8i] .case-memo-remark-item {
    padding: 0.6rem 0.65rem;
    margin-bottom: 0.4rem;
    border-radius: 6px;
    background: var(--rz-base-200, rgba(0, 0, 0, 0.025));
    position: relative;
    border-left: 2px solid rgba(74, 159, 213, 0.15);
}

[b-rez39yeh8i] .case-memo-remark-item:hover {
    background: rgba(74, 159, 213, 0.06);
}

[b-rez39yeh8i] .case-memo-remark-item:hover .case-memo-remark-actions {
    opacity: 1;
}

[b-rez39yeh8i] .case-memo-remark-memo-ref {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--adv-primary);
    margin-bottom: 0.3rem;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

[b-rez39yeh8i] .case-memo-remark-memo-ref:hover {
    text-decoration: underline;
}

[b-rez39yeh8i] .case-memo-remark-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.2rem;
}

[b-rez39yeh8i] .case-memo-remark-author {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--adv-primary-dark);
}

[b-rez39yeh8i] .case-memo-remark-date {
    font-size: 0.68rem;
    color: var(--adv-text-muted);
}

[b-rez39yeh8i] .case-memo-remark-content {
    font-size: 0.8rem;
    color: var(--adv-text);
    line-height: 1.45;
}

[b-rez39yeh8i] .case-memo-remark-actions {
    display: flex;
    gap: 0.15rem;
    position: absolute;
    top: 0.35rem;
    right: 0.35rem;
    opacity: 0;
    transition: opacity 0.15s;
}

[b-rez39yeh8i] .case-memo-remark-add {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.5rem 0.25rem 0.25rem;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    position: sticky;
    bottom: 0;
    background: inherit;
}

/* ── Tags ── */
.case-tags-list[b-rez39yeh8i] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.case-tag-chip[b-rez39yeh8i] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    border-radius: 16px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--adv-text);
    transition: opacity 0.15s;
}

.case-tag-chip:hover[b-rez39yeh8i] {
    opacity: 0.8;
}

/* ── KPI tags ── */
/* ::deep so these classes apply both in CaseDetail.razor's own KPI card AND
   in child components that render tag chips (CaseDetailGeneralTab). Without
   ::deep, Blazor scopes them to CaseDetail.razor only and the chips render
   unstyled in the General tab. */
[b-rez39yeh8i] .case-kpi-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.35rem;
}

[b-rez39yeh8i] .case-kpi-tag {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 12px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--adv-text);
    white-space: nowrap;
}

/* ── Totals bar ── */
[b-rez39yeh8i] .case-total-bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    margin-top: 0.5rem;
    background: var(--adv-row-hover);
    border-radius: 0 0 10px 10px;
    border-top: 2px solid rgba(74, 159, 213, 0.15);
    font-size: 0.9rem;
}

/* Grid hover now handled globally in site.css */

/* ── Print-only header (hidden on screen) ── */
.print-only-header[b-rez39yeh8i] {
    display: none;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .case-detail-header[b-rez39yeh8i] {
        flex-direction: column;
        align-items: flex-start;
    }

    .case-header-actions[b-rez39yeh8i] {
        width: 100%;
    }

    .case-detail-icon[b-rez39yeh8i] {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }

    .case-detail-icon .rzi[b-rez39yeh8i],
    .case-detail-icon .material-icons[b-rez39yeh8i] {
        font-size: 20px !important;
    }

    [b-rez39yeh8i] .case-memo-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    [b-rez39yeh8i] .memo-split-layout {
        grid-template-columns: 1fr;
    }

    [b-rez39yeh8i] .memo-panel {
        max-height: 50vh;
    }
}

/* ── Dark theme ── */
:global(.dark-theme) .case-detail-icon[b-rez39yeh8i] {
    background: rgba(74, 159, 213, 0.15);
}

[b-rez39yeh8i] :global(.dark-theme) .case-party-item {
    border-bottom-color: rgba(255, 255, 255, 0.04);
}

[b-rez39yeh8i] :global(.dark-theme) .case-party-item:hover {
    background: rgba(74, 159, 213, 0.06);
}

[b-rez39yeh8i] :global(.dark-theme) .case-memo-item {
    background: rgba(255, 255, 255, 0.03);
}

[b-rez39yeh8i] :global(.dark-theme) .case-memo-item:hover {
    background: rgba(74, 159, 213, 0.08);
}

[b-rez39yeh8i] :global(.dark-theme) .case-memo-remark-item {
    background: rgba(255, 255, 255, 0.03);
}

[b-rez39yeh8i] :global(.dark-theme) .case-memo-remark-item:hover {
    background: rgba(74, 159, 213, 0.08);
}

[b-rez39yeh8i] :global(.dark-theme) .remark-memo-card {
    background: rgba(74, 159, 213, 0.1);
}

[b-rez39yeh8i] :global(.dark-theme) .case-memo-selected {
    background: rgba(74, 159, 213, 0.12) !important;
    box-shadow: inset 0 0 0 1px rgba(74, 159, 213, 0.3);
}

[b-rez39yeh8i] :global(.dark-theme) .case-memo-remark-add {
    border-top-color: rgba(255, 255, 255, 0.06);
}

[b-rez39yeh8i] :global(.dark-theme) .case-total-bar {
    background: linear-gradient(135deg, #182030 0%, #1a2436 100%);
    border-top-color: rgba(74, 159, 213, 0.2);
}

/* ── Print styles ── */
@media print {
    .print-only-header[b-rez39yeh8i] {
        display: block;
        margin-bottom: 1rem;
        padding-bottom: 0.75rem;
        border-bottom: 2px solid #333;
    }

    .print-only-header h1[b-rez39yeh8i] {
        font-size: 1.5rem;
        margin: 0 0 0.25rem;
    }

    .print-only-header span[b-rez39yeh8i] {
        font-size: 0.85rem;
        color: #666;
    }

    .no-print[b-rez39yeh8i],
    .case-tab-toolbar[b-rez39yeh8i],
    .adv-breadcrumb[b-rez39yeh8i] {
        display: none !important;
    }

    /* Hide action columns in grids */
    [b-rez39yeh8i] .rz-datatable .rz-datatable-thead th:last-child,
    [b-rez39yeh8i] .rz-datatable .rz-datatable-data td:last-child {
        display: none !important;
    }

    .case-detail-header[b-rez39yeh8i] {
        border-bottom: none;
        margin-bottom: 0.5rem;
        padding-bottom: 0;
    }

    .case-detail-page[b-rez39yeh8i] {
        padding: 0;
    }

    .case-total-bar[b-rez39yeh8i] {
        background: none;
        border-top: 1px solid #ccc;
    }

    .case-memo-item[b-rez39yeh8i] {
        border-left: 2px solid #999;
    }
}

/* ── Audit history section ── */
/* Match the horizontal inset of the tab panel (rz-tabs-padding = 1.25rem on each side)
   so the card aligns with the cards inside the tabs. */
.case-audit-section[b-rez39yeh8i] {
    margin-left: var(--rz-tabs-padding, 1.25rem);
    margin-right: var(--rz-tabs-padding, 1.25rem);
}

.case-audit-card-header[b-rez39yeh8i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

.case-audit-card-header:hover[b-rez39yeh8i] {
    opacity: 0.8;
}

.case-audit-card-icon[b-rez39yeh8i] {
    color: var(--adv-primary);
}
/* /Components/Pages/Cases/CaseHistory.razor.rz.scp.css */
.case-history-page[b-qrjyg3lidy] {
    max-width: 860px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.case-history-header[b-qrjyg3lidy] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.75rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.case-history-icon[b-qrjyg3lidy] {
    font-size: 2rem !important;
    color: var(--adv-primary);
    flex-shrink: 0;
}

.case-history-title[b-qrjyg3lidy] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--adv-text);
    line-height: 1.2;
}

.case-history-subtitle[b-qrjyg3lidy] {
    font-size: 0.875rem;
    color: var(--adv-text-muted);
    margin-top: 0.2rem;
    display: block;
}
/* /Components/Pages/Cases/CaseItems.razor.rz.scp.css */
/* ============================================================
   Cases overview — header + unified filter bar (#1756)
   Tokens only (no hardcoded colours). Radzen-rendered internals
   are reached with ::deep from scoped HTML wrappers.
   ============================================================ */

.cases-page[b-h9x1ol69cx] {
    position: relative;
}

/* ── Page header: title + count + primary actions ── */
.cases-header[b-h9x1ol69cx] {
    margin-bottom: 1rem;
}

.cases-header__bar[b-h9x1ol69cx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

.cases-header__title[b-h9x1ol69cx] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.cases-header__actions[b-h9x1ol69cx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── Odoo-style facet filter bar + saved filters ──
   Single row: the facet bar grows to fill, the saved-filters menu sits at the
   end. The card chrome that used to wrap the segmented status control is gone —
   the facet bar carries its own field styling (CaseFilterBar.razor.css). */
.cases-filterbar[b-h9x1ol69cx] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    /* The backdrop-filter below makes this a stacking context. Without an explicit
       z-index, the later frosted-glass datagrid (its own backdrop-filter stacking
       context) paints over the open facet popup — the popup's inner z-index:1002
       can't escape this wrapper. Elevate the whole bar above the grid. #1799 */
    position: relative;
    z-index: 10;
    background: var(--adv-surface-glass);
    -webkit-backdrop-filter: blur(var(--adv-glass-blur));
    backdrop-filter: blur(var(--adv-glass-blur));
    border: 1px solid var(--adv-glass-border);
    border-radius: 0.85rem;
    box-shadow: var(--adv-shadow-card);
}

.cases-filterbar__bar[b-h9x1ol69cx] {
    flex: 1 1 320px;
    min-width: 0;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .cases-filterbar__bar[b-h9x1ol69cx] {
        flex-basis: 100%;
    }
}
/* /Components/Pages/Cases/CaseLocations.razor.rz.scp.css */
.locations-header[b-udxfmq5p6o] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.locations-toolbar[b-udxfmq5p6o] {
    margin-bottom: 1rem;
}

/* Grid hover/pager now handled globally in site.css */
/* /Components/Pages/Cases/RecentlyDeletedPanel.razor.rz.scp.css */
.rdp-panel[b-bhl2cwisyf] {
    position: fixed;
    top: 72px; /* below the .adv-topbar (measured 72px) */
    right: 0;
    bottom: 0;
    width: 420px;
    background: var(--rz-base-background-color, #fff);
    border-left: 1px solid var(--rz-border-color);
    box-shadow: -4px 0 16px rgba(0, 0, 0, 0.08);
    z-index: 100;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    overflow-y: auto;
}

.rdp-panel__header[b-bhl2cwisyf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.25rem;
}

.rdp-panel__title[b-bhl2cwisyf] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 0.95rem;
}

.rdp-panel__icon[b-bhl2cwisyf] {
    color: var(--rz-danger);
    font-size: 1.1rem;
}

.rdp-panel__subtitle[b-bhl2cwisyf] {
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color);
    margin-bottom: 1rem;
}

.rdp-panel__loading[b-bhl2cwisyf],
.rdp-panel__empty[b-bhl2cwisyf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 0;
    color: var(--rz-text-secondary-color);
    font-size: 0.85rem;
}

.rdp-panel__empty-icon[b-bhl2cwisyf] {
    font-size: 2rem;
    opacity: 0.4;
}

.rdp-panel__table[b-bhl2cwisyf] {
    display: flex;
    flex-direction: column;
    gap: 0;
    font-size: 0.82rem;
}

.rdp-panel__table-header[b-bhl2cwisyf],
.rdp-panel__table-row[b-bhl2cwisyf] {
    display: grid;
    grid-template-columns: 80px 1fr 80px 70px;
    gap: 0.5rem;
    align-items: center;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--rz-border-color);
}

.rdp-panel__table-header[b-bhl2cwisyf] {
    font-weight: 600;
    color: var(--rz-text-secondary-color);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.rdp-panel__name-cell[b-bhl2cwisyf] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    gap: 0.1rem;
}

.rdp-panel__name[b-bhl2cwisyf] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rdp-panel__deleted-by[b-bhl2cwisyf] {
    font-size: 0.72rem;
    color: var(--rz-text-secondary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rdp-panel__number[b-bhl2cwisyf] {
    color: var(--adv-primary);
    font-weight: 500;
}

.rdp-panel__date[b-bhl2cwisyf] {
    color: var(--rz-text-secondary-color);
    font-size: 0.78rem;
}

.rdp-panel__action[b-bhl2cwisyf] {
    display: flex;
    justify-content: flex-end;
}
/* /Components/Pages/Parties/AddContactDialog.razor.rz.scp.css */
.add-contact-choice-card[b-j9uvmtc38g] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--adv-border);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.add-contact-choice-card:hover[b-j9uvmtc38g] {
    background: rgba(74, 159, 213, 0.04);
    border-color: var(--adv-primary);
}

.add-contact-choice-icon[b-j9uvmtc38g] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    flex-shrink: 0;
}

.add-contact-choice-text[b-j9uvmtc38g] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    flex: 1;
}

.add-contact-choice-title[b-j9uvmtc38g] {
    font-weight: 600;
    font-size: 0.9rem;
}

.add-contact-choice-desc[b-j9uvmtc38g] {
    font-size: 0.8rem;
    color: var(--adv-text-muted);
}

.add-contact-results[b-j9uvmtc38g] {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--adv-border);
    border-radius: 6px;
}

.add-contact-result-row[b-j9uvmtc38g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid var(--adv-border);
}

.add-contact-result-row:last-child[b-j9uvmtc38g] {
    border-bottom: none;
}

.add-contact-result-row:hover[b-j9uvmtc38g] {
    background: rgba(74, 159, 213, 0.06);
}

.add-contact-result-row.add-contact-result-selected[b-j9uvmtc38g] {
    background: rgba(39, 174, 96, 0.06);
}

.add-contact-result-info[b-j9uvmtc38g] {
    flex: 1;
    min-width: 0;
}

.add-contact-result-name[b-j9uvmtc38g] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--adv-primary-dark);
}
/* /Components/Pages/Parties/AddPartyDetailDialog.razor.rz.scp.css */
/* Global field search box (step 1). #2018 */
.add-detail-search[b-lvy7uc1sht] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.75rem;
    margin-bottom: 0.75rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.02);
}

.add-detail-search:focus-within[b-lvy7uc1sht] {
    border-color: var(--adv-primary);
}

.add-detail-search-icon[b-lvy7uc1sht] {
    flex: 0 0 auto;
    font-size: 1.1rem;
}

.add-detail-search-input[b-lvy7uc1sht] {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--adv-text);
    font-size: 0.85rem;
}

.add-detail-search-input[b-lvy7uc1sht]::placeholder {
    color: var(--adv-text-muted);
}

/* Field name + its group as muted subtext, in the flat search results. */
.add-detail-option-text[b-lvy7uc1sht] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.add-detail-option-sub[b-lvy7uc1sht] {
    font-size: 0.72rem;
    font-weight: 400;
    color: var(--adv-text-muted);
}

/* Empty state when no field matches the search. */
.add-detail-empty[b-lvy7uc1sht] {
    padding: 1rem 0.75rem;
    font-size: 0.85rem;
    color: var(--adv-text-muted);
    text-align: center;
}

:global(.dark-theme) .add-detail-search[b-lvy7uc1sht] {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

/* Two-column field picker (step 1) — groups left, items right. #2018 */
.add-detail-columns[b-lvy7uc1sht] {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.add-detail-pane[b-lvy7uc1sht] {
    flex: 1 1 0;
    min-width: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.add-detail-pane-header[b-lvy7uc1sht] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--adv-text-muted);
    padding: 0.5rem 0.75rem;
    background: rgba(0, 0, 0, 0.02);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.add-detail-list[b-lvy7uc1sht] {
    max-height: min(320px, 50vh);
    overflow-y: auto;
}

.add-detail-option[b-lvy7uc1sht] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    font-size: 0.85rem;
    transition: background 0.12s;
}

.add-detail-option:last-child[b-lvy7uc1sht] {
    border-bottom: none;
}

.add-detail-option:hover[b-lvy7uc1sht] {
    background: rgba(74, 159, 213, 0.06);
}

.add-detail-option.selected[b-lvy7uc1sht] {
    background: rgba(39, 174, 96, 0.08);
    font-weight: 600;
}

:global(.dark-theme) .add-detail-pane[b-lvy7uc1sht] {
    border-color: rgba(255, 255, 255, 0.1);
}

:global(.dark-theme) .add-detail-pane-header[b-lvy7uc1sht] {
    background: rgba(255, 255, 255, 0.03);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}
/* /Components/Pages/Parties/Parties.razor.rz.scp.css */
.parties-header[b-zia8n07gkw] {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.parties-header__bar[b-zia8n07gkw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

.parties-header__title[b-zia8n07gkw] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.parties-header__actions[b-zia8n07gkw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.parties-filterbar[b-zia8n07gkw] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.parties-filterbar__bar[b-zia8n07gkw] {
    flex: 1 1 320px;
    min-width: 0;
}

.parties-archived[b-zia8n07gkw] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--adv-text-muted);
    white-space: nowrap;
    cursor: pointer;
}

/* Name cell: category icon chip sits before the party name (#1788). */
.parties-name-cell[b-zia8n07gkw] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* Categorie icon chip in the grid (#1788) — background/color are injected
   inline from PartyIconHelper's per-category buckets. */
.parties-form-icon[b-zia8n07gkw] {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.parties-form-icon[b-zia8n07gkw]  .rzi {
    font-size: 18px;
}

@media (max-width: 640px) {
    .parties-header__bar[b-zia8n07gkw] {
        align-items: flex-start;
    }
}

/* Grid hover/pager handled globally in site.css */
/* /Components/Pages/Parties/PartyDetail.razor.rz.scp.css */
.party-detail-page[b-32irlt5pzx] {
    padding: 0.5rem 0;
}

/* ── Header (same layout as CaseDetail) ── */
.party-detail-header[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.party-header-top[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    flex: 1;
}

.party-header-title[b-32irlt5pzx] {
    min-width: 0;
    overflow: hidden;
}

.party-header-name[b-32irlt5pzx] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.party-header-name-text[b-32irlt5pzx] {
    font-weight: 600;
}

.party-header-actions[b-32irlt5pzx] {
    flex-shrink: 0;
}

.party-detail-icon[b-32irlt5pzx] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(74, 159, 213, 0.12);
    color: var(--adv-primary);
}

.party-detail-icon .rzi[b-32irlt5pzx],
.party-detail-icon .material-icons[b-32irlt5pzx] {
    font-size: 24px !important;
}

/* ── Clickable KPI card ── */
.party-kpi-card-clickable[b-32irlt5pzx] {
    cursor: pointer;
    transition: box-shadow 0.15s, transform 0.1s;
    user-select: none;
}

.party-kpi-card-clickable:hover[b-32irlt5pzx] {
    box-shadow: 0 4px 16px rgba(74, 159, 213, 0.18);
    transform: translateY(-1px);
}

/* ── Tabs ── */
.case-tab-content[b-32irlt5pzx] {
    padding-top: 1.25rem;
}

/* ── Details widget (Algemeen tab, right column, #2018) ── */
/* Header holds the title left and the "add detail" button right. */
.party-details-header[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.party-details-empty[b-32irlt5pzx] {
    text-align: center;
    padding: 2rem;
    color: var(--adv-text-muted);
}

/* Right-hand header group: the name filter sits beside the Add button. */
.party-details-header-actions[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

/* Name filter over the widget's filled details, in the header beside the Add
   button. Shrinks to fit the header so the Add button always stays visible. */
.party-details-search[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.55rem;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 200px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.02);
}

.party-details-search:focus-within[b-32irlt5pzx] {
    border-color: var(--adv-primary);
}

.party-details-search-icon[b-32irlt5pzx] {
    flex: 0 0 auto;
    font-size: 1.05rem;
}

.party-details-search-input[b-32irlt5pzx] {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    color: var(--adv-text);
    font-size: 0.85rem;
}

.party-details-search-input[b-32irlt5pzx]::placeholder {
    color: var(--adv-text-muted);
}

:global(.dark-theme) .party-details-search[b-32irlt5pzx] {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

/* Section titles + spacing between detail groups inside the widget. */
.party-details-group + .party-details-group[b-32irlt5pzx] {
    margin-top: 1.25rem;
}

[b-32irlt5pzx] .party-details-group-title {
    display: block;
    font-weight: 600;
    color: var(--adv-text);
    margin-bottom: 0.5rem;
}

/* On desktop (columns side-by-side, row stretched to equal height) the widget
   fills its column and matches the left general-info card's height, scrolling
   internally instead of stretching the row. The card is absolutely positioned
   inside a plain relative wrapper (a real element that carries the component's
   scope — a class on RadzenColumn would not), so its content height never
   drives the row; the taller left card does. Below the LG breakpoint the
   columns stack, so it reverts to natural flow (no forced height/scroll). */
.party-details-wrap[b-32irlt5pzx] {
    height: 100%;
}

@media (min-width: 992px) {
    .party-details-wrap[b-32irlt5pzx] {
        position: relative;
    }

    .party-details-wrap[b-32irlt5pzx]  .party-details-card {
        position: absolute;
        inset: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .party-details-scroll[b-32irlt5pzx] {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        padding-right: 0.25rem;
    }
}

.case-tab-toolbar[b-32irlt5pzx] {
    margin-bottom: 1rem;
}

/* ── Case fields (read-only display — same as CaseDetail) ── */
.case-field[b-32irlt5pzx] {
    margin-bottom: 1rem;
}

.case-field-label[b-32irlt5pzx] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--adv-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.25rem;
}

.case-field-value[b-32irlt5pzx] {
    font-size: 0.95rem;
    color: var(--adv-text);
    font-weight: 500;
    word-break: break-word;
}

/* ── Linked-to ("Gekoppeld aan") rows inside the merged contacts grid ── */
/* Differentiates reverse-link rows from real contact persons: subtle tint +
   a primary accent bar on the left. #2016 */
[b-32irlt5pzx] tr.linked-party-row td {
    background: rgba(74, 159, 213, 0.05);
}

[b-32irlt5pzx] tr.linked-party-row td:first-child {
    box-shadow: inset 3px 0 0 0 var(--adv-primary);
}

:global(.dark-theme)[b-32irlt5pzx]  tr.linked-party-row td {
    background: rgba(74, 159, 213, 0.08);
}

/* ── Linked case items ── */
.party-case-item[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0.5rem;
    border-radius: 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background 0.15s;
}

.party-case-item:last-child[b-32irlt5pzx] {
    border-bottom: none;
}

.party-case-item:hover[b-32irlt5pzx] {
    background: rgba(74, 159, 213, 0.04);
}

.party-case-details[b-32irlt5pzx] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.party-case-number[b-32irlt5pzx] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--adv-primary-dark);
}

.party-case-name[b-32irlt5pzx] {
    font-size: 0.75rem;
    color: var(--adv-text-muted);
    margin-top: 0.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Grid hover now handled globally in site.css */

/* ── Responsive ── */
@media (max-width: 768px) {
    .party-detail-header[b-32irlt5pzx] {
        flex-direction: column;
        align-items: flex-start;
    }

    .party-header-actions[b-32irlt5pzx] {
        width: 100%;
    }

    .party-detail-icon[b-32irlt5pzx] {
        width: 40px;
        height: 40px;
        border-radius: 10px;
    }

    .party-detail-icon .rzi[b-32irlt5pzx],
    .party-detail-icon .material-icons[b-32irlt5pzx] {
        font-size: 20px !important;
    }
}

/* ── Dark theme ── */
:global(.dark-theme) .party-detail-icon[b-32irlt5pzx] {
    background: rgba(74, 159, 213, 0.15);
}

:global(.dark-theme) .party-case-item[b-32irlt5pzx] {
    border-bottom-color: rgba(255, 255, 255, 0.04);
}

:global(.dark-theme) .party-case-item:hover[b-32irlt5pzx] {
    background: rgba(74, 159, 213, 0.06);
}

/* ── Audit history section ── */
.party-audit-section[b-32irlt5pzx] {
    margin-left: var(--rz-tabs-padding, 1.25rem);
    margin-right: var(--rz-tabs-padding, 1.25rem);
}

.party-audit-card-header[b-32irlt5pzx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

.party-audit-card-header:hover[b-32irlt5pzx] {
    opacity: 0.8;
}

.party-audit-card-icon[b-32irlt5pzx] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(74, 159, 213, 0.12);
    color: var(--adv-primary);
}

/* ── Print styles ── */
@media print {
    .no-print[b-32irlt5pzx],
    .case-tab-toolbar[b-32irlt5pzx],
    .adv-breadcrumb[b-32irlt5pzx] {
        display: none !important;
    }

    [b-32irlt5pzx] .rz-datatable .rz-datatable-thead th:last-child,
    [b-32irlt5pzx] .rz-datatable .rz-datatable-data td:last-child {
        display: none !important;
    }

    .party-detail-header[b-32irlt5pzx] {
        border-bottom: none;
        margin-bottom: 0.5rem;
        padding-bottom: 0;
    }

    .party-detail-page[b-32irlt5pzx] {
        padding: 0;
    }
}
/* /Components/Pages/Peppol/Components/UblPreviewComponent.razor.rz.scp.css */
[b-0xdkcqp3lj] .ubl-xml-preview {
    max-height: 600px;
    overflow: auto;
    background: var(--rz-base-200);
    padding: 1rem;
    border-radius: 4px;
    font-size: 0.85rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-wrap: break-word;
    tab-size: 2;
}

[b-0xdkcqp3lj] .ubl-xml-tag {
    color: #22863a;
    font-weight: 500;
}

[b-0xdkcqp3lj] .ubl-xml-attr-name {
    color: #6f42c1;
}

[b-0xdkcqp3lj] .ubl-xml-attr-value {
    color: #032f62;
}

[b-0xdkcqp3lj] .ubl-xml-comment {
    color: #6a737d;
    font-style: italic;
}

[b-0xdkcqp3lj] .ubl-xml-pi {
    color: #6a737d;
}
/* /Components/Pages/Performances/Performances.razor.rz.scp.css */
.performances-header[b-w1gt1lr2af] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.perf-tab-content[b-w1gt1lr2af] {
    padding-top: 1rem;
}

/* ── Odoo-style facet filter bar + saved filters + tab actions (#1796) ──
   Single row per tab: the facet bar grows to fill; the saved-filters menu and
   the tab's action buttons sit at the end. Mirrors CaseItems.razor.css. */
.perf-filterbar[b-w1gt1lr2af] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    /* The backdrop-filter below makes this a stacking context. Elevate the bar
       above the frosted-glass datagrid so the facet popup isn't painted over
       (same fix as the cases overview, #1799). */
    position: relative;
    z-index: 10;
    background: var(--adv-surface-glass);
    -webkit-backdrop-filter: blur(var(--adv-glass-blur));
    backdrop-filter: blur(var(--adv-glass-blur));
    border: 1px solid var(--adv-glass-border);
    border-radius: 0.85rem;
    box-shadow: var(--adv-shadow-card);
}

.perf-filterbar__bar[b-w1gt1lr2af] {
    flex: 1 1 320px;
    min-width: 0;
}

@media (max-width: 640px) {
    .perf-filterbar__bar[b-w1gt1lr2af] {
        flex-basis: 100%;
    }
}
/* /Components/Pages/Settings/CalendarSettings.razor.rz.scp.css */
.settings-sub-page[b-e34u89euja] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-e34u89euja] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-e34u89euja] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-e34u89euja] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-e34u89euja],
.settings-card-icon .material-icons[b-e34u89euja] {
    font-size: 24px !important;
}

.settings-tab-content[b-e34u89euja] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-e34u89euja] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */

/* ── Display-settings table ── */
.adv-settings-table[b-e34u89euja] {
    width: 100%;
    max-width: 640px;
}

.adv-settings-row[b-e34u89euja] {
    display: grid;
    grid-template-columns: 2fr 3fr;
    align-items: center;
    gap: 1.5rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid var(--adv-border-subtle);
}

.adv-settings-row:last-child[b-e34u89euja] {
    border-bottom: none;
}

.adv-settings-label[b-e34u89euja] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--adv-text);
    line-height: 1.4;
}

.adv-settings-hint[b-e34u89euja] {
    font-size: 0.75rem;
    color: var(--adv-text-muted);
    margin-top: 0.2rem;
    line-height: 1.4;
}
/* /Components/Pages/Settings/CaseSettings.razor.rz.scp.css */
.settings-sub-page[b-l6xahmxwnr] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-l6xahmxwnr] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-l6xahmxwnr] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-l6xahmxwnr] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-l6xahmxwnr],
.settings-card-icon .material-icons[b-l6xahmxwnr] {
    font-size: 24px !important;
}

.settings-tab-content[b-l6xahmxwnr] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-l6xahmxwnr] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */

/* ── Drag-sortable status list ────────────────────────── */
.status-sortable[b-l6xahmxwnr] {
    border: 1px solid var(--adv-border);
    border-radius: 4px;
    overflow: hidden;
}

.status-sortable-header[b-l6xahmxwnr],
.status-sortable-row[b-l6xahmxwnr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.5rem;
    min-height: 34px;
    font-size: 0.875rem;
}

.status-sortable-header[b-l6xahmxwnr] {
    background: var(--rz-datalist-header-background-color, var(--adv-surface));
    border-bottom: 1px solid var(--adv-border);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--rz-text-secondary-color);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.status-sortable-row[b-l6xahmxwnr] {
    border-bottom: 1px solid var(--adv-border);
    transition: background 0.1s;
    user-select: none;
}

.status-sortable-row:last-child[b-l6xahmxwnr] {
    border-bottom: none;
}

.status-sortable-row:hover[b-l6xahmxwnr] {
    background: var(--rz-grid-row-hover-background-color, rgba(0,0,0,0.03));
}

.status-drag-source[b-l6xahmxwnr] {
    opacity: 0.45;
}

.status-drag-over[b-l6xahmxwnr] {
    background: var(--rz-primary-lighter, rgba(var(--rz-primary-rgb), 0.08)) !important;
    border-top: 2px solid var(--rz-primary);
}

.status-col-drag[b-l6xahmxwnr] {
    width: 28px;
    flex-shrink: 0;
    color: var(--rz-text-disabled-color);
    cursor: grab;
    display: flex;
    align-items: center;
}

.status-col-name[b-l6xahmxwnr] {
    flex: 1;
    min-width: 150px;
}

.status-col-color[b-l6xahmxwnr] {
    width: 160px;
    flex-shrink: 0;
}

.status-col-default[b-l6xahmxwnr] {
    width: 100px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.status-col-actions[b-l6xahmxwnr] {
    width: 80px;
    flex-shrink: 0;
    display: flex;
    gap: 0.15rem;
    justify-content: center;
}
/* /Components/Pages/Settings/DocumentSettings.razor.rz.scp.css */
.settings-sub-page[b-w19751kw5a] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-w19751kw5a] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-w19751kw5a] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-w19751kw5a] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-w19751kw5a],
.settings-card-icon .material-icons[b-w19751kw5a] {
    font-size: 24px !important;
}

.settings-tab-content[b-w19751kw5a] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-w19751kw5a] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Settings/GeneralSettings.razor.rz.scp.css */
.settings-sub-page[b-8c81le0g3a] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-8c81le0g3a] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-8c81le0g3a] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-8c81le0g3a] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-8c81le0g3a],
.settings-card-icon .material-icons[b-8c81le0g3a] {
    font-size: 24px !important;
}

.settings-tab-content[b-8c81le0g3a] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-8c81le0g3a] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Settings/IndexSettings.razor.rz.scp.css */
.index-card-active[b-yyirptbg22] {
    outline: 2px solid var(--adv-primary);
    outline-offset: -2px;
    background: var(--adv-primary-lighter) !important;
}

.index-detail-section[b-yyirptbg22] {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: var(--rz-base-background-color);
    border: 1px solid var(--adv-border);
    border-radius: var(--rz-border-radius);
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Settings/OfficeSettings.razor.rz.scp.css */
.settings-sub-page[b-xz3zaetj73] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-xz3zaetj73] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-xz3zaetj73] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-xz3zaetj73] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-xz3zaetj73],
.settings-card-icon .material-icons[b-xz3zaetj73] {
    font-size: 24px !important;
}

.settings-tab-content[b-xz3zaetj73] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-xz3zaetj73] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.settings-field[b-xz3zaetj73] {
    margin-bottom: 1rem;
}

.settings-field-label[b-xz3zaetj73] {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--adv-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.2rem;
}

.settings-field-value[b-xz3zaetj73] {
    font-size: 0.95rem;
    color: var(--adv-text);
    font-weight: 500;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Settings/PartySettings.razor.rz.scp.css */
.settings-sub-page[b-umodf720so] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-umodf720so] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-umodf720so] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-umodf720so] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-umodf720so],
.settings-card-icon .material-icons[b-umodf720so] {
    font-size: 24px !important;
}

.settings-tab-content[b-umodf720so] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-umodf720so] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Settings/PeppolSettings.razor.rz.scp.css */
.settings-sub-page[b-ww9tmovlyi] {
    padding: 0.5rem 0;
}

.settings-sub-header[b-ww9tmovlyi] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-ww9tmovlyi] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-ww9tmovlyi],
.settings-card-icon .material-icons[b-ww9tmovlyi] {
    font-size: 24px !important;
}
/* /Components/Pages/Settings/PerformanceSettings.razor.rz.scp.css */
.settings-sub-page[b-2zm513xn54] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-2zm513xn54] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-2zm513xn54] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-2zm513xn54] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-2zm513xn54],
.settings-card-icon .material-icons[b-2zm513xn54] {
    font-size: 24px !important;
}

.settings-tab-content[b-2zm513xn54] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-2zm513xn54] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/Settings/SettingRecentlyDeletedPanel.razor.rz.scp.css */
.srp-panel[b-fjpit7l97i] {
    position: fixed;
    top: 72px;
    right: 0;
    bottom: 0;
    width: 380px;
    background: var(--rz-base-background-color, #fff);
    border-left: 1px solid var(--rz-border-color);
    box-shadow: -4px 0 16px rgba(0, 0, 0, 0.08);
    z-index: 100;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    overflow-y: auto;
}

.srp-panel__header[b-fjpit7l97i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.25rem;
}

.srp-panel__title[b-fjpit7l97i] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 0.95rem;
}

.srp-panel__icon[b-fjpit7l97i] {
    color: var(--rz-danger);
    font-size: 1.1rem;
}

.srp-panel__subtitle[b-fjpit7l97i] {
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color);
    margin-bottom: 1rem;
}

.srp-panel__loading[b-fjpit7l97i],
.srp-panel__empty[b-fjpit7l97i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 2rem 0;
    color: var(--rz-text-secondary-color);
    font-size: 0.85rem;
}

.srp-panel__empty-icon[b-fjpit7l97i] {
    font-size: 2rem;
    opacity: 0.4;
}

.srp-panel__table[b-fjpit7l97i] {
    display: flex;
    flex-direction: column;
    gap: 0;
    font-size: 0.82rem;
}

.srp-panel__table-header[b-fjpit7l97i],
.srp-panel__table-row[b-fjpit7l97i] {
    display: grid;
    grid-template-columns: 1fr 70px 70px;
    gap: 0.5rem;
    align-items: center;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--rz-border-color);
}

.srp-panel__table-header[b-fjpit7l97i] {
    font-weight: 600;
    color: var(--rz-text-secondary-color);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.srp-panel__name-cell[b-fjpit7l97i] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    gap: 0.1rem;
}

.srp-panel__name[b-fjpit7l97i] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.srp-panel__deleted-by[b-fjpit7l97i] {
    font-size: 0.72rem;
    color: var(--rz-text-secondary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.srp-panel__date[b-fjpit7l97i] {
    color: var(--rz-text-secondary-color);
    font-size: 0.78rem;
}

.srp-panel__action[b-fjpit7l97i] {
    display: flex;
    justify-content: flex-end;
}
/* /Components/Pages/Settings/Settings.razor.rz.scp.css */
.settings-header[b-d2b69vmwyu] {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card[b-d2b69vmwyu] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: box-shadow 0.2s, transform 0.2s;
    cursor: pointer;
}

.settings-card:hover[b-d2b69vmwyu] {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-2px);
}

.settings-card-icon[b-d2b69vmwyu] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.settings-card-icon .rzi[b-d2b69vmwyu],
.settings-card-icon .material-icons[b-d2b69vmwyu] {
    font-size: 24px !important;
}

.settings-card-items[b-d2b69vmwyu] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

.settings-card-tag[b-d2b69vmwyu] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    background: var(--rz-base-200, rgba(0, 0, 0, 0.04));
    color: var(--adv-text-muted);
}
/* /Components/Pages/Settings/UserSettings.razor.rz.scp.css */
.settings-sub-page[b-pnpcmmxm6t] {
    padding: 0.5rem 0;
}

.settings-breadcrumb[b-pnpcmmxm6t] {
    margin-bottom: 1rem;
}

.settings-sub-header[b-pnpcmmxm6t] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--adv-border);
}

.settings-card-icon[b-pnpcmmxm6t] {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.settings-card-icon .rzi[b-pnpcmmxm6t],
.settings-card-icon .material-icons[b-pnpcmmxm6t] {
    font-size: 24px !important;
}

.settings-tab-content[b-pnpcmmxm6t] {
    padding-top: 1rem;
}

.settings-tab-toolbar[b-pnpcmmxm6t] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

/* Grid hover now handled globally in site.css */
/* /Components/Pages/TimeTracking/ApprovalQueueTab.razor.rz.scp.css */
/* ── Odoo-style facet filter bar + saved filters + actions (#1796) ──
   Same row layout as TimeEntriesTab.razor.css (scoped CSS cannot be shared
   across components). Mirrors .cases-filterbar (CaseItems.razor.css). */
.timetracking-filterbar[b-emtedby1th] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    /* The backdrop-filter below makes this a stacking context. Without an explicit
       z-index, the later frosted-glass datagrid (its own backdrop-filter stacking
       context) paints over the open facet popup — the popup's inner z-index:1002
       can't escape this wrapper. Elevate the whole bar above the grid. #1799 */
    position: relative;
    z-index: 10;
    background: var(--adv-surface-glass);
    -webkit-backdrop-filter: blur(var(--adv-glass-blur));
    backdrop-filter: blur(var(--adv-glass-blur));
    border: 1px solid var(--adv-glass-border);
    border-radius: 0.85rem;
    box-shadow: var(--adv-shadow-card);
}

.timetracking-filterbar__bar[b-emtedby1th] {
    flex: 1 1 320px;
    min-width: 0;
}

.timetracking-filterbar__actions[b-emtedby1th] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .timetracking-filterbar__bar[b-emtedby1th] {
        flex-basis: 100%;
    }
}
/* /Components/Pages/TimeTracking/StatusBadge.razor.rz.scp.css */
.status-rejected[b-y9rdxgr5p7] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
}

.status-rejected__reason[b-y9rdxgr5p7] {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.75rem;
    line-height: 1.2;
    color: var(--rz-danger, #d32f2f);
}
/* /Components/Pages/TimeTracking/TimeEntriesTab.razor.rz.scp.css */
/* ── Odoo-style facet filter bar + saved filters + actions (#1796) ──
   Single row: the facet bar grows to fill, the saved-filters menu and the
   action buttons sit at the end. Mirrors .cases-filterbar (CaseItems.razor.css). */
.timetracking-filterbar[b-rgz6q4m66e] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    /* The backdrop-filter below makes this a stacking context. Without an explicit
       z-index, the later frosted-glass datagrid (its own backdrop-filter stacking
       context) paints over the open facet popup — the popup's inner z-index:1002
       can't escape this wrapper. Elevate the whole bar above the grid. #1799 */
    position: relative;
    z-index: 10;
    background: var(--adv-surface-glass);
    -webkit-backdrop-filter: blur(var(--adv-glass-blur));
    backdrop-filter: blur(var(--adv-glass-blur));
    border: 1px solid var(--adv-glass-border);
    border-radius: 0.85rem;
    box-shadow: var(--adv-shadow-card);
}

.timetracking-filterbar__bar[b-rgz6q4m66e] {
    flex: 1 1 320px;
    min-width: 0;
}

.timetracking-filterbar__actions[b-rgz6q4m66e] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .timetracking-filterbar__bar[b-rgz6q4m66e] {
        flex-basis: 100%;
    }
}
/* /Components/Widgets/AppDialogFooter.razor.rz.scp.css */
/* Action bar pinned below the dialog body with a hairline divider.
   Uses Radzen theme tokens so the border + spacing read correctly in
   both light and dark. The Start slot pushes primary actions to the
   right via margin-right:auto; everything wraps gracefully when narrow. */
.app-dialog-footer[b-gu9861zwfp] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--rz-border-color);
}

.app-dialog-footer__start[b-gu9861zwfp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-right: auto;
}

.app-dialog-footer__end[b-gu9861zwfp] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
/* /Components/Widgets/FilterBar/AdvFacetChip.razor.rz.scp.css */
.adv-facet-chip[b-il373nw3o7] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 2px 4px 2px 8px;
    border-radius: 10px;
    font-size: 0.78rem;
    line-height: 1.4;
    white-space: nowrap;
    background: var(--adv-primary-lighter);
    color: var(--adv-primary-dark);
    max-width: 320px;
    overflow: hidden;
}

.adv-facet-chip__field[b-il373nw3o7] {
    font-weight: 600;
}

.adv-facet-chip__field[b-il373nw3o7]::after {
    content: ":\00a0";
}

.adv-facet-chip__values[b-il373nw3o7] {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
}

.adv-facet-chip__remove[b-il373nw3o7] {
    display: inline-flex;
    align-items: center;
    border: none;
    background: transparent;
    color: var(--adv-primary-dark);
    cursor: pointer;
    padding: 0;
    border-radius: 50%;
}

.adv-facet-chip__remove:hover[b-il373nw3o7] {
    color: var(--adv-danger);
}

.adv-facet-chip__icon[b-il373nw3o7] {
    font-size: 1rem;
}
/* /Components/Widgets/FilterBar/AdvFacetFilterBar.razor.rz.scp.css */
/* ============================================================
   Generic Odoo-style facet search bar (#1796).
   Tokens only; Radzen internals reached with ::deep where needed.
   Outside-click dismissal lives in facetFilter.js — a fixed-position
   backdrop is unusable here (backdrop-filter ancestors become its
   containing block and shrink it to the bar's box).
   ============================================================ */

.adv-facetbar[b-mi8rqkjrsx] {
    position: relative;
    z-index: 1001;
}

.adv-facetbar__field[b-mi8rqkjrsx] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-height: 42px;
    padding: 0.3rem 0.5rem;
    background: var(--adv-surface);
    border: 1px solid var(--adv-input-border);
    border-radius: 0.6rem;
    cursor: text;
    transition: border-color .12s ease, box-shadow .12s ease;
}

.adv-facetbar.is-open .adv-facetbar__field[b-mi8rqkjrsx],
.adv-facetbar__field:focus-within[b-mi8rqkjrsx] {
    border-color: var(--adv-primary);
    box-shadow: var(--adv-focus-shadow);
}

.adv-facetbar__icon[b-mi8rqkjrsx] {
    color: var(--adv-text-muted);
    font-size: 1.15rem;
    margin: 0 0.1rem 0 0.2rem;
}

.adv-facetbar__input[b-mi8rqkjrsx] {
    flex: 1 1 140px;
    min-width: 140px;
    border: none;
    outline: none;
    background: transparent;
    color: var(--adv-text);
    font-size: 0.9rem;
    padding: 0.3rem 0.15rem;
}

.adv-facetbar__clear[b-mi8rqkjrsx] {
    display: inline-flex;
    align-items: center;
    border: none;
    background: transparent;
    color: var(--adv-text-muted);
    cursor: pointer;
    padding: 0.15rem;
    border-radius: 50%;
}

.adv-facetbar__clear:hover[b-mi8rqkjrsx] {
    color: var(--adv-danger);
    background: var(--adv-row-hover);
}

.adv-facetbar__clear-icon[b-mi8rqkjrsx] {
    font-size: 1.05rem;
}

/* ── Popup ── */
.adv-facet-popup[b-mi8rqkjrsx] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 1002;
    max-height: 380px;
    overflow-y: auto;
    background: var(--adv-surface);
    border: 1px solid var(--adv-border);
    border-radius: 0.6rem;
    box-shadow: var(--adv-shadow-elevated);
    padding: 0.35rem;
}

.adv-facet-popup__empty[b-mi8rqkjrsx] {
    padding: 0.6rem 0.7rem;
    color: var(--adv-text-muted);
    font-size: 0.85rem;
}

.adv-facet-row[b-mi8rqkjrsx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.55rem;
    border-radius: 0.45rem;
    cursor: pointer;
    font-size: 0.88rem;
    color: var(--adv-text);
}

.adv-facet-row.is-active[b-mi8rqkjrsx] {
    background: var(--adv-row-hover);
}

.adv-facet-row__icon[b-mi8rqkjrsx] {
    color: var(--adv-text-muted);
    font-size: 1.1rem;
}

.adv-facet-row__label[b-mi8rqkjrsx] {
    flex: 1 1 auto;
}

.adv-facet-row__chevron[b-mi8rqkjrsx] {
    color: var(--adv-text-muted);
    font-size: 1.1rem;
}

/* ── Value picker ── */
.adv-facet-picker[b-mi8rqkjrsx] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.15rem;
}

.adv-facet-picker__back[b-mi8rqkjrsx] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    border: none;
    background: transparent;
    cursor: pointer;
    color: var(--adv-primary-dark);
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.3rem 0.25rem;
}

.adv-facet-picker__search[b-mi8rqkjrsx] {
    border: 1px solid var(--adv-input-border);
    border-radius: 0.45rem;
    padding: 0.4rem 0.5rem;
    font-size: 0.85rem;
    outline: none;
}

.adv-facet-picker__search:focus[b-mi8rqkjrsx] {
    border-color: var(--adv-primary);
    box-shadow: var(--adv-focus-shadow);
}

.adv-facet-picker__options[b-mi8rqkjrsx] {
    display: flex;
    flex-direction: column;
    max-height: 220px;
    overflow-y: auto;
}

.adv-facet-option[b-mi8rqkjrsx] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-radius: 0.45rem;
    cursor: pointer;
    font-size: 0.88rem;
}

.adv-facet-option:hover[b-mi8rqkjrsx] {
    background: var(--adv-row-hover);
}

.adv-facet-picker__apply[b-mi8rqkjrsx] {
    display: flex;
    justify-content: flex-end;
    padding-top: 0.25rem;
}

.adv-facet-picker__value[b-mi8rqkjrsx] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.25rem;
}

.adv-facet-picker__ops[b-mi8rqkjrsx] {
    display: flex;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.adv-facet-op[b-mi8rqkjrsx] {
    border: 1px solid var(--adv-input-border);
    background: var(--adv-surface);
    color: var(--adv-text-muted);
    border-radius: 0.45rem;
    padding: 0.3rem 0.6rem;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
}

.adv-facet-op.is-active[b-mi8rqkjrsx] {
    background: var(--adv-primary);
    color: #fff;
    border-color: var(--adv-primary);
}

.adv-facet-picker__control[b-mi8rqkjrsx] {
    width: 100%;
}

@media (max-width: 640px) {
    .adv-facetbar__input[b-mi8rqkjrsx] {
        flex-basis: 100%;
    }
}
/* /Components/Widgets/InlineEdit/InlineEditField.razor.rz.scp.css */
/* ==========================================================================
   InlineEditField — scoped component styles
   Uses --adv-* design tokens from _variables.css.  Dark-mode safe: all
   colours reference tokens rather than hard-coded hex values.
   ========================================================================== */

/* Container: flex row, aligns label + value/editor side-by-side */
.inline-field[b-lum22vy8b8] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
    position: relative;
    min-height: 2rem;
}

/* Label — muted, slightly smaller */
.inline-field-label[b-lum22vy8b8] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--adv-text-muted);
    min-width: 6rem;
    flex-shrink: 0;
}

/* Icon label — compact leading icon shown instead of the text label
   (mobile contact card). Kept the same muted tone and a fixed width so the
   values still line up. */
.inline-field-label-icon[b-lum22vy8b8] {
    color: var(--adv-text-muted);
    font-size: 1.15rem;
    min-width: 1.5rem;
    flex-shrink: 0;
    text-align: center;
}

/* Display value */
.inline-field-value[b-lum22vy8b8] {
    color: var(--adv-text);
    flex: 1;
}

/* Pencil icon — hidden by default, shown on container hover */
.inline-field-pencil[b-lum22vy8b8] {
    opacity: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    color: var(--adv-text-muted);
    transition: opacity 0.15s ease, color 0.15s ease;
    line-height: 1;
}

.inline-field:hover .inline-field-pencil[b-lum22vy8b8] {
    opacity: 0.55;
}

.inline-field-pencil:hover[b-lum22vy8b8] {
    opacity: 1 !important;
    color: var(--adv-primary);
}

/* Edit row: editor + confirm/cancel buttons */
.inline-field-edit[b-lum22vy8b8] {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 0.35rem;
}

/* Confirm / cancel buttons. Generously sized circular hit targets (2rem) so the
   commit control is impossible to miss — the previous ~20px icon-spans were so
   small that a near-miss landed on Cancel and silently discarded the edit. #1782 */
.inline-field-btn[b-lum22vy8b8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--adv-text-muted);
    cursor: pointer;
    line-height: 1;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.inline-field-btn:hover[b-lum22vy8b8] {
    background-color: rgba(var(--adv-primary-rgb), 0.1);
    color: var(--adv-primary);
}

/* Keyboard focus ring (native <button> gives us this for free; make it on-brand). */
.inline-field-btn:focus-visible[b-lum22vy8b8] {
    outline: 2px solid var(--adv-primary);
    outline-offset: 1px;
}

.inline-field-btn:disabled[b-lum22vy8b8] {
    cursor: not-allowed;
    opacity: 0.55;
}

/* Confirm is success-tinted so it reads as the affirmative action; cancel stays
   muted. (RadzenIcon renders the glyph; we only colour the surrounding button.) */
.inline-field-btn--save[b-lum22vy8b8] {
    color: var(--adv-success, #2e9e5b);
}

.inline-field-btn--save:hover[b-lum22vy8b8] {
    background-color: rgba(46, 158, 91, 0.14);
    color: var(--adv-success, #2e9e5b);
}

/* Spinning autorenew icon while a save is in flight. */
.inline-field-spin[b-lum22vy8b8] {
    animation: inline-field-spin-b-lum22vy8b8 1s linear infinite;
}

@keyframes inline-field-spin-b-lum22vy8b8 {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Inline error message — shown below the edit row on save failure */
.inline-field-error[b-lum22vy8b8] {
    display: block;
    width: 100%;
    margin-top: 0.2rem;
    font-size: 0.78rem;
    color: var(--adv-danger);
    background-color: var(--adv-danger-lighter);
    border-radius: 4px;
    padding: 0.15rem 0.4rem;
}
/* /Components/Widgets/NotificationBell.razor.rz.scp.css */
.notification-bell[b-rb21626khq] {
    position: relative;
    display: inline-flex;
}

.notification-bell-badge[b-rb21626khq] {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: var(--rz-danger, #d32f2f);
    color: #fff;
    font-size: 0.62rem;
    line-height: 16px;
    text-align: center;
    pointer-events: none;
}

.notification-panel[b-rb21626khq] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 4px;
    width: 340px;
    max-height: 420px;
    display: flex;
    flex-direction: column;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-border-color, #e0e0e0);
    border-radius: 8px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.16);
    z-index: 1200;
}

.notification-panel-header[b-rb21626khq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid var(--rz-border-color, #eee);
}

.notification-panel-list[b-rb21626khq] {
    overflow-y: auto;
}

.notification-empty[b-rb21626khq] {
    padding: 1.25rem 0.85rem;
    text-align: center;
    font-size: 0.82rem;
    color: var(--rz-text-tertiary-color, #888);
}

.notification-item[b-rb21626khq] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    cursor: pointer;
    border-bottom: 1px solid var(--rz-border-color, #f1f1f1);
}

.notification-item:hover[b-rb21626khq] {
    background: rgba(45, 122, 181, 0.06);
}

.notification-item-unread[b-rb21626khq] {
    background: rgba(45, 122, 181, 0.09);
}

.notification-item-body[b-rb21626khq] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.notification-item-message[b-rb21626khq] {
    font-size: 0.82rem;
    line-height: 1.2;
}

.notification-item-date[b-rb21626khq] {
    font-size: 0.68rem;
    color: var(--rz-text-tertiary-color, #999);
}
/* /Components/Widgets/TopBarTimerWidget.razor.rz.scp.css */
/* Styles moved to site.css for reliable rendering */
