/* /Pages/Appointments.razor.rz.scp.css */
.appointments-page[b-ksp8ds5lt2] {
    --appointments-border: var(--rz-border-base-300);
}

.appointments-hero[b-ksp8ds5lt2] {
    border: var(--appointments-border);
    background: linear-gradient(135deg, var(--rz-base-100), var(--rz-base-background-color) 55%);
}

.appointments-legend-card[b-ksp8ds5lt2] {
    border: var(--appointments-border);
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-scheduler {
    height: var(--appointments-scheduler-height, auto);
    overflow: visible;
}

/* Replace the scheduler's built-in prev/today/next/title/view bar with our own
   toolbar so the month/year picker sits in the same row as the navigation. */
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-scheduler-nav {
    display: none;
}

.appointments-scheduler-toolbar[b-ksp8ds5lt2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
}

.appointments-scheduler-toolbar-nav[b-ksp8ds5lt2] {
    flex-wrap: wrap;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view,
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-view-content {
    height: auto;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-view-content,
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-week {
    flex: 0 0 auto;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-week .rz-slots {
    height: auto;
    align-items: stretch;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-week .rz-slot {
    min-height: var(--appointments-month-slot-min-height, 7rem);
    height: auto;
    vertical-align: top;
}

/* Timeline view: let each month row grow to fit all of its appointments
   (sized to the busiest day) instead of clipping behind a "+ mehr" link,
   mirroring how the month-view week rows expand. */
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view,
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view .rz-view-content {
    height: auto;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view .rz-month {
    flex: 0 0 auto;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view .rz-month .rz-slots,
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view .rz-month .rz-slot {
    height: var(--appointments-timeline-row-height, 7rem);
}

/* Give every timeline event bar the same height regardless of whether it
   holds avatars, and keep a little vertical breathing room within its lane so
   the (smaller) avatars no longer touch the top/bottom edges. */
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view .rz-event {
    display: flex;
    align-items: center;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-timeline-view .appointments-scheduler-event {
    width: 100%;
    height: calc(100% - 3px);
}

/* Compact single-line event chip (fits Radzen's fixed per-event row height) */
.appointments-event-chip[b-ksp8ds5lt2] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    width: 100%;
    height: 100%;
    padding: 0 0.4rem;
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
}

.appointments-event-chip-time[b-ksp8ds5lt2] {
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
    opacity: 0.75;
}

.appointments-event-chip-title[b-ksp8ds5lt2] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 600;
}

.appointments-event-chip-people[b-ksp8ds5lt2] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 2px;
}

.appointments-event-chip-more[b-ksp8ds5lt2] {
    flex: 0 0 auto;
    font-size: 0.66rem;
    font-weight: 600;
    opacity: 0.85;
    font-variant-numeric: tabular-nums;
}

/* CustomAvatar defaults to white text, but its user background resolves light
   in this theme. Force readable contrast and a border so the avatars stand out
   on any category-coloured event. */
.appointments-event-chip-people[b-ksp8ds5lt2]  .appointments-event-avatar .custom-avatar-badge {
    background: #232b3a;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}

/* Counter badge for reported ("gemeldet") users: info-blue circle with a light
   ring so it reads distinctly from the navy confirmed avatars on the chip. */
.appointments-event-chip-people[b-ksp8ds5lt2]  .appointments-event-avatar-reported .custom-avatar-badge {
    border-color: rgba(255, 255, 255, 0.35);
}

[b-ksp8ds5lt2] .appointments-scheduler-event {
    box-shadow: var(--rz-shadow-1);
    min-height: 0;
}

[b-ksp8ds5lt2] .appointments-scheduler-event .rz-event-content,
[b-ksp8ds5lt2] .appointments-scheduler-event .rz-year-view-event-content {
    padding: 0;
    height: 100%;
}

/* Keep each event within the row height Radzen allocates so events never
   overlap the one stacked below them. The week row itself grows instead
   (see syncAppointmentsSchedulerMonthLayout in app.js). */
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-event,
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-year-view .rz-event {
    overflow: hidden;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .appointments-scheduler-event,
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-year-view .appointments-scheduler-event {
    height: 100%;
    min-height: 0;
}

[b-ksp8ds5lt2] .appointments-state-canceled {
    opacity: 0.7;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot {
    transition: background-color 0.2s ease, outline-color 0.2s ease;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot-title {
    display: block;
    padding-bottom: 0.25rem;
}

/* Calendar-week badge on the month view's Monday cells, next to the day number
   in the title row above the event lanes (attribute written by OnSlotRender). */
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot[data-week-number] {
    position: relative;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot[data-week-number]::before {
    content: "KW " attr(data-week-number);
    position: absolute;
    inset-block-start: 3px;
    inset-inline-end: 4px;
    padding: 0 0.4em;
    border-radius: 999px;
    background: color-mix(in srgb, var(--rz-base-200) 25%, transparent);
    color: var(--rz-text-secondary-color);
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.6;
    pointer-events: none;
}

@media (max-width: 576px) {
    [b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot[data-week-number]::before {
        content: none;
    }
}

/* Drag-selecting a day range for a new appointment (classes driven by
   registerAppointmentsSchedulerDragSelect in app.js). */
.appointments-scheduler-shell.appointments-drag-selecting[b-ksp8ds5lt2] {
    user-select: none;
    cursor: pointer;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot.appointments-drag-select-slot {
    position: relative;
}

/* The highlight is a bar in the first appointment lane (below the day number)
   instead of a full-cell fill, so the selection reads like the appointment that
   is about to be created. Rendered as an overlay so it also wins over the
   inline today/holiday styles that OnSlotRender writes onto the slots. The
   geometry mirrors the event lanes of syncAppointmentsSchedulerMonthLayout in
   app.js: lane 0 starts at 1.7em, events are 1.5em high. */
[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot.appointments-drag-select-slot::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-start: 1.7em;
    height: 1.5em;
    background-color: rgba(49, 108, 255, 0.35);
    pointer-events: none;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot.appointments-drag-select-slot-start::after {
    inset-inline-start: 3px;
    border-start-start-radius: 4px;
    border-end-start-radius: 4px;
}

[b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-slot.appointments-drag-select-slot-end::after {
    inset-inline-end: 3px;
    border-start-end-radius: 4px;
    border-end-end-radius: 4px;
}

.appointments-legend-groups[b-ksp8ds5lt2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5rem;
}

.appointments-legend-group[b-ksp8ds5lt2] {
    flex: 0 1 auto;
    padding: 0.45rem 0.55rem;
    border: var(--appointments-border);
    border-radius: calc(var(--rz-border-radius) * 2);
    background: color-mix(in srgb, var(--rz-base-200) 20%, transparent);
}

.appointments-legend-group--grow[b-ksp8ds5lt2] {
    flex: 1 1 280px;
}

.appointments-legend-row[b-ksp8ds5lt2] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

@media (max-width: 1200px) {
    [b-ksp8ds5lt2] .appointments-scheduler-shell .rz-scheduler {
        height: var(--appointments-scheduler-height, auto);
    }

    [b-ksp8ds5lt2] .appointments-scheduler-shell .rz-month-view .rz-week .rz-slot {
        min-height: var(--appointments-month-slot-min-height, 8rem);
    }
}
/* /Pages/Dashboard.razor.rz.scp.css */
.dashboard-page[b-9pt7dplh97] {
    display: block;
}

.dashboard-overview-card[b-9pt7dplh97],
.dashboard-panel[b-9pt7dplh97] {
    border-radius: 20px;
    border: 1px solid var(--rz-border-color);
    box-shadow: 0 16px 40px color-mix(in srgb, var(--rz-text-color) 8%, transparent);
}

.dashboard-overview-card[b-9pt7dplh97] {
    background: radial-gradient(circle at top right, color-mix(in srgb, var(--rz-primary) 18%, transparent), transparent 32%),
    radial-gradient(circle at left bottom, color-mix(in srgb, var(--rz-success) 14%, transparent), transparent 28%),
    linear-gradient(135deg, var(--rz-card-background-color), color-mix(in srgb, var(--rz-card-background-color) 92%, var(--rz-text-color)));
}

.dashboard-panel[b-9pt7dplh97],
.dashboard-appointment-item[b-9pt7dplh97],
.dashboard-team-item[b-9pt7dplh97] {
    background: var(--rz-card-background-color);
}

.dashboard-eyebrow[b-9pt7dplh97] {
    letter-spacing: 0.18em;
    font-weight: 700;
    color: var(--rz-primary);
}

.dashboard-muted[b-9pt7dplh97] {
    color: var(--rz-text-secondary-color);
}

.dashboard-metrics[b-9pt7dplh97] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.6rem;
}

.dashboard-metric[b-9pt7dplh97] {
    padding: 0.6rem 0.75rem;
    border-radius: 14px;
    background: color-mix(in srgb, var(--rz-text-color) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--rz-text-color) 10%, transparent);
    border-left: 3px solid var(--rz-border-color);
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.dashboard-metric-label[b-9pt7dplh97] {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-metric-value[b-9pt7dplh97] {
    font-size: 1.5rem;
    line-height: 1.05;
    color: var(--rz-text-title-color);
}

.dashboard-metric-caption[b-9pt7dplh97] {
    font-size: 0.72rem;
    color: var(--rz-text-secondary-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.metric-primary[b-9pt7dplh97] {
    border-left-color: var(--rz-primary);
}

.metric-danger[b-9pt7dplh97] {
    border-left-color: var(--rz-danger);
}

.metric-info[b-9pt7dplh97] {
    border-left-color: var(--rz-info);
}

.metric-warning[b-9pt7dplh97] {
    border-left-color: var(--rz-warning);
}

.metric-success[b-9pt7dplh97] {
    border-left-color: var(--rz-success);
}

.dashboard-link[b-9pt7dplh97] {
    font-weight: 600;
    cursor: pointer;
}

.dashboard-loading-wrap[b-9pt7dplh97] {
    display: flex;
    justify-content: center;
    padding: 2rem 0;
}

.dashboard-date-tile[b-9pt7dplh97] {
    min-width: 44px;
    padding: 0.45rem 0.4rem;
    border-radius: 12px;
    background: color-mix(in srgb, var(--rz-primary) 10%, transparent);
    color: var(--rz-text-title-color);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.dashboard-date-tile strong[b-9pt7dplh97] {
    font-size: 1.1rem;
    line-height: 1;
}

.dashboard-date-tile span[b-9pt7dplh97] {
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    color: var(--rz-text-secondary-color);
}

.dashboard-appointment-main[b-9pt7dplh97] {
    min-width: 0;
    flex: 1 1 auto;
}

.dashboard-appointment-content[b-9pt7dplh97] {
    min-width: 0;
    flex: 1 1 auto;
}

.dashboard-appointment-title[b-9pt7dplh97] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-appointment-meta[b-9pt7dplh97] {
    flex: 0 0 auto;
}

.dashboard-page[b-9pt7dplh97]  .dashboard-appointment-category {
    font-size: 0.66rem;
    padding: 0.05rem 0.45rem;
}

.dashboard-team-grid[b-9pt7dplh97] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.5rem;
}

.dashboard-page[b-9pt7dplh97]  .dashboard-team-item {
    padding: 0.45rem 0.65rem;
}

.dashboard-page[b-9pt7dplh97]  .dashboard-appointment-item {
    padding: 0.55rem 0.7rem;
}

@media (max-width: 767px) {
    .dashboard-overview-card[b-9pt7dplh97],
    .dashboard-panel[b-9pt7dplh97] {
        border-radius: 16px;
    }
}
/* /Pages/Events.razor.rz.scp.css */
.ev-page[b-7cnp0p00zi] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Toolbar */
.ev-toolbar[b-7cnp0p00zi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.ev-toolbar__title[b-7cnp0p00zi] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
}

.ev-h1[b-7cnp0p00zi] {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--rz-text-title-color);
}

.ev-count[b-7cnp0p00zi] {
    color: var(--rz-text-secondary-color);
    font-size: 0.85rem;
}

.ev-toolbar__actions[b-7cnp0p00zi] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.ev-search[b-7cnp0p00zi] {
    min-width: 220px;
}

.ev-search--mobile[b-7cnp0p00zi] {
    width: 100%;
}

/* Filter pills */
.ev-filter[b-7cnp0p00zi] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ev-filter__pill[b-7cnp0p00zi] {
    border: 1px solid var(--rz-border-color);
    background: transparent;
    color: var(--rz-text-secondary-color);
    border-radius: 999px;
    padding: 0.4rem 1rem;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ev-filter__pill:hover[b-7cnp0p00zi] {
    color: var(--rz-text-title-color);
    border-color: color-mix(in srgb, var(--rz-text-color) 30%, transparent);
}

.ev-filter__pill.is-active[b-7cnp0p00zi] {
    background: var(--rz-primary);
    color: var(--rz-primary-contrast, #fff);
    border-color: transparent;
    font-weight: 600;
}

/* List */
.ev-list[b-7cnp0p00zi] {
    border: 1px solid var(--rz-border-color);
    border-radius: 16px;
    background: var(--rz-card-background-color);
    overflow: hidden;
}

.ev-list__head[b-7cnp0p00zi],
.ev-row[b-7cnp0p00zi] {
    display: grid;
    grid-template-columns: 1fr 160px 130px 165px 96px;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 1.1rem;
}

.ev-list__head[b-7cnp0p00zi] {
    color: var(--rz-text-secondary-color);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid var(--rz-border-color);
}

.ev-row[b-7cnp0p00zi] {
    border-top: 1px solid color-mix(in srgb, var(--rz-border-color) 60%, transparent);
    cursor: pointer;
    transition: background-color 0.12s ease;
}

.ev-row:first-of-type[b-7cnp0p00zi] {
    border-top: none;
}

.ev-row:hover[b-7cnp0p00zi] {
    background: color-mix(in srgb, var(--rz-primary) 7%, transparent);
}

.ev-row__main[b-7cnp0p00zi] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

.ev-logo[b-7cnp0p00zi] {
    flex: 0 0 auto;
    width: 84px;
    height: 47px;
    border-radius: 8px;
    border: 1px solid var(--rz-border-color);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* VA logos are always 16:9 — fill the 16:9 box with cover so there are no white bars. */
.ev-logo img[b-7cnp0p00zi] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ev-row__text[b-7cnp0p00zi] {
    min-width: 0;
}

.ev-row__title[b-7cnp0p00zi] {
    font-weight: 600;
    color: var(--rz-text-title-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ev-row__sub[b-7cnp0p00zi] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-top: 0.25rem;
}

.ev-sub-muted[b-7cnp0p00zi] {
    color: var(--rz-text-secondary-color);
    font-size: 0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

.ev-disc-strip[b-7cnp0p00zi] {
    display: flex;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.ev-disc-logo[b-7cnp0p00zi] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--rz-border-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px;
}

.ev-disc-logo img[b-7cnp0p00zi] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ev-row__date[b-7cnp0p00zi] {
    color: var(--rz-text-color);
    font-size: 0.9rem;
}

.ev-col-action[b-7cnp0p00zi] {
    display: flex;
    justify-content: flex-end;
    gap: 0.2rem;
}

/* Type chip, coloured per type */
.ev-type-chip[b-7cnp0p00zi] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    border: 1px solid transparent;
}

.ev-type-chip.is-event[b-7cnp0p00zi] {
    background: color-mix(in srgb, var(--rz-primary) 16%, transparent);
    color: var(--rz-primary);
    border-color: color-mix(in srgb, var(--rz-primary) 35%, transparent);
}

.ev-type-chip.is-promo[b-7cnp0p00zi] {
    background: color-mix(in srgb, var(--rz-warning) 18%, transparent);
    color: var(--rz-warning);
    border-color: color-mix(in srgb, var(--rz-warning) 38%, transparent);
}

.ev-type-chip.is-redirect[b-7cnp0p00zi] {
    background: color-mix(in srgb, var(--rz-info) 16%, transparent);
    color: var(--rz-info);
    border-color: color-mix(in srgb, var(--rz-info) 35%, transparent);
}

.ev-empty[b-7cnp0p00zi] {
    padding: 2rem;
    text-align: center;
    color: var(--rz-text-secondary-color);
}

@media (max-width: 900px) {
    .ev-list__head[b-7cnp0p00zi],
    .ev-row[b-7cnp0p00zi] {
        grid-template-columns: 1fr auto;
    }

    .ev-col-disc[b-7cnp0p00zi],
    .ev-col-date[b-7cnp0p00zi],
    .ev-col-type[b-7cnp0p00zi] {
        display: none;
    }
}
/* /Pages/Planning.razor.rz.scp.css */
/* Single-row navigation toolbar: period nav + datepicker on the left,
   view switch and filters on the right. Mirrors the Appointments toolbar. */
.planning-toolbar[b-w1anc8dqnc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
}

.planning-toolbar-nav[b-w1anc8dqnc],
.planning-toolbar-actions[b-w1anc8dqnc] {
    flex-wrap: wrap;
}

/* Timeline assignment chips */
.planning-timeline-cell[b-w1anc8dqnc] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.2rem 0;
}

.timeline-chip[b-w1anc8dqnc] {
    --chip-cat: var(--rz-base-500);
    --chip-accent: var(--rz-info);
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 8.5rem;
    max-width: 13rem;
    padding: 0.4rem 0.55rem 0.4rem 0.65rem;
    border-radius: 0.55rem;
    border: 1px solid color-mix(in srgb, var(--chip-accent) 35%, transparent);
    border-inline-start: 0.25rem solid var(--chip-accent);
    background:
        linear-gradient(color-mix(in srgb, var(--chip-cat) 14%, var(--rz-card-background-color, #1f2227)),
                        color-mix(in srgb, var(--chip-cat) 14%, var(--rz-card-background-color, #1f2227)));
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;
}

.timeline-chip:hover[b-w1anc8dqnc] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
    border-color: var(--chip-accent);
}

.timeline-chip:focus-visible[b-w1anc8dqnc] {
    outline: 2px solid var(--chip-accent);
    outline-offset: 2px;
}

.timeline-chip-head[b-w1anc8dqnc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
}

.timeline-chip-cat[b-w1anc8dqnc] {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    flex: 0 0 auto;
    background: var(--chip-cat);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.timeline-chip-date[b-w1anc8dqnc] {
    font-weight: 600;
    color: var(--rz-text-color, #e8eaed);
    white-space: nowrap;
}

.timeline-chip-time[b-w1anc8dqnc] {
    color: var(--rz-text-secondary-color, rgba(232, 234, 237, 0.65));
    white-space: nowrap;
}

.timeline-chip-task[b-w1anc8dqnc] {
    margin-inline-start: auto;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    color: var(--rz-text-color, #e8eaed);
    background: color-mix(in srgb, var(--rz-text-color, #e8eaed) 14%, transparent);
}

.timeline-chip-title[b-w1anc8dqnc] {
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--rz-text-color, #f2f3f5);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.timeline-chip-state[b-w1anc8dqnc] {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--chip-accent);
}

.timeline-chip--canceled[b-w1anc8dqnc] {
    opacity: 0.55;
}

.timeline-chip--canceled .timeline-chip-title[b-w1anc8dqnc] {
    text-decoration: line-through;
}
/* /Pages/Public/AdvertManagement.razor.rz.scp.css */
/* Theme-aware: all colours derive from Radzen CSS custom properties so the page
   tracks the active light/dark theme (material3 / material3-dark). Tints and
   overlays use color-mix() rather than hardcoded literals — same convention as
   Shared/Components/AppointmentTooltip.razor.css. */
.advert-header-card[b-n6j5qb3vmo] {
    margin-bottom: 10px;
    border-radius: 18px;
    border: 1px solid var(--rz-border-color);
    background: linear-gradient(145deg, var(--rz-card-background-color),
        color-mix(in srgb, var(--rz-card-background-color) 90%, var(--rz-text-color)));
}

.advert-intro-shell[b-n6j5qb3vmo] {
    min-height: calc(100vh - 220px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0.5rem;
}

.advert-intro-card[b-n6j5qb3vmo] {
    width: min(980px, 100%);
    border-radius: 22px;
    border: 1px solid var(--rz-border-color);
    background: linear-gradient(160deg, var(--rz-card-background-color),
        color-mix(in srgb, var(--rz-card-background-color) 88%, var(--rz-text-color)));
    box-shadow: 0 18px 48px color-mix(in srgb, var(--rz-text-color) 12%, transparent);
    padding: 1.75rem;
}

.advert-intro-icon[b-n6j5qb3vmo] {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--rz-primary);
    background: color-mix(in srgb, var(--rz-primary) 14%, transparent);
}

.advert-intro-text[b-n6j5qb3vmo] {
    max-width: 720px;
    text-align: center;
}

.advert-intro-steps[b-n6j5qb3vmo] {
    width: 100%;
}

.advert-step-card[b-n6j5qb3vmo] {
    height: 100%;
    border-radius: 16px;
    border: 1px solid var(--rz-border-color);
    background: var(--rz-card-background-color);
}

.advert-workspace-row[b-n6j5qb3vmo] {
    align-items: stretch;
}

.advert-sidebar-card[b-n6j5qb3vmo],
.advert-panel-card[b-n6j5qb3vmo] {
    border-radius: 18px;
    border: 1px solid var(--rz-border-color);
    background: var(--rz-card-background-color);
}

.advert-sidebar-card--compact[b-n6j5qb3vmo] {
    height: 100%;
}

.advert-folder-list[b-n6j5qb3vmo] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    overflow: auto;
    max-height: calc(100vh - 380px);
    padding-right: 0.15rem;
}

.advert-folder-button[b-n6j5qb3vmo] {
    width: 100%;
    justify-content: flex-start;
    border-radius: 10px;
    text-align: left;
    border: 1px solid transparent;
}

.advert-folder-button .rz-button-text[b-n6j5qb3vmo] {
    width: 100%;
    text-align: left;
}

.advert-folder-button--active[b-n6j5qb3vmo] {
    border-color: color-mix(in srgb, var(--rz-primary) 45%, transparent);
    background: color-mix(in srgb, var(--rz-primary) 12%, transparent);
    color: var(--rz-primary);
}

.advert-folder-button-label[b-n6j5qb3vmo] {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.advert-explorer-card[b-n6j5qb3vmo] {
    height: calc(100vh - 250px);
    min-height: 560px;
    display: flex;
    flex-direction: column;
}

.advert-explorer-content[b-n6j5qb3vmo] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.advert-file-grid-scroll[b-n6j5qb3vmo] {
    flex: 1 1 auto;
    overflow: auto;
    padding-right: 0.2rem;
}

.advert-file-grid[b-n6j5qb3vmo] {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.advert-file-tile-wrapper[b-n6j5qb3vmo] {
    min-width: 0;
    cursor: grab;
}

.advert-file-tile-wrapper--active .advert-file-tile[b-n6j5qb3vmo] {
    border-color: color-mix(in srgb, var(--rz-primary) 60%, transparent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rz-primary) 28%, transparent);
}

.advert-file-tile[b-n6j5qb3vmo] {
    height: 100%;
    min-height: 225px;
    border-radius: 14px;
    border: 1px solid var(--rz-border-color);
    padding: 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.advert-file-tile:hover[b-n6j5qb3vmo] {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--rz-primary) 40%, transparent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--rz-text-color) 12%, transparent);
}

.advert-file-tile--previous[b-n6j5qb3vmo] {
    background: linear-gradient(180deg, var(--rz-card-background-color),
        color-mix(in srgb, var(--rz-card-background-color) 90%, var(--rz-text-color)));
}

.advert-file-tile--current[b-n6j5qb3vmo] {
    background: linear-gradient(180deg, var(--rz-card-background-color),
        color-mix(in srgb, var(--rz-card-background-color) 88%, var(--rz-primary)));
}

.advert-file-preview[b-n6j5qb3vmo] {
    height: 128px;
    border-radius: 10px;
    overflow: hidden;
    background: color-mix(in srgb, var(--rz-text-color) 6%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.advert-file-preview-img[b-n6j5qb3vmo] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.advert-file-preview-fallback[b-n6j5qb3vmo] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rz-text-secondary-color);
    font-size: 1.6rem;
}

.advert-file-meta[b-n6j5qb3vmo] {
    padding: 0.2rem 0.15rem 0.25rem;
}

.advert-file-name[b-n6j5qb3vmo] {
    line-height: 1.3;
    word-break: break-word;
    max-height: 2.6rem;
    overflow: hidden;
}

.advert-current-dropzone[b-n6j5qb3vmo] {
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.advert-current-dropzone--active[b-n6j5qb3vmo] {
    border-color: color-mix(in srgb, var(--rz-primary) 55%, transparent);
    background: linear-gradient(160deg,
        color-mix(in srgb, var(--rz-primary) 12%, var(--rz-card-background-color)),
        color-mix(in srgb, var(--rz-primary) 20%, var(--rz-card-background-color)));
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--rz-primary) 30%, transparent);
}

.advert-dropzone-shell[b-n6j5qb3vmo] {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 14px;
    padding: 0.25rem;
}

.advert-dropzone-shell--active[b-n6j5qb3vmo] {
    background: color-mix(in srgb, var(--rz-primary) 15%, transparent);
}

.advert-dropzone-content[b-n6j5qb3vmo] {
    position: relative;
    z-index: 1;
}

.advert-drop-overlay[b-n6j5qb3vmo] {
    position: absolute;
    inset: 0.4rem;
    border-radius: 12px;
    background: color-mix(in srgb, var(--rz-primary) 18%, var(--rz-card-background-color));
    border: 2px dashed color-mix(in srgb, var(--rz-primary) 60%, transparent);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.35rem;
    text-align: center;
    pointer-events: auto;
}

.advert-drop-overlay-icon[b-n6j5qb3vmo] {
    font-size: 2rem;
    color: var(--rz-primary);
}

.advert-upload-action[b-n6j5qb3vmo] {
    position: relative;
    display: inline-flex;
}

.advert-upload-input[b-n6j5qb3vmo] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

@media (max-width: 1300px) {
    .advert-explorer-card[b-n6j5qb3vmo] {
        height: calc(100vh - 210px);
        min-height: 520px;
    }
}

@media (max-width: 1024px) {
    .advert-explorer-card[b-n6j5qb3vmo] {
        height: auto;
        min-height: 0;
    }

    .advert-folder-list[b-n6j5qb3vmo] {
        max-height: 260px;
    }

    .advert-file-grid-scroll[b-n6j5qb3vmo] {
        max-height: 58vh;
    }
}

@media (max-width: 900px) {
    .advert-intro-card[b-n6j5qb3vmo] {
        padding: 1.2rem;
    }

    .advert-file-grid[b-n6j5qb3vmo] {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
}
/* /Pages/ReleaseNotes.razor.rz.scp.css */
.release-notes-page[b-aogtvucily] {
    display: block;
}

/* ---------- Hero ---------- */
.release-notes-shell[b-aogtvucily] {
    padding: clamp(1.5rem, 3vw, 2.4rem);
    border-radius: 22px;
    border: 1px solid var(--rz-base-300);
    background: var(--rz-card-background-color);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
}

.release-notes-hero[b-aogtvucily] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
}

.release-notes-heading[b-aogtvucily] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    max-width: 46rem;
}

.release-notes-eyebrow[b-aogtvucily] {
    letter-spacing: 0.22em;
    font-weight: 700;
    color: var(--rz-primary);
}

.release-notes-title[b-aogtvucily] {
    font-weight: 800;
    letter-spacing: -0.01em;
}

.release-notes-muted[b-aogtvucily] {
    color: var(--rz-text-secondary-color);
}

.release-notes-tags[b-aogtvucily] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.4rem;
}

.release-notes-actions[b-aogtvucily] {
    flex-shrink: 0;
}

/* ---------- Timeline ---------- */
.release-notes-timeline[b-aogtvucily] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* continuous vertical rail behind the date nodes */
.release-notes-timeline[b-aogtvucily]::before {
    content: "";
    position: absolute;
    left: 38px;
    top: 36px;
    bottom: 0.5rem;
    width: 2px;
    margin-left: -1px;
    background: linear-gradient(
        var(--rz-base-300),
        color-mix(in srgb, var(--rz-base-300) 20%, transparent));
    z-index: 0;
}

.release-note-row[b-aogtvucily] {
    position: relative;
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 1.25rem;
    align-items: start;
}

/* ---------- Date node ---------- */
.release-note-rail[b-aogtvucily] {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    padding-top: 0.4rem;
}

.release-note-node[b-aogtvucily] {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    background: var(--rz-base-background-color);
    border: 2px solid var(--rz-base-300);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.release-note-day[b-aogtvucily] {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
    color: var(--rz-text-title-color);
}

.release-note-mon[b-aogtvucily] {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    line-height: 1.1;
    color: var(--rz-text-secondary-color);
}

.release-note-yr[b-aogtvucily] {
    font-size: 0.58rem;
    line-height: 1;
    color: var(--rz-text-secondary-color);
    opacity: 0.75;
}

.release-note-row.is-released .release-note-node[b-aogtvucily] {
    border-color: color-mix(in srgb, var(--rz-success) 75%, var(--rz-base-300));
}

.release-note-row.is-draft .release-note-node[b-aogtvucily] {
    border-color: color-mix(in srgb, var(--rz-warning) 70%, var(--rz-base-300));
}

.release-note-row.is-featured .release-note-node[b-aogtvucily] {
    border-color: var(--rz-primary);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rz-primary) 18%, transparent),
        0 8px 20px rgba(0, 0, 0, 0.32);
}

/* ---------- Card ---------- */
.release-note-card[b-aogtvucily] {
    position: relative;
    overflow: hidden;
    padding: 1.25rem 1.4rem 1.35rem;
    border-radius: 16px;
    border: 1px solid var(--rz-base-300);
    background: var(--rz-card-background-color);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.release-note-card:hover[b-aogtvucily] {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--rz-primary) 45%, var(--rz-base-300));
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

.release-note-card:hover .release-note-node[b-aogtvucily] {
    transform: scale(1.03);
}

.release-note-accent[b-aogtvucily] {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--rz-base-300);
}

.release-note-row.is-released .release-note-accent[b-aogtvucily] {
    background: var(--rz-success);
}

.release-note-row.is-draft .release-note-accent[b-aogtvucily] {
    background: var(--rz-warning);
}

.release-note-row.is-featured .release-note-card[b-aogtvucily] {
    border-color: color-mix(in srgb, var(--rz-primary) 45%, var(--rz-base-300));
    background: var(--rz-card-background-color);
}

.release-note-row.is-featured .release-note-accent[b-aogtvucily] {
    background: var(--rz-primary);
}

.release-note-copy[b-aogtvucily] {
    min-width: 0;
}

.release-note-title[b-aogtvucily] {
    color: var(--rz-text-title-color);
    font-weight: 700;
}

.release-note-summary[b-aogtvucily] {
    color: var(--rz-text-color);
    line-height: 1.55;
}

.release-note-tools[b-aogtvucily] {
    opacity: 0.6;
    transition: opacity 0.18s ease;
}

.release-note-card:hover .release-note-tools[b-aogtvucily] {
    opacity: 1;
}

.release-note-divider[b-aogtvucily] {
    height: 1px;
    background: var(--rz-base-300);
    opacity: 0.55;
}

.release-note-html[b-aogtvucily] {
    color: var(--rz-text-secondary-color);
    line-height: 1.7;
}

.release-note-html[b-aogtvucily]  ul,
.release-note-html[b-aogtvucily]  ol {
    margin: 0;
    padding-left: 1.15rem;
}

.release-note-html[b-aogtvucily]  li {
    margin-bottom: 0.35rem;
}

.release-note-html[b-aogtvucily]  li::marker {
    color: var(--rz-primary);
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
    .release-notes-shell[b-aogtvucily] {
        border-radius: 18px;
    }

    .release-notes-timeline[b-aogtvucily]::before {
        left: 28px;
    }

    .release-note-row[b-aogtvucily] {
        grid-template-columns: 56px 1fr;
        gap: 0.85rem;
    }

    .release-note-node[b-aogtvucily] {
        width: 56px;
        height: 56px;
        border-radius: 16px;
    }

    .release-note-day[b-aogtvucily] {
        font-size: 1.15rem;
    }

    .release-note-card[b-aogtvucily] {
        border-radius: 14px;
        padding: 1.1rem 1.15rem 1.2rem;
    }
}
/* /Pages/SingleAdvert.razor.rz.scp.css */
/* Theme-aware: colours derive from Radzen CSS custom properties so the page
   tracks the active light/dark theme. Tints/overlays use color-mix() rather than
   hardcoded literals (cf. Shared/Components/AppointmentTooltip.razor.css). */
.advert-admin-panel-card[b-jupm3z5sox] {
    border-radius: 16px;
    border: 1px solid var(--rz-border-color);
    background: var(--rz-card-background-color);
}

.advert-admin-files-card[b-jupm3z5sox] {
    min-height: 540px;
}

.advert-admin-folder-list[b-jupm3z5sox] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 520px;
    overflow: auto;
    padding-right: 0.15rem;
}

.advert-admin-folder-button[b-jupm3z5sox] {
    width: 100%;
    justify-content: flex-start;
    border-radius: 10px;
    text-align: left;
    border: 1px solid transparent;
}

.advert-admin-folder-button .rz-button-text[b-jupm3z5sox] {
    width: 100%;
    text-align: left;
}

.advert-admin-folder-button--active[b-jupm3z5sox] {
    border-color: color-mix(in srgb, var(--rz-primary) 45%, transparent);
    background: color-mix(in srgb, var(--rz-primary) 12%, transparent);
    color: var(--rz-primary);
}

.advert-admin-folder-button-label[b-jupm3z5sox] {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.advert-admin-grid-scroll[b-jupm3z5sox] {
    max-height: 560px;
    overflow: auto;
    padding-right: 0.15rem;
}

.advert-admin-file-grid[b-jupm3z5sox] {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.advert-admin-file-tile[b-jupm3z5sox] {
    min-height: 220px;
    border-radius: 14px;
    border: 1px solid var(--rz-border-color);
    padding: 0.35rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    background: linear-gradient(180deg, var(--rz-card-background-color),
        color-mix(in srgb, var(--rz-card-background-color) 90%, var(--rz-text-color)));
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.advert-admin-file-tile:hover[b-jupm3z5sox] {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--rz-primary) 40%, transparent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--rz-text-color) 12%, transparent);
}

.advert-admin-file-preview[b-jupm3z5sox] {
    height: 128px;
    border-radius: 10px;
    overflow: hidden;
    background: color-mix(in srgb, var(--rz-text-color) 6%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.advert-admin-file-preview-img[b-jupm3z5sox] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.advert-admin-file-preview-fallback[b-jupm3z5sox] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rz-text-secondary-color);
    font-size: 1.6rem;
}

.advert-admin-file-meta[b-jupm3z5sox] {
    padding: 0.2rem 0.15rem 0.25rem;
}

.advert-admin-file-name[b-jupm3z5sox] {
    line-height: 1.3;
    word-break: break-word;
    max-height: 2.6rem;
    overflow: hidden;
}

.advert-admin-tabs[b-jupm3z5sox] {
    margin-bottom: 0.5rem;
}

@media (max-width: 1200px) {
    .advert-admin-files-card[b-jupm3z5sox] {
        min-height: 460px;
    }

    .advert-admin-folder-list[b-jupm3z5sox] {
        max-height: 300px;
    }

    .advert-admin-grid-scroll[b-jupm3z5sox] {
        max-height: 440px;
    }
}

@media (max-width: 900px) {
    .advert-admin-file-grid[b-jupm3z5sox] {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
}
/* /Pages/SingleCustomer.razor.rz.scp.css */
.customer-logo-wrap[b-g5wfavcca0] {
    position: relative;
}

.customer-logo-upload[b-g5wfavcca0] {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    display: inline-flex;
}

/* The InputFile renders its own <input> (a child component), so the scoped-css
   attribute never lands on it — ::deep is required for the rule to apply. The
   transparent input overlays the small upload button to act as its click target. */
.customer-logo-upload[b-g5wfavcca0]  .customer-logo-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
/* /Pages/ZeiteinteilungEditor.razor.rz.scp.css */
.zt[b-2qjvwjj52m] {
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.zt__head[b-2qjvwjj52m] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.zt__title[b-2qjvwjj52m] {
    margin: 0;
    font-size: 1.25rem;
}

.zt__grid[b-2qjvwjj52m] {
    width: 100%;
}

.zt__hint[b-2qjvwjj52m] {
    font-size: 0.85rem;
    color: var(--rz-text-secondary-color, #888);
}

.zt__hint--warn[b-2qjvwjj52m] {
    color: var(--rz-danger, #c62828);
}

/* Action bar: send judge mail + print + last-dispatch status */
.zt-actions[b-2qjvwjj52m] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0.9rem;
    border: 1px solid var(--rz-border-color, rgba(0, 0, 0, 0.1));
    border-radius: 12px;
    background: var(--rz-base-background-color, #fff);
}

.zt-actions__status[b-2qjvwjj52m] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
}

.zt-actions__sent[b-2qjvwjj52m] {
    color: var(--rz-success, #2e7d32);
}

.zt-actions__controls[b-2qjvwjj52m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.zt-actions__msg[b-2qjvwjj52m] {
    min-width: 280px;
}

/* Sticky judge pool above the schedule */
.zt-pool[b-2qjvwjj52m] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--rz-base-background-color, #fff);
    border: 1px solid var(--rz-border-color, rgba(0, 0, 0, 0.1));
    border-radius: 12px;
    padding: 0.7rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.zt-pool__title[b-2qjvwjj52m] {
    font-weight: 600;
    font-size: 0.9rem;
}

.zt-pool__note[b-2qjvwjj52m] {
    font-weight: 400;
    color: var(--rz-text-secondary-color, #888);
}

.zt-pool__chips[b-2qjvwjj52m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}

.zt-pool__controls[b-2qjvwjj52m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.zt-pool__select[b-2qjvwjj52m] {
    min-width: 260px;
}

.zt-pool__create[b-2qjvwjj52m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.zt-pool__cinput[b-2qjvwjj52m] {
    min-width: 200px;
}

/* Judge chip (draggable) */
.zt-chip[b-2qjvwjj52m] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    cursor: grab;
    font-size: 0.85rem;
    color: #fff;
    user-select: none;
}

.zt-chip--ok[b-2qjvwjj52m] {
    background: var(--rz-success, #2e7d32);
}

/* Rot (nicht gelb): Richter ohne E-Mail-Adresse – wie im EquiDeck-Editor. */
.zt-chip--warn[b-2qjvwjj52m] {
    background: var(--rz-danger, #c62828);
}

/* Legende Pool: erklärt die Chip-Farben */
.zt-pool__legend[b-2qjvwjj52m] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color, #888);
}

.zt-legend__item[b-2qjvwjj52m] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.zt-legend__dot[b-2qjvwjj52m] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}

.zt-legend__dot--ok[b-2qjvwjj52m] {
    background: var(--rz-success, #2e7d32);
}

.zt-legend__dot--warn[b-2qjvwjj52m] {
    background: var(--rz-danger, #c62828);
}

.zt-chip__x[b-2qjvwjj52m] {
    cursor: pointer;
    font-weight: 700;
    opacity: 0.85;
    padding: 0 0.15rem;
}

.zt-chip__x:hover[b-2qjvwjj52m] {
    opacity: 1;
}

/* Aktions-Icons auf der Richterkarte (Phase G): Mail-Vorschau + Einzelversand */
.zt-chip__action[b-2qjvwjj52m] {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    opacity: 0.85;
}

.zt-chip__action:hover[b-2qjvwjj52m] {
    opacity: 1;
}

.zt-chip__action[b-2qjvwjj52m]  .rzi,
.zt-chip__action .rzi[b-2qjvwjj52m] {
    font-size: 1rem;
}

/* Sponsoren-Zeile unter dem Prüfungsnamen (Phase F, wie in EquiDeck) */
.zt-sponsors[b-2qjvwjj52m] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color, #888);
    margin-top: 0.1rem;
}

/* Drop zone inside Richter/Aufsicht cells */
.zt-drop[b-2qjvwjj52m] {
    min-height: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    align-items: center;
    padding: 0.15rem;
    border: 1px dashed transparent;
    border-radius: 8px;
}

.zt-drop:hover[b-2qjvwjj52m] {
    border-color: var(--rz-primary, #3f51b5);
    background: color-mix(in srgb, var(--rz-primary, #3f51b5) 6%, transparent);
}

.zt-drop__hint[b-2qjvwjj52m] {
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color, #aaa);
    font-style: italic;
}

/* An assigned judge inside a row cell */
.zt-assign[b-2qjvwjj52m] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.35rem;
    border-radius: 6px;
    background: color-mix(in srgb, var(--rz-primary, #3f51b5) 12%, transparent);
    font-size: 0.82rem;
}

.zt-assign__code :deep(input)[b-2qjvwjj52m] {
    width: 3ch;
    text-align: center;
    padding: 0 0.2rem;
    text-transform: uppercase;
}

.zt-assign__name[b-2qjvwjj52m] {
    white-space: nowrap;
}
/* /Shared/Components/AppBar.razor.rz.scp.css */
.appbar-layout[b-ngogbbfkmz] {
    min-height: 3rem;
    padding: 0;
    position: relative;
}

.appbar-left[b-ngogbbfkmz] {
    gap: 0.25rem;
    min-width: 0;
    flex: 1 1 0;
}

.sidebar-toggle-container[b-ngogbbfkmz] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-brand-container[b-ngogbbfkmz] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

[b-ngogbbfkmz] .brand-logo {
    width: 2.25rem;
    height: 2.25rem;
    object-fit: contain;
}

.brand-text-container[b-ngogbbfkmz] {
    min-width: 0;
}

.app-title[b-ngogbbfkmz] {
    margin: 0;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0.01em;
}

.app-version[b-ngogbbfkmz] {
    margin: 0;
    color: var(--rz-text-secondary-color);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.appbar-actions[b-ngogbbfkmz] {
    gap: 0.5rem;
    flex: 1 1 0;
    justify-content: flex-end;
}

.profile-menu[b-ngogbbfkmz] {
    border: 1px solid var(--rz-border-color);
    border-radius: 999px;
    background-color: var(--rz-base-200);
    padding: 0.1rem 0.25rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
}

.profile-menu[b-ngogbbfkmz]  .rz-navigation-item-wrapper {
    border-radius: 999px;
}

.profile-menu[b-ngogbbfkmz]  .rz-navigation-item-link {
    padding: 0.3rem 0.45rem;
}

.profile-menu[b-ngogbbfkmz]  .rz-navigation-item-icon-children {
    opacity: 0.75;
}

.appbar-avatar[b-ngogbbfkmz] {
    max-width: min(24rem, 42vw);
}

.appbar-avatar[b-ngogbbfkmz]  .custom-avatar-stack {
    min-height: 2.55rem;
}

.appbar-avatar[b-ngogbbfkmz]  .custom-avatar-name {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.05;
}

.appbar-avatar[b-ngogbbfkmz]  .custom-avatar-caption {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .appbar-env-center[b-ngogbbfkmz] {
        display: none;
    }

    .header-brand-container[b-ngogbbfkmz] {
        gap: 0.5rem;
    }

    .app-title[b-ngogbbfkmz] {
        font-size: 1rem;
    }

    .app-version[b-ngogbbfkmz] {
        font-size: 0.62rem;
    }

    .appbar-avatar[b-ngogbbfkmz]  .custom-avatar-meta {
        display: none;
    }
}
/* /Shared/Components/AppointmentTooltip.razor.rz.scp.css */
/* The Radzen tooltip renders on its own (dark) surface in both light and dark
   themes, so all text/icons are coloured off --rz-tooltip-color rather than the
   page text variables (which would be dark-on-dark and unreadable). */
.appointment-tooltip[b-arxsju5omw] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.7rem 0.8rem;
    text-align: start;
    color: var(--rz-tooltip-color, #fff);
    font-size: 0.8rem;
    line-height: 1.3;
}

.appointment-tooltip-header[b-arxsju5omw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.appointment-tooltip-title[b-arxsju5omw] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--rz-tooltip-color, #fff);
}

.appointment-tooltip-info[b-arxsju5omw] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    color: color-mix(in srgb, var(--rz-tooltip-color, #fff) 80%, transparent);
}

.appointment-tooltip-info-row[b-arxsju5omw] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.appointment-tooltip-info-row .rz-icon[b-arxsju5omw] {
    font-size: 1rem;
    opacity: 0.85;
}

.appointment-tooltip-dot[b-arxsju5omw] {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--rz-tooltip-color, #fff) 35%, transparent);
    flex: 0 0 auto;
}

.appointment-tooltip-section[b-arxsju5omw] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding-top: 0.55rem;
    border-top: 1px solid color-mix(in srgb, var(--rz-tooltip-color, #fff) 22%, transparent);
}

.appointment-tooltip-section-head[b-arxsju5omw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.appointment-tooltip-section-title[b-arxsju5omw] {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.68rem;
    color: color-mix(in srgb, var(--rz-tooltip-color, #fff) 70%, transparent);
}

.appointment-tooltip-people[b-arxsju5omw] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.appointment-tooltip-person[b-arxsju5omw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.appointment-tooltip-person-meta[b-arxsju5omw] {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.appointment-tooltip-person-state[b-arxsju5omw] {
    flex: 0 0 auto;
    align-self: center;
}

.appointment-tooltip-person-name[b-arxsju5omw] {
    font-weight: 600;
    color: var(--rz-tooltip-color, #fff);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.appointment-tooltip-person-role[b-arxsju5omw] {
    font-size: 0.7rem;
    color: color-mix(in srgb, var(--rz-tooltip-color, #fff) 70%, transparent);
}

.appointment-tooltip-open[b-arxsju5omw] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.appointment-tooltip-open-label[b-arxsju5omw] {
    font-size: 0.7rem;
    color: color-mix(in srgb, var(--rz-tooltip-color, #fff) 70%, transparent);
}

/* CustomAvatar styles its own text/badge off the page theme variables, which are
   the wrong contrast against the (inverted) tooltip surface. Pin them to the
   tooltip foreground here. */
.appointment-tooltip[b-arxsju5omw]  .custom-avatar-name,
.appointment-tooltip[b-arxsju5omw]  .custom-avatar-caption {
    color: var(--rz-tooltip-color, #fff);
}

/* Every avatar gets a ring in the tooltip foreground colour so it stays
   delineated whether the tooltip surface is light (dark theme) or dark (light
   theme). */
.appointment-tooltip[b-arxsju5omw]  .custom-avatar-badge {
    border-color: color-mix(in srgb, var(--rz-tooltip-color, #fff) 40%, transparent);
}

/* Staffed-user avatars normally fill with var(--rz-dark), which these themes do
   not define (so the fill silently disappears). Give them an explicit fill that
   matches the event chips. */
.appointment-tooltip[b-arxsju5omw]  .appointment-tooltip-avatar--user .custom-avatar-badge {
    background: #232b3a;
    color: #fff;
}
/* /Shared/Components/CustomAvatar.razor.rz.scp.css */
.custom-avatar-shell[b-8nospdtno7] {
    display: inline-flex;
    max-width: 100%;
}

.custom-avatar-stack[b-8nospdtno7] {
    min-width: 0;
}

.custom-avatar-badge-wrap[b-8nospdtno7] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.custom-avatar-meta[b-8nospdtno7] {
    min-width: 0;
}

.custom-avatar-name[b-8nospdtno7],
.custom-avatar-caption[b-8nospdtno7] {
    margin: 0;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: min(18rem, 45vw);
}

.custom-avatar-name[b-8nospdtno7] {
    font-weight: 700;
    color: var(--rz-text-title-color);
}

.custom-avatar-caption[b-8nospdtno7] {
    color: var(--rz-text-secondary-color);
}

.custom-avatar-status[b-8nospdtno7] {
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--rz-base-background-color, #ffffff), 0 2px 5px rgba(15, 23, 42, 0.14);
}

[b-8nospdtno7] .custom-avatar-badge {
    width: var(--avatar-size);
    height: var(--avatar-size);
    min-width: var(--avatar-size);
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--avatar-border);
    background: var(--avatar-background);
    color: var(--avatar-text-color, #ffffff);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--avatar-text-size);
    font-weight: 700;
    line-height: 1;
    /* nudge the uppercase glyphs down so they read as optically centred */
    padding-top: 0.1em;
    letter-spacing: 0.015em;
    box-shadow: var(--avatar-shadow);
    backdrop-filter: saturate(1.1);
}

[b-8nospdtno7] .custom-avatar-badge .rz-badge-text,
[b-8nospdtno7] .custom-avatar-badge .rzi {
    line-height: 1;
}
/* /Shared/Components/FormGrid.razor.rz.scp.css */
.its-form-grid[b-dav6ymmcf8] {
    width: 100%;
}

.its-form-grid[b-dav6ymmcf8]  > .form-field,
.its-form-grid[b-dav6ymmcf8]  > .rz-stack {
    flex: 1 1 calc(50% - 0.5rem);
    min-width: calc(50% - 0.5rem);
    box-sizing: border-box;
}

.its-form-grid[b-dav6ymmcf8]  > .form-field > .rz-form-field-content,
.its-form-grid[b-dav6ymmcf8]  > .form-field > .rz-form-field-content > .rz-stack,
.its-form-grid[b-dav6ymmcf8]  .form-field--grow {
    width: 100%;
}

.its-form-grid[b-dav6ymmcf8]  > .form-field--full,
.its-form-grid[b-dav6ymmcf8]  > .rz-stack.form-field--full {
    flex-basis: 100%;
    min-width: 100%;
}

.its-form-grid[b-dav6ymmcf8]  .rz-dropdown,
.its-form-grid[b-dav6ymmcf8]  .rz-multiselect,
.its-form-grid[b-dav6ymmcf8]  .rz-textbox,
.its-form-grid[b-dav6ymmcf8]  .rz-datepicker,
.its-form-grid[b-dav6ymmcf8]  .rz-autocomplete,
.its-form-grid[b-dav6ymmcf8]  .rz-html-editor {
    width: 100%;
}

@media (max-width: 900px) {
    .its-form-grid[b-dav6ymmcf8]  > .form-field,
    .its-form-grid[b-dav6ymmcf8]  > .rz-stack {
        flex-basis: 100%;
        min-width: 100%;
    }
}
/* /Shared/Components/MainNavigation.razor.rz.scp.css */
.nav-section-header[b-h55hacvi5u] {
    margin: 1rem 0.75rem 0.35rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--rz-border-color);
    color: var(--rz-text-secondary-color);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
}

.nav-section-header:first-of-type[b-h55hacvi5u] {
    margin-top: 0.5rem;
}
/* /Shared/Components/ScreenCaptureViewer.razor.rz.scp.css */
.screen-capture-viewer[b-d48fganaua] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.screen-capture-start[b-d48fganaua] {
    min-height: 100px;
}

[b-d48fganaua] .screen-capture-live-icon {
    font-size: 10px;
    vertical-align: middle;
    margin-right: 4px;
}

.screen-capture-actions[b-d48fganaua] {
    margin-left: auto;
}

.screen-capture-container[b-d48fganaua] {
    flex: 1;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.screen-capture-canvas[b-d48fganaua] {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.screen-capture-waiting[b-d48fganaua] {
    position: absolute;
}

[b-d48fganaua] .screen-capture-waiting-text {
    color: var(--rz-text-tertiary-color);
}

.screen-capture-stats[b-d48fganaua] {
    position: absolute;
    top: 8px;
    left: 8px;
    border-radius: 6px;
    padding: 4px 8px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 12px;
    font-family: monospace;
}
/* /Shared/Components/SketchGallery.razor.rz.scp.css */
.sketch-photo-action[b-l1sa9qx5y7] {
    position: relative;
    display: inline-flex;
}

/* ::deep because InputFile is a child component, so its input never gets the scope attribute. */
.sketch-photo-action[b-l1sa9qx5y7]  .sketch-photo-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.sketch-gallery[b-l1sa9qx5y7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 0.75rem;
}

.sketch-item[b-l1sa9qx5y7] {
    margin: 0;
    cursor: pointer;
}

.sketch-item img[b-l1sa9qx5y7] {
    display: block;
    width: 100%;
    border: 1px solid var(--rz-base-300);
    border-radius: var(--rz-border-radius);
}

.sketch-item figcaption[b-l1sa9qx5y7] {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--rz-text-secondary-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sketch-fullscreen[b-l1sa9qx5y7] {
    display: flex;
    justify-content: center;
}

.sketch-fullscreen img[b-l1sa9qx5y7] {
    max-width: 100%;
    height: auto;
}

.sketch-preview img[b-l1sa9qx5y7] {
    display: block;
    max-width: 100%;
    max-height: 60vh;
    margin: 0 auto;
}
/* /Shared/Forms/EventActionLogView.razor.rz.scp.css */
.evf-actionlog[b-fvneouh33v] {
    margin-top: 0.75rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--rz-border, rgba(0, 0, 0, 0.08));
    font-size: 0.85rem;
}

.evf-actionlog__title[b-fvneouh33v] {
    font-weight: 600;
    margin-bottom: 0.3rem;
    color: var(--rz-text-color, #333);
}

.evf-actionlog__last[b-fvneouh33v] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--rz-text-color, #333);
}

.evf-actionlog__last--none[b-fvneouh33v] {
    color: var(--rz-text-secondary-color, #888);
}

.evf-actionlog__ico[b-fvneouh33v] {
    font-size: 1.05rem;
}

.evf-actionlog__ico--ok[b-fvneouh33v] {
    color: var(--rz-success, #2e7d32);
}

.evf-actionlog__ico--fail[b-fvneouh33v] {
    color: var(--rz-danger, #c62828);
}

.evf-actionlog__details[b-fvneouh33v] {
    margin-top: 0.4rem;
}

.evf-actionlog__details summary[b-fvneouh33v] {
    cursor: pointer;
    color: var(--rz-text-secondary-color, #888);
    user-select: none;
}

.evf-actionlog__list[b-fvneouh33v] {
    list-style: none;
    margin: 0.4rem 0 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.evf-actionlog__list li[b-fvneouh33v] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.evf-actionlog__when[b-fvneouh33v] {
    font-variant-numeric: tabular-nums;
}

.evf-actionlog__who[b-fvneouh33v] {
    font-weight: 600;
}

.evf-actionlog__msg[b-fvneouh33v] {
    color: var(--rz-text-secondary-color, #888);
}
/* /Shared/Forms/EventForm.razor.rz.scp.css */
.evf[b-yveyb4ovz2] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Header strip */
.evf-head[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.25rem 0 0.85rem;
    border-bottom: 1px solid var(--rz-border-color);
    margin-bottom: 0.5rem;
}

.evf-head__left[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.evf-meta[b-yveyb4ovz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--rz-text-secondary-color);
    font-size: 0.9rem;
}

.evf-type-chip[b-yveyb4ovz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 999px;
    padding: 0.35rem 0.9rem;
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.evf-type-chip.is-event[b-yveyb4ovz2] {
    background: color-mix(in srgb, var(--rz-primary) 16%, transparent);
    color: var(--rz-primary);
    border-color: color-mix(in srgb, var(--rz-primary) 35%, transparent);
}

.evf-type-chip.is-promo[b-yveyb4ovz2] {
    background: color-mix(in srgb, var(--rz-warning) 18%, transparent);
    color: var(--rz-warning);
    border-color: color-mix(in srgb, var(--rz-warning) 38%, transparent);
}

.evf-type-chip.is-redirect[b-yveyb4ovz2] {
    background: color-mix(in srgb, var(--rz-info) 16%, transparent);
    color: var(--rz-info);
    border-color: color-mix(in srgb, var(--rz-info) 35%, transparent);
}

.evf-connector[b-yveyb4ovz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
}

.evf-dot[b-yveyb4ovz2] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 22%, transparent);
}

.evf-connector--on[b-yveyb4ovz2] {
    color: var(--rz-success);
}

.evf-connector--off[b-yveyb4ovz2] {
    color: var(--rz-danger);
}

.evf-connector--checking[b-yveyb4ovz2] {
    color: var(--rz-text-secondary-color);
}

/* Field grid */
.evf-grid[b-yveyb4ovz2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem 1rem;
    padding: 0.75rem 0 0.25rem;
}

.evf-field[b-yveyb4ovz2] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.evf-field--full[b-yveyb4ovz2] {
    grid-column: 1 / -1;
}

.evf-field label[b-yveyb4ovz2] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color);
}

.evf-section[b-yveyb4ovz2] {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--rz-primary);
    font-weight: 700;
    margin: 1.1rem 0 0.55rem;
}

/* Logically grouped Eckdaten fields as a subtle card, so the form reads in blocks
   (Allgemein / Veranstaltungsort / Termin / Verknüpfungen / …) instead of one flat grid. */
.evf-group[b-yveyb4ovz2] {
    border: 1px solid var(--rz-border-color, rgba(0, 0, 0, 0.1));
    border-radius: 12px;
    padding: 0.2rem 1rem 0.9rem;
    margin-bottom: 0.9rem;
    background: color-mix(in srgb, var(--rz-text-color, #000) 2%, transparent);
}

.evf-group > .evf-section:first-child[b-yveyb4ovz2] {
    margin-top: 0.8rem;
}

.evf-group > .evf-grid[b-yveyb4ovz2] {
    padding-bottom: 0;
}

/* Discipline logo toggles */
.evf-disc[b-yveyb4ovz2] {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.evf-disc__btn[b-yveyb4ovz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--rz-border-color);
    background: color-mix(in srgb, var(--rz-text-color) 6%, transparent);
    border-radius: 12px;
    padding: 0.4rem 0.8rem 0.4rem 0.45rem;
    cursor: pointer;
    color: var(--rz-text-secondary-color);
    transition: all 0.12s ease;
}

.evf-disc__btn img[b-yveyb4ovz2] {
    width: 30px;
    height: 30px;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
    padding: 3px;
}

.evf-disc__btn:hover[b-yveyb4ovz2] {
    color: var(--rz-text-title-color);
    border-color: color-mix(in srgb, var(--rz-text-color) 30%, transparent);
}

/* Active (selected) discipline chips are highlighted in the primary colour. */
.evf-disc__btn.is-on[b-yveyb4ovz2] {
    border-color: var(--rz-primary);
    color: var(--rz-primary);
    font-weight: 600;
}

/* Bottom: VA logo + switches */
.evf-bottom[b-yveyb4ovz2] {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 1.25rem;
    margin-top: 1rem;
    align-items: start;
}

.evf-logo-box[b-yveyb4ovz2] {
    border: 1px solid var(--rz-border-color);
    border-radius: 14px;
    padding: 0.85rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.evf-logo-box .evf-section[b-yveyb4ovz2] {
    margin-top: 0;
}

.evf-logo-preview[b-yveyb4ovz2] {
    width: 260px;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    align-self: flex-start;
    border-radius: 8px;
    border: 1px solid var(--rz-border-color);
}

.evf-logo-empty[b-yveyb4ovz2] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--rz-text-secondary-color);
    font-size: 0.85rem;
    padding: 0.5rem 0;
}

.evf-logo-label[b-yveyb4ovz2] {
    font-size: 0.78rem;
    color: var(--rz-text-secondary-color);
    margin-top: 0.25rem;
}

/* Status switches pinned to the very top of the Eckdaten tab so the event's
   active / live state stands out at a glance. */
.evf-status[b-yveyb4ovz2] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.75rem;
    padding: 0.7rem 1rem;
    margin-bottom: 0.35rem;
    border: 1px solid var(--rz-border-color);
    border-radius: 12px;
    background: color-mix(in srgb, var(--rz-primary) 7%, transparent);
}

.evf-status .evf-switch span[b-yveyb4ovz2] {
    font-weight: 600;
}

.evf-switches[b-yveyb4ovz2] {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    justify-content: center;
}

.evf-switch[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--rz-text-color);
}

.evf-placeholder[b-yveyb4ovz2] {
    padding: 1.5rem 0.25rem;
    color: var(--rz-text-secondary-color);
}

.evf-footer[b-yveyb4ovz2] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--rz-border-color);
}

@media (max-width: 767px) {
    .evf-bottom[b-yveyb4ovz2] {
        grid-template-columns: 1fr;
    }
}

/* === Ausschreibung (Connector) === */
.evf-ann[b-yveyb4ovz2] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 0.5rem;
}

.evf-ann__actions[b-yveyb4ovz2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.evf-ann__hint[b-yveyb4ovz2] {
    color: var(--rz-text-secondary-color);
    font-size: 0.9rem;
}

.evf-ann__hint--warn[b-yveyb4ovz2] {
    color: var(--rz-warning-dark);
    background: var(--rz-warning-lighter);
    border: 1px solid var(--rz-warning-light);
    border-radius: 8px;
    padding: 0.65rem 0.85rem;
}

.evf-ann__card[b-yveyb4ovz2] {
    border: 1px solid var(--rz-border-color);
    border-radius: 10px;
    padding: 1rem;
    background: var(--rz-base-background-color);
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.evf-ann__row[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.evf-ann__rowmain[b-yveyb4ovz2] {
    flex: 1 1 auto;
    min-width: 0;
}

.evf-ann__pdf[b-yveyb4ovz2] {
    color: var(--rz-danger);
    font-size: 1.6rem;
}

.evf-ann__title[b-yveyb4ovz2] {
    font-weight: 600;
    color: var(--rz-text-color);
}

.evf-ann__sub[b-yveyb4ovz2] {
    font-size: 0.82rem;
    color: var(--rz-text-secondary-color);
}

.evf-ann__dispatch[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--rz-text-color);
}

.evf-ann__fail[b-yveyb4ovz2] {
    color: var(--rz-danger);
    font-weight: 600;
}

.evf-ann__redispatch[b-yveyb4ovz2] {
    border-top: 1px solid var(--rz-border-color);
    padding-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.evf-ann__reclist[b-yveyb4ovz2] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-height: 220px;
    overflow-y: auto;
}

.evf-ann__rec[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    cursor: pointer;
}

.evf-ann__recname[b-yveyb4ovz2] {
    font-weight: 500;
    color: var(--rz-text-color);
}

.evf-ann__recmail[b-yveyb4ovz2] {
    font-size: 0.82rem;
    color: var(--rz-text-secondary-color);
}

.evf-ann__candidates[b-yveyb4ovz2] {
    border: 1px solid var(--rz-info-light);
    background: var(--rz-info-lighter);
    border-radius: 10px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.evf-ann__cand[b-yveyb4ovz2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.65rem;
    border-radius: 8px;
    background: var(--rz-base-background-color);
}

.evf-es__ok[b-yveyb4ovz2] {
    color: var(--rz-success);
    font-size: 1.6rem;
}

.evf-es__none[b-yveyb4ovz2] {
    color: var(--rz-text-secondary-color);
    font-size: 1.6rem;
}
/* /Shared/Forms/UpdateAppointmentForm.razor.rz.scp.css */
/* Two-pane layout: main form on the left, customer note + pre-registration on the right. */
.appointment-columns[b-v0231kk9ge] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.5rem;
    width: 100%;
}

.appointment-main[b-v0231kk9ge] {
    flex: 1 1 600px;
    min-width: 320px;
}

.appointment-side[b-v0231kk9ge] {
    flex: 1 1 360px;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.appointment-side-field[b-v0231kk9ge] {
    width: 100%;
}

/* Make Radzen inputs in the side panel fill the available width. */
.appointment-side[b-v0231kk9ge]  .rz-textarea,
.appointment-side[b-v0231kk9ge]  .rz-numeric,
.appointment-side[b-v0231kk9ge]  .rz-textbox {
    width: 100%;
}

.appointment-side-heading[b-v0231kk9ge] {
    margin-top: 0.5rem;
}

.appointment-hour-row[b-v0231kk9ge] {
    width: 100%;
}

.appointment-hour-label[b-v0231kk9ge] {
    flex: 1 1 auto;
}

.appointment-hour-value[b-v0231kk9ge] {
    flex: 0 0 6rem;
    width: 6rem;
}
/* /Shared/Lists/WorkTaskMobileList.razor.rz.scp.css */
.work-task-card[b-1n2uwm3rp9] {
    padding: 0.85rem 1rem;
}

.work-task-card-title[b-1n2uwm3rp9] {
    display: block;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.work-task-card-meta[b-1n2uwm3rp9] {
    font-size: 0.8rem;
    color: var(--rz-text-secondary-color, var(--rz-base-700));
}
/* /Shared/NotFound.razor.rz.scp.css */
.not-found-shell[b-fw8w4q8yox] {
    width: min(1180px, 100%);
    display: grid;
    grid-template-columns: minmax(320px, 460px) minmax(360px, 1fr);
    align-items: center;
}

.not-found-kicker[b-fw8w4q8yox] {
    margin: 0 0 0.4rem;
    font-size: 0.9rem;
    letter-spacing: 0.14em;
    font-weight: 700;
    text-transform: uppercase;
    color: #93c5fd;
}

.not-found-title[b-fw8w4q8yox] {
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1.06;
    color: #f8fafc;
}

.not-found-message[b-fw8w4q8yox] {
    margin: 1rem 0 1.8rem;
    font-size: 1rem;
    line-height: 1.6;
    color: #e2e8f0;
    max-width: 40ch;
}

.not-found-visual[b-fw8w4q8yox] {
    display: grid;
    gap: 1rem;
}

.not-found-hero[b-fw8w4q8yox] {
    padding: 0;
}

.not-found-hero img[b-fw8w4q8yox] {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 980px) {
    .not-found-shell[b-fw8w4q8yox] {
        grid-template-columns: 1fr;
    }

    .not-found-copy[b-fw8w4q8yox] {
        order: 2;
        text-align: center;
    }

    .not-found-message[b-fw8w4q8yox] {
        margin-inline: auto;
    }
}
/* /Shared/Views/AdvertFileInfoDialog.razor.rz.scp.css */
/* Theme-aware: derive surface/border from Radzen theme variables so the dialog
   matches both light and dark themes. */
.advert-file-info-dialog[b-mfjc4cazzs] {
    border-radius: 14px;
    border: 1px solid var(--rz-border-color);
    background: linear-gradient(180deg, var(--rz-card-background-color),
        color-mix(in srgb, var(--rz-card-background-color) 95%, var(--rz-text-color)));
}
