/* /Components/Layout/NavMenu.razor.rz.scp.css */
.tg-nav-edit[b-tvcudozlj2] {
    padding: 14px 12px 16px 14px;
}

/* Only the box and its caption react to clicks, not the empty rest of the line. */
.tg-nav-edit[b-tvcudozlj2]  label.mud-checkbox {
    width: fit-content;
    max-width: 100%;
}

.tg-nav-edit[b-tvcudozlj2]  .tg-nav-edit-section {
    font-weight: 600;
    margin-top: 4px;
}

.tg-nav-edit-items[b-tvcudozlj2] {
    padding-left: 22px;
}

.tg-nav-footer[b-tvcudozlj2] {
    padding: 0 12px 12px;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-mls0euaz8r],
.components-reconnect-repeated-attempt-visible[b-mls0euaz8r],
.components-reconnect-failed-visible[b-mls0euaz8r],
.components-pause-visible[b-mls0euaz8r],
.components-resume-failed-visible[b-mls0euaz8r],
.components-rejoining-animation[b-mls0euaz8r] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-retrying[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-failed[b-mls0euaz8r],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-mls0euaz8r] {
    display: block;
}


#components-reconnect-modal[b-mls0euaz8r] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-mls0euaz8r 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-mls0euaz8r 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-mls0euaz8r 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-mls0euaz8r]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-mls0euaz8r 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-mls0euaz8r {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-mls0euaz8r {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-mls0euaz8r {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-mls0euaz8r] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-mls0euaz8r] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-mls0euaz8r] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-mls0euaz8r] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-mls0euaz8r] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-mls0euaz8r] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-mls0euaz8r] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-mls0euaz8r 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-mls0euaz8r] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-mls0euaz8r {
    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/Access/AccessScheduleDialog.razor.rz.scp.css */
.tg-day-row[b-zy1bfx83jv] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-day-row:last-child[b-zy1bfx83jv] {
    border-bottom: none;
}

.tg-day-name[b-zy1bfx83jv] {
    flex: none;
    width: 28px;
    padding-top: 8px;
    font-weight: 600;
    font-size: 14px;
}

.tg-day-name.weekend[b-zy1bfx83jv] {
    color: var(--mud-palette-text-secondary);
}

.tg-day-intervals[b-zy1bfx83jv] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    min-height: 40px;
}

.tg-interval[b-zy1bfx83jv] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.tg-interval[b-zy1bfx83jv]  .mud-picker {
    width: 118px;
}

/* Phones: the day name gets its own line so that a whole interval fits. */
@media (max-width: 599.98px) {
    .tg-day-row[b-zy1bfx83jv] {
        flex-wrap: wrap;
        gap: 2px 6px;
    }

    .tg-day-name[b-zy1bfx83jv] {
        width: 100%;
        padding-top: 0;
    }

    .tg-day-intervals[b-zy1bfx83jv] {
        gap: 6px 10px;
    }

    .tg-interval[b-zy1bfx83jv]  .mud-picker {
        width: 108px;
    }
}
/* /Components/Pages/Access/WeekBars.razor.rz.scp.css */
.tg-week[b-vkm24fnepw] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 200px;
    width: 100%;
}

.tg-week.compact[b-vkm24fnepw] {
    gap: 2px;
}

.tg-week-row[b-vkm24fnepw] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.tg-week-day[b-vkm24fnepw] {
    flex: none;
    width: 20px;
    font-size: 11px;
    line-height: 1;
    color: var(--mud-palette-text-secondary);
}

.tg-week-day.weekend[b-vkm24fnepw] {
    opacity: .7;
}

.tg-week-track[b-vkm24fnepw] {
    position: relative;
    flex: 1;
    height: 12px;
    border-radius: 3px;
    overflow: hidden;
    background-color: var(--mud-palette-action-default-hover);
    /* 6-hour grid lines */
    background-image: linear-gradient(to right,
        transparent calc(25% - 1px), var(--mud-palette-lines-default) calc(25% - 1px), var(--mud-palette-lines-default) 25%, transparent 25%,
        transparent calc(50% - 1px), var(--mud-palette-lines-default) calc(50% - 1px), var(--mud-palette-lines-default) 50%, transparent 50%,
        transparent calc(75% - 1px), var(--mud-palette-lines-default) calc(75% - 1px), var(--mud-palette-lines-default) 75%, transparent 75%);
}

.tg-week.compact .tg-week-track[b-vkm24fnepw] {
    height: 7px;
    border-radius: 2px;
}

.tg-week.compact .tg-week-day[b-vkm24fnepw] {
    font-size: 10px;
}

.tg-week-bar[b-vkm24fnepw] {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 2px;
    background: var(--mud-palette-primary);
}

.tg-week-scale[b-vkm24fnepw] {
    position: relative;
    flex: 1;
    height: 14px;
    font-size: 10px;
    color: var(--mud-palette-text-secondary);
}

.tg-week-scale span[b-vkm24fnepw] {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
}

.tg-week-scale span:first-child[b-vkm24fnepw] {
    transform: none;
}

.tg-week-scale span:last-child[b-vkm24fnepw] {
    transform: translateX(-100%);
}
/* /Components/Pages/Attendance/AbsenceDialog.razor.rz.scp.css */
.tg-days[b-c8i4j65bqg] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 4px;
    margin-top: -8px;
    font-size: 13px;
}
/* /Components/Pages/Attendance/AbsencesPage.razor.rz.scp.css */
.tg-toolbar[b-99cryl47o4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-toolbar[b-99cryl47o4]  .tg-toolbar-search {
    flex: 1 1 200px;
    max-width: 320px;
}

.tg-toolbar-item[b-99cryl47o4] {
    flex: 0 1 230px;
    min-width: 190px;
}

.tg-summary[b-99cryl47o4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    padding: 8px 16px;
    font-size: 13px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-summary-item[b-99cryl47o4] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}

/* A long comment wraps within the column instead of being cut. */
.tg-comment[b-99cryl47o4] {
    display: inline-block;
    max-width: 320px;
    white-space: normal;
    overflow-wrap: break-word;
    vertical-align: middle;
    color: var(--mud-palette-text-secondary);
}

/* A phone: every filter on a line of its own, across the whole width. */
@media (max-width: 599.98px) {
    .tg-toolbar[b-99cryl47o4] {
        gap: 8px;
        padding: 10px 12px;
    }

    .tg-toolbar[b-99cryl47o4]  .tg-toolbar-search,
    .tg-toolbar[b-99cryl47o4]  .tg-toolbar-item,
    .tg-toolbar-item[b-99cryl47o4] {
        flex: 1 1 100%;
        min-width: 0;
        max-width: none;
    }
}
/* /Components/Pages/Attendance/AssignmentDialog.razor.rz.scp.css */
.tg-dept-list[b-ale3w7y5ar] {
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 4px 8px;
}

.tg-dept-list.error[b-ale3w7y5ar] {
    border-color: var(--mud-palette-error);
}

.tg-dept-row[b-ale3w7y5ar] {
    min-height: 32px;
    display: flex;
    align-items: center;
}
/* /Components/Pages/Attendance/AssignmentsPage.razor.rz.scp.css */
.tg-toolbar[b-58ts163j48] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-toolbar[b-58ts163j48]  .tg-toolbar-search {
    flex: 1 1 260px;
    max-width: 420px;
}

.tg-toolbar-item[b-58ts163j48] {
    flex: 0 1 240px;
    min-width: 200px;
}

/* A phone: every filter on a line of its own, across the whole width. */
@media (max-width: 599.98px) {
    .tg-toolbar[b-58ts163j48] {
        gap: 8px;
        padding: 10px 12px;
    }

    .tg-toolbar[b-58ts163j48]  .tg-toolbar-search,
    .tg-toolbar[b-58ts163j48]  .tg-toolbar-item,
    .tg-toolbar-item[b-58ts163j48] {
        flex: 1 1 100%;
        min-width: 0;
        max-width: none;
    }
}
/* /Components/Pages/Attendance/CodeBadge.razor.rz.scp.css */
.tg-code-badge[b-knk7qyvhc7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 24px;
    padding: 0 6px;
    border-radius: 6px;
    box-sizing: border-box;
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
}

.tg-code-badge.small[b-knk7qyvhc7] {
    min-width: 22px;
    height: 20px;
    padding: 0 4px;
    border-radius: 4px;
    font-size: 11px;
}

.tg-code-badge.off[b-knk7qyvhc7] {
    background: transparent;
    color: var(--mud-palette-text-secondary);
    box-shadow: inset 0 0 0 1px var(--mud-palette-lines-default);
    font-weight: 600;
}
/* /Components/Pages/Attendance/ColorPalette.razor.rz.scp.css */
.tg-palette[b-zzz32tyg08] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tg-palette-label[b-zzz32tyg08] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}

.tg-palette-chips[b-zzz32tyg08] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tg-palette-chip[b-zzz32tyg08], .tg-palette-custom[b-zzz32tyg08] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid transparent;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
    transition: transform .12s ease;
}

.tg-palette-chip:hover[b-zzz32tyg08], .tg-palette-custom:hover[b-zzz32tyg08] {
    transform: scale(1.12);
}

.tg-palette-chip:focus-visible[b-zzz32tyg08], .tg-palette-custom:focus-within[b-zzz32tyg08] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.tg-palette-chip.selected[b-zzz32tyg08] {
    border-color: var(--mud-palette-surface);
    box-shadow: 0 0 0 2px var(--mud-palette-text-primary);
}

.tg-palette-custom[b-zzz32tyg08] {
    position: relative;
    overflow: hidden;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background-gray);
}

.tg-palette-custom input[b-zzz32tyg08] {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    border: none;
    padding: 0;
}
/* /Components/Pages/Attendance/CorrectionsPage.razor.rz.scp.css */
.tg-corrections[b-hxil8id573]  .mud-tab {
    text-transform: none;
    font-weight: 600;
}

@media (max-width: 599px) {
    .tg-corrections[b-hxil8id573]  .mud-tab .mud-icon-root {
        display: none;
    }

    .tg-corrections[b-hxil8id573]  .mud-tab {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.tg-toolbar[b-hxil8id573] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-toolbar[b-hxil8id573]  .tg-toolbar-search {
    flex: 1 1 220px;
    max-width: 360px;
}

/* A long reason wraps within the column instead of being cut. */
.tg-comment[b-hxil8id573] {
    display: inline-block;
    max-width: 360px;
    white-space: normal;
    overflow-wrap: break-word;
    vertical-align: middle;
}

/* A phone: every filter on a line of its own, across the whole width. */
@media (max-width: 599.98px) {
    .tg-toolbar[b-hxil8id573] {
        gap: 8px;
        padding: 10px 12px;
    }

    .tg-toolbar[b-hxil8id573]  .tg-toolbar-search,
    .tg-toolbar[b-hxil8id573]  .tg-toolbar-item,
    .tg-toolbar-item[b-hxil8id573] {
        flex: 1 1 100%;
        min-width: 0;
        max-width: none;
    }
}
/* /Components/Pages/Attendance/FormSection.razor.rz.scp.css */
.tg-section[b-t2tauyljo7] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 0 10px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
    font-size: .875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.tg-section.first[b-t2tauyljo7] {
    margin-top: 4px;
}

.tg-section[b-t2tauyljo7]  .mud-icon-root {
    color: var(--mud-palette-primary);
}

.tg-section-title[b-t2tauyljo7] {
    flex: 1 1 auto;
}

.tg-section-extra[b-t2tauyljo7] {
    flex: none;
    font-weight: 400;
}
/* /Components/Pages/Attendance/ProductionCalendarPage.razor.rz.scp.css */
.tg-cal-toolbar[b-xjkkb7gs3t] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 24px;
    margin-bottom: 12px;
}

.tg-cal-year[b-xjkkb7gs3t] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.tg-cal-year-value[b-xjkkb7gs3t] {
    font-size: 1.35rem;
    font-weight: 600;
    min-width: 64px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.tg-cal-legend[b-xjkkb7gs3t] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    font-size: 13px;
    color: var(--mud-palette-text-secondary);
}

.tg-cal-legend span[b-xjkkb7gs3t] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tg-cal-swatch[b-xjkkb7gs3t] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    flex: none;
}

.tg-cal-grid[b-xjkkb7gs3t] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.tg-cal-grid[b-xjkkb7gs3t]  .tg-cal-month {
    padding: 10px 12px 12px;
}

.tg-cal-month-head[b-xjkkb7gs3t] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 12px;
}

.tg-cal-month-name[b-xjkkb7gs3t] {
    font-size: 15px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.tg-cal-days[b-xjkkb7gs3t] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 3px;
}

.tg-cal-wd[b-xjkkb7gs3t] {
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    padding-bottom: 2px;
}

.tg-cal-wd.weekend[b-xjkkb7gs3t] {
    color: color-mix(in srgb, #E53935 75%, var(--mud-palette-text-primary));
}

.tg-cal-day[b-xjkkb7gs3t] {
    height: 30px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--mud-palette-text-primary);
    font: inherit;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

.tg-cal-day:hover[b-xjkkb7gs3t], .tg-cal-day:focus-visible[b-xjkkb7gs3t] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.tg-cal-day.today[b-xjkkb7gs3t] {
    box-shadow: inset 0 0 0 2px var(--mud-palette-primary);
    font-weight: 700;
}

.tg-cal-day.weekend[b-xjkkb7gs3t], .tg-cal-swatch.weekend[b-xjkkb7gs3t] {
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 16%, transparent);
    color: var(--mud-palette-text-secondary);
}

.tg-cal-day.holiday[b-xjkkb7gs3t], .tg-cal-swatch.holiday[b-xjkkb7gs3t] {
    background: color-mix(in srgb, #E53935 24%, transparent);
    color: color-mix(in srgb, #E53935 80%, var(--mud-palette-text-primary));
    font-weight: 700;
}

.tg-cal-day.workday[b-xjkkb7gs3t], .tg-cal-swatch.workday[b-xjkkb7gs3t] {
    background: color-mix(in srgb, #1E88E5 24%, transparent);
    color: color-mix(in srgb, #1E88E5 80%, var(--mud-palette-text-primary));
    font-weight: 700;
}

.tg-cal-day.short[b-xjkkb7gs3t], .tg-cal-swatch.short[b-xjkkb7gs3t] {
    background: color-mix(in srgb, #FFB300 32%, transparent);
    color: color-mix(in srgb, #E69500 70%, var(--mud-palette-text-primary));
    font-weight: 700;
}

.tg-cal-section-head[b-xjkkb7gs3t] {
    padding: 12px 16px 8px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

td.num[b-xjkkb7gs3t], th.num[b-xjkkb7gs3t] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

td.strong[b-xjkkb7gs3t] {
    font-weight: 600;
}

tr.total td[b-xjkkb7gs3t] {
    font-weight: 600;
    background: color-mix(in srgb, var(--mud-palette-text-secondary) 8%, transparent);
}

/* Month norm: a button that opens the editor; norms set by hand are shown in the primary colour. */
.tg-norm-edit[b-xjkkb7gs3t] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin: -3px -6px;
    padding: 3px 6px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}

.tg-norm-edit:hover[b-xjkkb7gs3t], .tg-norm-edit:focus-visible[b-xjkkb7gs3t] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: -2px;
}

.tg-norm-edit[b-xjkkb7gs3t]  .tg-norm-icon {
    font-size: 15px;
    opacity: .35;
}

.tg-norm-edit:hover[b-xjkkb7gs3t]  .tg-norm-icon, .tg-norm-edit:focus-visible[b-xjkkb7gs3t]  .tg-norm-icon {
    opacity: .8;
}

.tg-norm-manual[b-xjkkb7gs3t] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}

.tg-norm-tag[b-xjkkb7gs3t] {
    padding: 1px 6px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    color: var(--mud-palette-primary);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}
/* /Components/Pages/Attendance/ShiftDialog.razor.rz.scp.css */
.tg-sticky-preview[b-ipmeago6oi] {
    margin: -8px -24px 4px;
    padding: 10px 24px 8px;
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

@media (min-width: 960px) and (min-height: 700px) {
    .tg-sticky-preview[b-ipmeago6oi] {
        position: sticky;
        top: -8px;
        z-index: 3;
    }
}

.tg-option[b-ipmeago6oi] {
    margin-bottom: 6px;
}

.tg-option-hint[b-ipmeago6oi] {
    margin: -4px 0 0 42px;
    font-size: 12px;
    line-height: 1.45;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Attendance/ShiftTimeline.razor.rz.scp.css */
.tg-tl[b-v51wypckl7] {
    width: 100%;
    font-size: 12px;
    user-select: none;
}

.tg-tl-empty[b-v51wypckl7] {
    padding: 16px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
    border: 1px dashed var(--mud-palette-lines-default);
    border-radius: 8px;
}

.tg-tl-head[b-v51wypckl7] {
    display: flex;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 2px;
}

.tg-tl-head span[b-v51wypckl7] {
    flex: 1 1 50%;
    padding-left: 4px;
}

.tg-tl-bar[b-v51wypckl7] {
    position: relative;
    height: 44px;
}

.tg-tl-track[b-v51wypckl7] {
    position: absolute;
    left: 0;
    right: 0;
    top: 8px;
    height: 28px;
    border-radius: 6px;
    background: var(--mud-palette-background-gray);
}

.tg-tl-window[b-v51wypckl7] {
    position: absolute;
    top: 2px;
    height: 40px;
    border: 1px dashed;
    border-radius: 8px;
    box-sizing: border-box;
}

.tg-tl-window.clip-left[b-v51wypckl7] {
    border-left-style: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.tg-tl-window.clip-right[b-v51wypckl7] {
    border-right-style: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.tg-tl-shift[b-v51wypckl7] {
    position: absolute;
    top: 8px;
    height: 28px;
    border-radius: 6px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: left .15s ease, width .15s ease;
}

.tg-tl-label[b-v51wypckl7] {
    font-weight: 600;
    white-space: nowrap;
    padding: 0 6px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tg-tl-break[b-v51wypckl7] {
    position: absolute;
    top: 8px;
    height: 28px;
    background: repeating-linear-gradient(45deg, rgba(255, 255, 255, .85) 0 3px, rgba(255, 255, 255, .35) 3px 6px);
    border-left: 1px solid rgba(0, 0, 0, .25);
    border-right: 1px solid rgba(0, 0, 0, .25);
    box-sizing: border-box;
}

.tg-tl-marker[b-v51wypckl7] {
    position: absolute;
    top: 0;
    height: 44px;
    width: 0;
    border-left: 2px solid var(--mud-palette-error);
}

.tg-tl-midnight[b-v51wypckl7] {
    position: absolute;
    left: 50%;
    top: 0;
    height: 44px;
    border-left: 2px dashed var(--mud-palette-text-secondary);
    opacity: .6;
}

.tg-tl-axis[b-v51wypckl7] {
    position: relative;
    height: 18px;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

.tg-tl-tick[b-v51wypckl7] {
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    white-space: nowrap;
    line-height: 14px;
    padding-top: 4px;
    font-size: 11px;
}

.tg-tl-tick[b-v51wypckl7]::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    height: 3px;
    border-left: 1px solid var(--mud-palette-lines-default);
}

.tg-tl-tick.major[b-v51wypckl7]::before {
    height: 4px;
    border-left-color: var(--mud-palette-text-secondary);
}

.tg-tl-tick.first[b-v51wypckl7] {
    transform: none;
}

.tg-tl-tick.first[b-v51wypckl7]::before {
    left: 0;
}

.tg-tl-tick.last[b-v51wypckl7] {
    transform: translateX(-100%);
}

.tg-tl-tick.last[b-v51wypckl7]::before {
    left: auto;
    right: 0;
}

@media (max-width: 599px) {
    .tg-tl-tick.half[b-v51wypckl7] {
        color: transparent;
    }
}

.tg-tl-legend[b-v51wypckl7] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin-top: 6px;
    color: var(--mud-palette-text-primary);
}

.tg-tl-legend-item[b-v51wypckl7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.tg-tl-swatch[b-v51wypckl7] {
    display: inline-block;
    width: 16px;
    height: 12px;
    border-radius: 3px;
    box-sizing: border-box;
    flex: none;
}

.tg-tl-swatch.break[b-v51wypckl7] {
    background: repeating-linear-gradient(45deg, #9E9E9E 0 2px, #E0E0E0 2px 4px);
}

.tg-tl-swatch.window[b-v51wypckl7] {
    border: 1px dashed;
}

.tg-tl-swatch.marker[b-v51wypckl7] {
    width: 3px;
    background: var(--mud-palette-error);
}
/* /Components/Pages/Attendance/SpecialDayDialog.razor.rz.scp.css */
.tg-kind[b-v7r0ahgx4d] {
    margin-bottom: 4px;
}

.tg-kind-hint[b-v7r0ahgx4d] {
    margin: -6px 0 0 42px;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}

.tg-suggestions[b-v7r0ahgx4d] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-top: -8px;
}
/* /Components/Pages/Attendance/WorkScheduleDialog.razor.rz.scp.css */
.tg-presets[b-wu5qfj1afn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    font-size: 13px;
}

.tg-pattern[b-wu5qfj1afn] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
    gap: 8px;
}

.tg-pattern-day[b-wu5qfj1afn] {
    border: 1px solid var(--mud-palette-lines-default);
    border-left: 4px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    padding: 6px 8px 8px;
    min-width: 0;
}

.tg-pattern-day.off[b-wu5qfj1afn] {
    background: var(--mud-palette-background-gray);
}

.tg-pattern-label[b-wu5qfj1afn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 4px;
    font-size: 12px;
    font-weight: 600;
}

.tg-preview[b-wu5qfj1afn] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
}

.tg-preview-head[b-wu5qfj1afn] {
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    padding-bottom: 2px;
}

.tg-preview-head.weekend[b-wu5qfj1afn] {
    color: var(--mud-palette-error);
}

.tg-preview-cell[b-wu5qfj1afn] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 4px 2px 6px;
    min-height: 50px;
    border-radius: 6px;
    border: 1px solid var(--mud-palette-lines-default);
    box-sizing: border-box;
}

.tg-preview-cell.empty[b-wu5qfj1afn] {
    border-color: transparent;
}

.tg-preview-cell.weekend[b-wu5qfj1afn] {
    background: var(--mud-palette-background-gray);
}

.tg-preview-cell.today[b-wu5qfj1afn] {
    border: 2px solid var(--mud-palette-primary);
}

.tg-preview-date[b-wu5qfj1afn] {
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.tg-preview-index[b-wu5qfj1afn] {
    position: absolute;
    right: 3px;
    bottom: 1px;
    font-size: 9px;
    line-height: 1;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Attendance/WorkSchedulesPage.razor.rz.scp.css */
.tg-chips[b-0k5hwoyw56] {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    min-width: 200px;
}

.tg-chip-day[b-0k5hwoyw56] {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
}

.tg-chip-label[b-0k5hwoyw56] {
    font-size: 10px;
    line-height: 1;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/CameraPunchPage.razor.rz.scp.css */
/* A phone: the height of the screen between the title bar and the bottom bar (the container keeps 12 px above and below). */
.cp-phone[b-tejkr9ppzx] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - var(--mud-appbar-height) - var(--tg-bottomnav-height) - 24px);
    height: calc(100dvh - var(--mud-appbar-height) - var(--tg-bottomnav-height) - 24px);
}

.cp-phone[b-tejkr9ppzx]  .tg-page-header {
    flex: none;
    margin-bottom: 8px;
}

.cp-phone[b-tejkr9ppzx]  .fp {
    flex: 1;
    min-height: 0;
}
/* /Components/Pages/Devices/DeviceCommandsCard.razor.rz.scp.css */
.tg-cmd[b-5n68ckqmxj] {
    padding: 8px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.tg-cmd:first-of-type[b-5n68ckqmxj] {
    border-top: none;
}

.tg-cmd-head[b-5n68ckqmxj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
/* /Components/Pages/Events/EventLogPage.razor.rz.scp.css */
.ev-scroll[b-kgoa97yeqa] {
    overflow-x: auto;
}

.ev-table[b-kgoa97yeqa] {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}

.ev-table th[b-kgoa97yeqa] {
    text-align: left;
    font-weight: 600;
    padding: 8px 12px;
    white-space: nowrap;
    border-bottom: 1px solid var(--mud-palette-table-lines);
}

.ev-table td[b-kgoa97yeqa] {
    padding: 6px 12px;
    vertical-align: middle;
    border-bottom: 1px solid var(--mud-palette-table-lines);
}

.ev-table tbody tr:hover[b-kgoa97yeqa] {
    background: var(--mud-palette-table-hover);
}

.ev-table tbody tr:last-child td[b-kgoa97yeqa] {
    border-bottom: none;
}

.ev-thumb-col[b-kgoa97yeqa] {
    width: 60px;
}

.ev-thumb[b-kgoa97yeqa] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 6px;
    overflow: hidden;
    cursor: zoom-in;
    background: var(--mud-palette-background-gray);
}

.ev-thumb img[b-kgoa97yeqa] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Card numbers, comments: wrap within the column instead of being cut. */
.ev-small[b-kgoa97yeqa] {
    font-size: 12px;
    max-width: 280px;
    white-space: normal;
    overflow-wrap: break-word;
}

.ev-nowrap[b-kgoa97yeqa] {
    white-space: nowrap;
}

.ev-kinds[b-kgoa97yeqa] {
    max-width: 100%;
    overflow-x: auto;
}

.ev-dir[b-kgoa97yeqa] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ev-pulse[b-kgoa97yeqa] {
    animation: ev-pulse-b-kgoa97yeqa 1.8s ease-in-out infinite;
}

@keyframes ev-pulse-b-kgoa97yeqa {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: .3;
    }
}

/* ---------- phone (Phone): filters in a column, one card per event ---------- */
.ev-phone-filters[b-kgoa97yeqa] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ev-phone-search[b-kgoa97yeqa] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ev-phone-search[b-kgoa97yeqa]  .mud-input-control {
    margin: 0;
}

.ev-cards[b-kgoa97yeqa] {
    display: flex;
    flex-direction: column;
}

.ev-card[b-kgoa97yeqa] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--mud-palette-table-lines);
}

.ev-card:last-child[b-kgoa97yeqa] {
    border-bottom: none;
}

.ev-card-time[b-kgoa97yeqa] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: none;
    width: 48px;
    font-size: 12px;
    line-height: 1.25;
}

.ev-card-hm[b-kgoa97yeqa] {
    font-size: 15px;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
}

.ev-card-date[b-kgoa97yeqa] {
    margin-top: 2px;
}

.ev-card-main[b-kgoa97yeqa] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.ev-card-who[b-kgoa97yeqa] {
    font-size: 14px;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.ev-card-what[b-kgoa97yeqa] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    font-size: 13px;
}

.ev-card-where[b-kgoa97yeqa] {
    font-size: 12px;
    overflow-wrap: anywhere;
}

.ev-card-thumb[b-kgoa97yeqa] {
    flex: none;
    padding: 0;
    border: none;
}

.ev-phone-pager[b-kgoa97yeqa] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid var(--mud-palette-table-lines);
}

@media print {
    .ev-table[b-kgoa97yeqa] {
        font-size: 10px;
    }

    .ev-table td[b-kgoa97yeqa], .ev-table th[b-kgoa97yeqa] {
        padding: 2px 6px;
    }

    .ev-thumb[b-kgoa97yeqa] {
        width: 28px;
        height: 28px;
    }
}
/* /Components/Pages/Events/EventSnapshotDialog.razor.rz.scp.css */
.snap-box[b-iek3f78oin] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border-radius: 8px;
    background: var(--mud-palette-background-gray);
    overflow: hidden;
}

.snap-img[b-iek3f78oin] {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: contain;
}

.snap-empty[b-iek3f78oin] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
    font-size: 13px;
}

.snap-label[b-iek3f78oin] {
    width: 40%;
    white-space: nowrap;
}
/* /Components/Pages/Persons/PersonCameraDialog.razor.rz.scp.css */
.tg-camera[b-mbxp4vbwxj] {
    position: relative;
    min-height: 240px;
    background: #0b1120;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tg-camera video[b-mbxp4vbwxj] {
    display: block;
    width: 100%;
    height: auto;
    /* Mirror the preview like a selfie camera; the snapshot itself is not mirrored. */
    transform: scaleX(-1);
}

/* Area that ends up in the snapshot: portrait 4:5 crop in the centre (see tg.capturePhoto). */
.tg-camera-frame[b-mbxp4vbwxj] {
    position: absolute;
    top: 0;
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 4 / 5;
    max-width: 100%;
    border: 2px dashed rgba(255, 255, 255, .85);
    border-radius: 6px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, .35);
    pointer-events: none;
}

.tg-camera-wait[b-mbxp4vbwxj] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    color: #e2e8f0;
    font-size: 14px;
    text-align: center;
}
/* /Components/Pages/Persons/PersonEditPage.razor.rz.scp.css */
.tg-person-head[b-ipqcs9r1gf] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.tg-person-meta[b-ipqcs9r1gf] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 14px;
    font-size: 14px;
    color: var(--mud-palette-text-secondary);
}

/* A phone: the head takes the row and the menu of actions stays beside it. */
@media (max-width: 599.98px) {
    .tg-person-head[b-ipqcs9r1gf] {
        flex: 1 1 0;
        gap: 8px;
    }

    .tg-person-meta[b-ipqcs9r1gf] {
        gap: 2px 10px;
        font-size: 12px;
    }
}

.tg-section[b-ipqcs9r1gf] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}

.tg-photo[b-ipqcs9r1gf] {
    width: 100%;
    max-width: 320px;
    aspect-ratio: 3 / 4;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-gray);
    display: flex;
    align-items: center;
    justify-content: center;
}

.tg-photo img[b-ipqcs9r1gf] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.tg-photo-empty[b-ipqcs9r1gf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--mud-palette-text-secondary);
    font-size: 14px;
}

.tg-hints[b-ipqcs9r1gf] {
    margin: 0 0 12px 0;
    padding-left: 20px;
    font-size: 14px;
    line-height: 1.6;
}

.tg-group[b-ipqcs9r1gf] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    padding: 8px 12px 8px 4px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-group:last-child[b-ipqcs9r1gf] {
    border-bottom: none;
}

.tg-group-body[b-ipqcs9r1gf] {
    flex: 1;
    min-width: 0;
    padding-top: 6px;
}
/* /Components/Pages/Persons/PersonImportDialog.razor.rz.scp.css */
.tg-upload[b-5i6w5wmvvr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 16px;
    border: 2px dashed var(--mud-palette-lines-default);
    border-radius: 10px;
    text-align: center;
}
/* /Components/Pages/Persons/PersonListPage.razor.rz.scp.css */
.tg-filters[b-xd6plm929j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tg-f-search[b-xd6plm929j] {
    flex: 2 1 280px;
    min-width: 0;
}

.tg-f-dept[b-xd6plm929j] {
    flex: 1 1 220px;
    min-width: 0;
}

.tg-f-state[b-xd6plm929j] {
    flex: 1 1 160px;
    min-width: 150px;
    max-width: 260px;
}

@media (max-width: 600px) {
    .tg-f-state[b-xd6plm929j] {
        max-width: none;
    }
}

.tg-f-group[b-xd6plm929j] {
    flex: 1 1 200px;
    min-width: 0;
}

/* Table settings: always at the right end of the filter row. */
.tg-f-settings[b-xd6plm929j] {
    margin-left: auto;
}

/* Long notes wrap within the column: the whole text is visible. */
.tg-notes[b-xd6plm929j] {
    max-width: 280px;
    white-space: normal;
    overflow-wrap: break-word;
}

.tg-bulk[b-xd6plm929j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 6px 16px;
    background: rgba(29, 78, 216, .07);
    background: color-mix(in srgb, var(--mud-palette-primary) 9%, transparent);
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

/* ---------- phone: cards (Phone) ---------- */
.pl-search[b-xd6plm929j] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.pl-search[b-xd6plm929j]  .mud-input-control {
    margin: 0;
}

[b-xd6plm929j] .pl-filter-panel {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 12px 6px;
    margin-bottom: 8px;
}

.pl-count[b-xd6plm929j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 32px;
    padding: 0 2px;
    font-size: 12px;
}

.pl-cards[b-xd6plm929j] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pl-card[b-xd6plm929j] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 64px;
    padding: 10px 8px 10px 12px;
    box-sizing: border-box;
    border: 1px solid var(--rv-line);
    border-radius: var(--rv-radius-card);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.pl-card:active[b-xd6plm929j] {
    background: var(--rv-surface-2);
}

.pl-card.pl-inactive[b-xd6plm929j] {
    opacity: .7;
}

.pl-card.pl-selected[b-xd6plm929j] {
    border-color: var(--rv-accent);
    background: var(--rv-accent-soft);
}

.pl-card-body[b-xd6plm929j] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.pl-card-main[b-xd6plm929j] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.pl-card-name[b-xd6plm929j] {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.pl-card-sub[b-xd6plm929j] {
    font-size: 13px;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pl-card-meta[b-xd6plm929j] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 12px;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}

.pl-meta-item[b-xd6plm929j] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.pl-meta-item[b-xd6plm929j]  .mud-icon-root {
    font-size: 15px;
}

.pl-error[b-xd6plm929j] {
    color: var(--tg-issue);
}

.pl-card[b-xd6plm929j]  .pl-chevron {
    flex: none;
    color: var(--mud-palette-text-disabled);
}

.pl-card[b-xd6plm929j]  .pl-check {
    flex: none;
    color: var(--mud-palette-text-disabled);
}

.pl-card.pl-selected[b-xd6plm929j]  .pl-check {
    color: var(--rv-accent);
}

/* The actions for the marked people: a bar above the bottom navigation; the last card stays reachable under it. */
.pl-bulk[b-xd6plm929j] {
    position: fixed;
    left: 8px;
    right: 8px;
    bottom: calc(8px + var(--tg-bottomnav-height));
    z-index: calc(var(--mud-zindex-drawer, 1100) - 1);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border: 1px solid var(--rv-line-strong);
    border-radius: var(--rv-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--rv-shadow-overlay);
}

.pl-bulk-count[b-xd6plm929j] {
    flex: 1;
    font-weight: 600;
}

.pl-cards.pl-cards-selecting[b-xd6plm929j] {
    padding-bottom: 72px;
}
/* /Components/Pages/Persons/PersonNameOrderDialog.razor.rz.scp.css */
.pno-list[b-42wvjqg4bg] {
    max-height: min(52vh, 480px);
    overflow-y: auto;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
}

.pno-table[b-42wvjqg4bg] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.pno-table th[b-42wvjqg4bg] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--mud-palette-background-gray);
    font-weight: 600;
    text-align: left;
    padding: 6px 8px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.pno-table td[b-42wvjqg4bg] {
    padding: 2px 8px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.pno-table tr:last-child td[b-42wvjqg4bg] {
    border-bottom: none;
}

.pno-table td:first-child[b-42wvjqg4bg] {
    width: 36px;
}

/* The result is shown only for the rows that will change. */
.pno-table td.pno-new[b-42wvjqg4bg] {
    color: var(--mud-palette-text-secondary);
}

.pno-table tr.pno-on td.pno-new[b-42wvjqg4bg] {
    color: var(--mud-palette-primary);
    font-weight: 600;
}
/* /Components/Pages/Persons/PhotoEditDialog.razor.rz.scp.css */
/* The stage is the 3:4 frame itself, centred: what is in it is what gets saved. Dragging and pinching must not
   scroll the page. */
.pe:focus[b-0f4crt253t] {
    outline: none;
}

.pe-stage[b-0f4crt253t] {
    position: relative;
    /* 460 px high at most; lower on a short window, and on a phone (the dialog takes the screen) what the controls leave. */
    width: min(100%, 345px, calc(58vh * 0.75), calc((100dvh - 330px) * 0.75));
    min-width: 180px;
    aspect-ratio: 3 / 4;
    margin: 0 auto;
    border: 1px solid var(--rv-line-strong);
    border-radius: var(--rv-radius-table, 10px);
    overflow: hidden;
    background: var(--rv-surface-2);
}

.pe-stage canvas[b-0f4crt253t] {
    display: block;
    width: 100%;
    height: 100%;
    touch-action: none;
    cursor: grab;
}

.pe-stage canvas:active[b-0f4crt253t] {
    cursor: grabbing;
}

.pe-stage canvas:focus-visible[b-0f4crt253t] {
    outline: 2px solid var(--rv-accent, #45d1ff);
    outline-offset: -2px;
}

.pe-wait[b-0f4crt253t] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
    font-size: 14px;
}

.pe-controls[b-0f4crt253t] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 12px;
}

.pe-row[b-0f4crt253t] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    color: var(--mud-palette-text-secondary);
}

.pe-row input[type=range][b-0f4crt253t] {
    flex: 1;
    min-width: 0;
    height: 32px;
    accent-color: var(--rv-bright, #00bdf2);
}

.pe-label[b-0f4crt253t] {
    min-width: 54px;
    font-size: 13px;
}

.pe-value[b-0f4crt253t] {
    min-width: 44px;
    text-align: right;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    color: var(--mud-palette-text-primary);
}

.pe-buttons[b-0f4crt253t] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
/* /Components/Pages/Reports/AttendanceMatrixPage.razor.rz.scp.css */
/* Height-limited scroll box: the header row and the first column stay visible while scrolling; its bottom stays above
   the status bar of the window. */
.mx-wrap[b-pfhpbqmduk] {
    max-height: calc(100vh - 300px - var(--rv-statusbar-height, 0px));
    min-height: 260px;
}

th.mx-day[b-pfhpbqmduk] {
    min-width: 46px;
    font-weight: 600;
    line-height: 1.15;
}

th.mx-today[b-pfhpbqmduk] {
    color: var(--mud-palette-primary);
    box-shadow: inset 0 -3px 0 var(--mud-palette-primary);
}

.mx-wd[b-pfhpbqmduk] {
    font-weight: 400;
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
}

.mx-month[b-pfhpbqmduk] {
    font-weight: 400;
    font-size: 10px;
    text-transform: uppercase;
    color: var(--mud-palette-primary);
}

/* The full name: long ones wrap onto a second line instead of being cut. */
td.mx-person[b-pfhpbqmduk] {
    line-height: 1.25;
    white-space: normal;
    min-width: 220px;
    max-width: 300px;
}

/* A phone: a narrow column of names leaves the days in sight; the name wraps, the department is cut. */
@media (max-width: 599.98px) {
    td.mx-person[b-pfhpbqmduk] {
        min-width: 112px;
        max-width: 128px;
        font-size: 11px;
        overflow-wrap: anywhere;
    }
}

td.mx-person[b-pfhpbqmduk]  a {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

td.mx-person[b-pfhpbqmduk]  a:hover {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.mx-dept[b-pfhpbqmduk] {
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}

td.mx-cell[b-pfhpbqmduk] {
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 3px;
}

.mx-t[b-pfhpbqmduk] {
    display: block;
    line-height: 1.2;
}

td.mx-off[b-pfhpbqmduk] {
    background: repeating-linear-gradient(-45deg, transparent 0 4px, var(--mud-palette-lines-default) 4px 5px);
}

th.mx-total[b-pfhpbqmduk], td.mx-total[b-pfhpbqmduk] {
    min-width: 58px;
    font-weight: 600;
}

td.mx-foot[b-pfhpbqmduk] {
    position: sticky;
    bottom: 0;
    z-index: 1;
    background: var(--mud-palette-background-gray);
    font-weight: 600;
}

td.mx-foot.tg-sticky[b-pfhpbqmduk] {
    z-index: 3;
}

.mx-legend[b-pfhpbqmduk] {
    font-size: 13px;
}

/* Missing arrival/departure or too short a day. */
td.mx-issue[b-pfhpbqmduk] {
    box-shadow: inset 0 0 0 2px var(--tg-issue);
}

/* Colour legend above the table (absence types, problems). */
.mx-colors[b-pfhpbqmduk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin-bottom: 8px;
    font-size: 13px;
}

.mx-colors-title[b-pfhpbqmduk] {
    font-weight: 600;
}

.mx-colors-item[b-pfhpbqmduk] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.mx-colors-sample[b-pfhpbqmduk] {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 18px;
    padding: 0 3px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid rgba(0, 0, 0, .15);
}

.mx-colors-issue[b-pfhpbqmduk] {
    background: transparent;
    color: var(--tg-issue);
    border: 2px solid var(--tg-issue);
}

@media print {
    .mx-wrap[b-pfhpbqmduk] {
        max-height: none;
        min-height: 0;
    }

    table.tg-grid[b-pfhpbqmduk] {
        font-size: 8px;
    }

    td.mx-cell[b-pfhpbqmduk] {
        font-size: 8px;
        padding: 1px;
    }

    th.mx-day[b-pfhpbqmduk], td.mx-cell[b-pfhpbqmduk] {
        min-width: 0;
    }

    td[b-pfhpbqmduk], th[b-pfhpbqmduk], .mx-colors-sample[b-pfhpbqmduk] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    td.mx-foot[b-pfhpbqmduk] {
        position: static;
    }
}
/* /Components/Pages/Reports/DayDetailsDialog.razor.rz.scp.css */
.dd-label[b-mft4wd6trd] {
    width: 44%;
    white-space: nowrap;
}
/* /Components/Pages/Reports/FirstLastReportPage.razor.rz.scp.css */
/* Rows with punch problems: missing arrival/departure or too little worked time. */
.fl-table[b-7668ui1ln2]  tr.fl-issue > td {
    background: rgba(198, 40, 40, .07);
}

.fl-table[b-7668ui1ln2]  tr.fl-issue > td:first-child {
    box-shadow: inset 3px 0 0 var(--tg-issue);
}

.fl-table[b-7668ui1ln2]  .fl-missing {
    color: var(--tg-issue);
    font-weight: 600;
}

.fl-stat-click[b-7668ui1ln2] {
    cursor: pointer;
    height: 100%;
}

.fl-stat-click:hover[b-7668ui1ln2]  .mud-paper {
    border-color: var(--mud-palette-primary);
}

/* The «only problems» filter is on. */
.fl-stat-active[b-7668ui1ln2]  .mud-paper {
    border-color: var(--tg-issue);
    box-shadow: inset 0 0 0 1px var(--tg-issue);
}

.fl-legend-sample[b-7668ui1ln2] {
    display: inline-block;
    width: 22px;
    height: 14px;
    flex: none;
    border: 2px solid var(--tg-issue);
    background: rgba(198, 40, 40, .12);
    border-radius: 2px;
}

@media print {
    .fl-table[b-7668ui1ln2]  tr.fl-issue > td,
    .fl-legend-sample[b-7668ui1ln2] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
/* /Components/Pages/Reports/GridRangeBar.razor.rz.scp.css */
.grb[b-zq50mxno2l] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.grb-hint[b-zq50mxno2l] {
    min-width: 0;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/Reports/MatrixPunchDialog.razor.rz.scp.css */
/* Only the box and its caption react to clicks, not the empty rest of the line. */
.mpd-options[b-n43kfgel3l]  label.mud-checkbox {
    width: fit-content;
    max-width: 100%;
}
/* /Components/Pages/Reports/ReportSettingsDialog.razor.rz.scp.css */
.rs-grid[b-07h46csgnm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    column-gap: 8px;
}

/* Only the box and its caption react to clicks, not the empty rest of the grid cell or row. */
.rs-dialog[b-07h46csgnm]  label.mud-checkbox,
.rs-dialog[b-07h46csgnm]  label.mud-switch {
    width: fit-content;
    max-width: 100%;
}
/* /Components/Pages/Reports/ReportToolbar.razor.rz.scp.css */
/* Phone: period, then one row with the folded conditions, «Сформировать» and the menu. */
.rt-phone[b-oaa5wuft4t] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rt-phone-row[b-oaa5wuft4t] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.rt-phone-row[b-oaa5wuft4t]  .rt-phone-generate {
    flex: 1;
    min-width: 0;
}

.rt-phone-more[b-oaa5wuft4t] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px;
}

.rt-phone-options[b-oaa5wuft4t] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
}
/* /Components/Pages/Reports/SummaryReportPage.razor.rz.scp.css */
.sm-wrap[b-pak3im2wvj]  th {
    vertical-align: bottom;
}

.sm-wrap[b-pak3im2wvj]  .sm-num {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.sm-wrap[b-pak3im2wvj]  th.sm-num {
    white-space: normal;
    min-width: 84px;
}

.sm-wrap[b-pak3im2wvj]  th.sm-num .mud-table-sort-label {
    justify-content: flex-end;
    text-align: right;
}

.sm-wrap[b-pak3im2wvj]  .sm-total {
    font-weight: 600;
}

/* Totals above the cards of a phone. */
.sm-phone-title[b-pak3im2wvj] {
    font-weight: 700;
    margin-bottom: 6px;
}

.sm-phone-totals[b-pak3im2wvj] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 12px;
    margin: 0;
    font-size: 13px;
}

.sm-phone-totals dt[b-pak3im2wvj] {
    color: var(--mud-palette-text-secondary);
}

.sm-phone-totals dd[b-pak3im2wvj] {
    margin: 0;
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

@media print {
    .sm-wrap[b-pak3im2wvj]  table {
        font-size: 9px;
    }

    .sm-wrap[b-pak3im2wvj]  th.sm-num {
        min-width: 0;
    }
}
/* /Components/Pages/Reports/TimesheetOverrideDialog.razor.rz.scp.css */
/* Code in the list of codes: on its colour, as the colour displays of the timesheet show it. */
.tso-code[b-zosycij12h] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 20px;
    padding: 0 4px;
    margin-right: 10px;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12);
}

/* Facts of the day: punches, worked time, the calculated value. */
.tso-facts[b-zosycij12h] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 2px 14px;
    font-size: 13px;
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--mud-palette-background-gray);
}

.tso-fact-label[b-zosycij12h] {
    color: var(--mud-palette-text-secondary);
}

.tso-history[b-zosycij12h] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 180px;
    overflow-y: auto;
    font-size: 13px;
}

.tso-history-item[b-zosycij12h] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 10px;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.tso-history-item:last-child[b-zosycij12h] {
    border-bottom: none;
}

.tso-change[b-zosycij12h] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.tso-comment[b-zosycij12h] {
    flex-basis: 100%;
}
/* /Components/Pages/Reports/TimesheetPage.razor.rz.scp.css */
/* Height-limited scroll box: the header row and the first column stay visible while scrolling; its bottom stays above
   the status bar of the window. */
.ts-wrap[b-b1kiwzuwiq] {
    max-height: calc(100vh - 300px - var(--rv-statusbar-height, 0px));
    min-height: 260px;
}

.ts-grid[b-b1kiwzuwiq] {
    --ts-sel-fill: color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
}

th.ts-day[b-b1kiwzuwiq] {
    min-width: 36px;
    line-height: 1.15;
}

.ts-wd[b-b1kiwzuwiq] {
    font-weight: 400;
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
}

th.ts-total[b-b1kiwzuwiq], td.ts-total[b-b1kiwzuwiq] {
    min-width: 62px;
    max-width: 80px;
    white-space: normal;
}

td.ts-total[b-b1kiwzuwiq] {
    font-weight: 600;
}

th.ts-absences[b-b1kiwzuwiq], td.ts-absences[b-b1kiwzuwiq] {
    min-width: 120px;
    white-space: normal;
    text-align: left;
}

/* The full name: long ones wrap onto a second line instead of being cut. */
td.ts-person[b-b1kiwzuwiq] {
    line-height: 1.25;
    white-space: normal;
    min-width: 220px;
    max-width: 300px;
}

/* A phone: a narrow column of names leaves the days in sight. */
@media (max-width: 599.98px) {
    td.ts-person[b-b1kiwzuwiq] {
        min-width: 112px;
        max-width: 128px;
        font-size: 11px;
        overflow-wrap: anywhere;
    }
}

/* Norm of the employee set by hand. */
td.ts-norm-own[b-b1kiwzuwiq] {
    color: var(--mud-palette-primary);
}

td.ts-person[b-b1kiwzuwiq]  a {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

td.ts-person[b-b1kiwzuwiq]  a:hover {
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.ts-n[b-b1kiwzuwiq] {
    display: inline-block;
    min-width: 22px;
    color: var(--mud-palette-text-secondary);
}

.ts-sub[b-b1kiwzuwiq] {
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 22px;
}

/* Day cells. Text displays: the code over the hours, like the two lines of the form Т-13;
   colour display: only the hours, centred over the whole cell. */
.ts-grid td.ts-cell[b-b1kiwzuwiq] {
    min-width: 36px;
    padding: 1px 2px;
    line-height: 1.2;
}

.ts-c[b-b1kiwzuwiq] {
    min-height: 16px;
    padding-bottom: 1px;
    font-weight: 700;
    border-bottom: 1px dotted var(--mud-palette-lines-inputs);
}

.ts-h[b-b1kiwzuwiq] {
    min-height: 15px;
    padding-top: 1px;
    font-size: 11px;
}

.ts-colortext .ts-c[b-b1kiwzuwiq] {
    border-bottom-color: color-mix(in srgb, currentColor 40%, transparent);
}

.ts-color td.ts-cell[b-b1kiwzuwiq] {
    height: 36px;
    font-size: 13px;
    font-weight: 600;
}

/* Days before hiring or after dismissal. */
.ts-grid td.ts-off[b-b1kiwzuwiq] {
    background-image: repeating-linear-gradient(-45deg, transparent 0 4px, var(--mud-palette-lines-default) 4px 5px);
}

/* Correction by hand in the colour displays: a corner mark (the background shows the code). */
.ts-grid td.ts-ovr[b-b1kiwzuwiq] {
    background-image: linear-gradient(225deg, #FFB300 0 7px, transparent 7px);
}

/* Cells to check (TimesheetReport.Check): a red frame, as the errors of punches in the attendance table; the ring of the
   surface inside keeps it visible on a coloured fill (Б, ОТ…). */
.ts-grid td.ts-check[b-b1kiwzuwiq] {
    --ts-check-ring: inset 0 0 0 2px var(--tg-issue), inset 0 0 0 4px var(--mud-palette-surface);
    box-shadow: var(--ts-check-ring);
}

/* Cells selected with the mouse (wwwroot/js/grid-select.js): tinted, with a frame around the rectangle (the red frame stays). */
.ts-grid td.ts-sel[b-b1kiwzuwiq] {
    background-image: linear-gradient(var(--ts-sel-fill), var(--ts-sel-fill));
    box-shadow: inset 0 var(--ts-sel-t, 0px) 0 var(--mud-palette-primary),
                inset 0 calc(-1 * var(--ts-sel-b, 0px)) 0 var(--mud-palette-primary),
                inset var(--ts-sel-l, 0px) 0 0 var(--mud-palette-primary),
                inset calc(-1 * var(--ts-sel-r, 0px)) 0 0 var(--mud-palette-primary),
                var(--ts-check-ring, 0 0 transparent);
}

.ts-grid td.ts-ovr.ts-sel[b-b1kiwzuwiq] {
    background-image: linear-gradient(225deg, #FFB300 0 7px, transparent 7px), linear-gradient(var(--ts-sel-fill), var(--ts-sel-fill));
}

.ts-grid td.ts-sel-t[b-b1kiwzuwiq] {
    --ts-sel-t: 2px;
}

.ts-grid td.ts-sel-b[b-b1kiwzuwiq] {
    --ts-sel-b: 2px;
}

.ts-grid td.ts-sel-l[b-b1kiwzuwiq] {
    --ts-sel-l: 2px;
}

.ts-grid td.ts-sel-r[b-b1kiwzuwiq] {
    --ts-sel-r: 2px;
}

/* While dragging: no text selection, a cell cursor. */
table.ts-selecting[b-b1kiwzuwiq] {
    user-select: none;
    cursor: cell;
}

table.ts-selecting td.ts-cell[b-b1kiwzuwiq] {
    cursor: cell;
}

td.ts-foot[b-b1kiwzuwiq] {
    position: sticky;
    bottom: 0;
    z-index: 1;
    background: var(--mud-palette-background-gray);
    font-weight: 600;
}

td.ts-foot.tg-sticky[b-b1kiwzuwiq] {
    z-index: 3;
}

/* Designations above the table (the same list is printed above the exported table). */
.ts-legend[b-b1kiwzuwiq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    margin-bottom: 8px;
    font-size: 13px;
}

.ts-legend-title[b-b1kiwzuwiq] {
    font-weight: 600;
}

.ts-legend-item[b-b1kiwzuwiq] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ts-sample[b-b1kiwzuwiq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 18px;
    padding: 0 3px;
    box-sizing: border-box;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid rgba(0, 0, 0, .15);
}

.ts-sample-ovr[b-b1kiwzuwiq] {
    background-image: linear-gradient(225deg, #FFB300 0 7px, transparent 7px);
}

.ts-sample-check[b-b1kiwzuwiq] {
    background: transparent;
    border: 2px solid var(--tg-issue);
}

/* «Нужна проверка»: a click leaves only the employees with cells to check. */
button.ts-legend-check[b-b1kiwzuwiq] {
    margin: -2px -6px;
    padding: 2px 6px;
    border: none;
    border-radius: var(--rv-radius-input, 8px);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

button.ts-legend-check:hover[b-b1kiwzuwiq] {
    background: var(--mud-palette-action-default-hover);
}

button.ts-legend-check:focus-visible[b-b1kiwzuwiq] {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 1px;
}

button.ts-legend-check.ts-legend-active[b-b1kiwzuwiq] {
    background: color-mix(in srgb, var(--tg-issue) 12%, transparent);
    font-weight: 600;
}

@media print {
    .ts-wrap[b-b1kiwzuwiq] {
        max-height: none;
        min-height: 0;
    }

    table.ts-grid[b-b1kiwzuwiq] {
        font-size: 8px;
    }

    th.ts-day[b-b1kiwzuwiq], .ts-grid td.ts-cell[b-b1kiwzuwiq] {
        min-width: 0;
        padding: 1px;
    }

    .ts-h[b-b1kiwzuwiq] {
        font-size: 8px;
    }

    td[b-b1kiwzuwiq], th[b-b1kiwzuwiq], .ts-sample[b-b1kiwzuwiq] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    td.ts-foot[b-b1kiwzuwiq] {
        position: static;
    }
}
/* /Components/Pages/Reports/TimesheetSettingsDialog.razor.rz.scp.css */
.tss-grid[b-nn2uiwkbsu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    column-gap: 8px;
}

/* Only the box and its caption react to clicks, not the empty rest of the grid cell. */
.tss-dialog[b-nn2uiwkbsu]  label.mud-checkbox, .tss-dialog[b-nn2uiwkbsu]  label.mud-switch {
    width: fit-content;
    max-width: 100%;
}

/* A few day cells in the chosen display. */
.tss-preview[b-nn2uiwkbsu] {
    display: inline-flex;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 6px;
}

.tss-cell[b-nn2uiwkbsu] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 2px;
    border-right: 1px solid var(--mud-palette-lines-default);
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.tss-cell:last-child[b-nn2uiwkbsu] {
    border-right: none;
}

.tss-c[b-nn2uiwkbsu] {
    min-height: 16px;
    font-weight: 700;
    border-bottom: 1px dotted var(--mud-palette-lines-inputs);
}

.tss-colortext .tss-c[b-nn2uiwkbsu] {
    border-bottom-color: color-mix(in srgb, currentColor 40%, transparent);
}

.tss-h[b-nn2uiwkbsu] {
    min-height: 15px;
    font-size: 11px;
}

.tss-hours[b-nn2uiwkbsu] {
    font-size: 13px;
    font-weight: 600;
}
/* /Components/Pages/Settings/RavenAppsPage.razor.rz.scp.css */
/* The code to enter on the site: large, spaced, easy to compare. */
.tg-link-code[b-4aah3shrsx] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px dashed var(--mud-palette-primary);
    border-radius: 8px;
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .12em;
}

/* Label — value pairs. */
.tg-link-facts[b-4aah3shrsx] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 16px;
    row-gap: 4px;
    font-size: 14px;
}

.tg-link-facts span:nth-child(odd)[b-4aah3shrsx] {
    color: var(--mud-palette-text-secondary);
}

.tg-link-over[b-4aah3shrsx] {
    color: var(--mud-palette-warning);
    font-weight: 700;
}

@media (max-width: 599.98px) {
    .tg-link-code[b-4aah3shrsx] {
        font-size: 22px;
    }
}

/* A workspace in «Удалённый доступ». */
.tg-link-remote[b-4aah3shrsx] {
    padding: 10px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.tg-link-remote-head[b-4aah3shrsx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
/* /Components/Shared/CameraPunchPanel.razor.rz.scp.css */
/* The camera on the left (on a phone on top), the options and the latest marks beside it. */
.fp[b-c1pbbg8psm] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 16px;
    align-items: start;
}

/* The stage is exactly the picture of the camera: its proportions (--fp-ratio, set by face-punch.js from the video)
   and no fields around it. The width is always set — the video and the frame inside are positioned absolutely and
   give the stage no width of its own: as wide as the column, but not higher than the window allows (560 px at most). */
.fp-stage[b-c1pbbg8psm] {
    position: relative;
    aspect-ratio: var(--fp-ratio, 1.3333);
    width: min(100%, calc(min(560px, 100vh - 220px) * var(--fp-ratio, 1.3333)));
    width: min(100%, calc(min(560px, 100dvh - 220px) * var(--fp-ratio, 1.3333)));
    min-width: 200px;
    justify-self: center;
    border: 1px solid var(--rv-line-strong);
    border-radius: var(--rv-radius-card);
    overflow: hidden;
    background: var(--rv-surface-2);
}

.fp-kiosk .fp-stage[b-c1pbbg8psm] {
    width: min(100%, calc((100vh - 190px) * var(--fp-ratio, 1.3333)));
    width: min(100%, calc((100dvh - 190px) * var(--fp-ratio, 1.3333)));
}

/* The video fills the stage (no bars at the sides); the front camera is shown as in a mirror. */
.fp-stage video[b-c1pbbg8psm],
.fp-stage canvas[b-c1pbbg8psm] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.fp-stage video[b-c1pbbg8psm] {
    object-fit: cover;
}

.fp-stage.fp-mirror video[b-c1pbbg8psm],
.fp-stage.fp-mirror canvas[b-c1pbbg8psm] {
    transform: scaleX(-1);
}

.fp-hint[b-c1pbbg8psm] {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    max-width: calc(100% - 24px);
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(6, 11, 15, .72);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.fp-hint.fp-hint-busy[b-c1pbbg8psm] {
    background: rgba(0, 111, 156, .82);
}

.fp-hint[b-c1pbbg8psm] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fp-hint[b-c1pbbg8psm]  .fp-hint-progress {
    flex: none;
    width: 16px !important;
    height: 16px !important;
}

.fp-hint.fp-hint-bad[b-c1pbbg8psm] {
    background: rgba(189, 41, 55, .85);
}

.fp-hint.fp-hint-static[b-c1pbbg8psm] {
    position: static;
    transform: none;
    white-space: normal;
}

/* Everything the stage shows before the video: loading, preparing the base, the snapshot mode, errors. */
.fp-state[b-c1pbbg8psm] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    text-align: center;
}

.fp-state-title[b-c1pbbg8psm] {
    font-family: var(--rv-font-display);
    font-size: 18px;
    font-weight: 800;
}

.fp-state-text[b-c1pbbg8psm] {
    max-width: 420px;
    font-size: 13px;
    color: var(--mud-palette-text-secondary);
}

.fp-state[b-c1pbbg8psm]  .fp-state-icon {
    color: var(--rv-accent);
}

/* «Открыть с камерой»: a link to the secure address, looking like the main button. */
.fp-go-btn[b-c1pbbg8psm] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 22px;
    border: 1px solid var(--rv-primary-border);
    border-radius: var(--rv-radius-control);
    background: var(--rv-primary-bg);
    color: var(--rv-primary-fg);
    box-shadow: var(--rv-primary-glow);
    font-weight: 700;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.fp-state-small[b-c1pbbg8psm] {
    font-size: 12px;
}

.fp-state-small a[b-c1pbbg8psm] {
    color: var(--rv-accent);
}

/* Who was recognised: a card over the bottom of the stage, green — marked, amber — marked a moment ago. */
.fp-result[b-c1pbbg8psm] {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border-radius: var(--rv-radius-card);
    border: 2px solid var(--fp-color);
    background: var(--rv-glass);
    box-shadow: var(--rv-shadow-overlay);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    animation: fp-in-b-c1pbbg8psm .22s ease-out;
}

.fp-result-ok[b-c1pbbg8psm] {
    --fp-color: var(--rv-success);
}

.fp-result-repeat[b-c1pbbg8psm] {
    --fp-color: var(--rv-warning);
}

.fp-result-error[b-c1pbbg8psm] {
    --fp-color: var(--rv-danger);
}

@keyframes fp-in-b-c1pbbg8psm {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fp-result-main[b-c1pbbg8psm] {
    min-width: 0;
}

.fp-result-name[b-c1pbbg8psm] {
    font-family: var(--rv-font-display);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.fp-result-sub[b-c1pbbg8psm] {
    margin-top: 2px;
    font-size: 13px;
    color: var(--mud-palette-text-secondary);
}

.fp-result-action[b-c1pbbg8psm] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-weight: 700;
    color: var(--fp-color);
}

.fp-area[b-c1pbbg8psm] {
    display: flex;
    justify-content: center;
    min-width: 0;
}

.fp-side[b-c1pbbg8psm] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.fp-caption[b-c1pbbg8psm] {
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.fp-help[b-c1pbbg8psm] {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.35;
    color: var(--mud-palette-text-secondary);
}

.fp-options[b-c1pbbg8psm] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 12px;
}

.fp-steps[b-c1pbbg8psm] {
    margin: 0;
    padding-left: 18px;
    font-size: 13px;
    line-height: 1.45;
}

.fp-steps li + li[b-c1pbbg8psm] {
    margin-top: 6px;
}

.fp-steps .tg-mono[b-c1pbbg8psm] {
    overflow-wrap: anywhere;
}

.fp-stats[b-c1pbbg8psm] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
    font-size: 12px;
}

.fp-recent[b-c1pbbg8psm] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--rv-line);
    border-radius: var(--rv-radius-table);
    overflow: hidden;
}

.fp-recent-item[b-c1pbbg8psm] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 7px 10px;
    font-size: 13px;
    border-bottom: 1px solid var(--rv-line);
}

.fp-recent-item:last-child[b-c1pbbg8psm] {
    border-bottom: none;
}

.fp-recent-time[b-c1pbbg8psm] {
    flex: none;
    font-weight: 700;
}

.fp-recent-name[b-c1pbbg8psm] {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.fp-recent-action[b-c1pbbg8psm] {
    flex: none;
    font-size: 12px;
    font-weight: 600;
}

.fp-recent-ok[b-c1pbbg8psm] {
    color: var(--rv-success);
}

.fp-recent-repeat[b-c1pbbg8psm] {
    color: var(--rv-warning);
}

/* Narrow window or phone: the camera on top across the width, portrait, then the options. */
@media (max-width: 899.98px) {
    .fp[b-c1pbbg8psm] {
        grid-template-columns: minmax(0, 1fr);
    }

    .fp-stage[b-c1pbbg8psm] {
        aspect-ratio: var(--fp-ratio, .75);
        width: min(100%, calc(min(62vh, 560px) * var(--fp-ratio, .75)));
        width: min(100%, calc(min(62dvh, 560px) * var(--fp-ratio, .75)));
    }

    .fp-kiosk .fp-stage[b-c1pbbg8psm] {
        width: min(100%, calc((100vh - 250px) * var(--fp-ratio, .75)));
        width: min(100%, calc((100dvh - 250px) * var(--fp-ratio, .75)));
    }
}

/* ---------- phone: the place above, the viewfinder in the rest of the screen, the controls over the picture ---------- */
.fp.fp-phone[b-c1pbbg8psm] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    height: 100%;
    min-height: 0;
}

.fp-phone[b-c1pbbg8psm]  .fp-place {
    flex: none;
    margin: 0;
}

/* The viewfinder takes what is left of the height and keeps the proportions of the camera: never past the screen. */
.fp-phone .fp-area[b-c1pbbg8psm] {
    flex: 1;
    min-height: 0;
    container-type: size;
    display: grid;
    place-items: center;
}

.fp-phone .fp-stage[b-c1pbbg8psm] {
    width: min(100%, calc(55vh * var(--fp-ratio, .75)));
    width: min(100cqw, 100cqh * var(--fp-ratio, .75));
    aspect-ratio: var(--fp-ratio, .75);
    max-height: 100%;
    min-width: 0;
}

.fp-round[b-c1pbbg8psm] {
    position: absolute;
    top: 10px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    background: rgba(6, 11, 15, .45);
    color: #fff;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.fp-round-left[b-c1pbbg8psm] {
    left: 10px;
}

.fp-round-right[b-c1pbbg8psm] {
    right: 10px;
}

.fp-phone .fp-hint[b-c1pbbg8psm] {
    top: 14px;
    max-width: calc(100% - 112px);
    font-size: 13px;
}

/* «Авто / Приход / Уход» along the bottom of the picture. */
.fp-dir[b-c1pbbg8psm] {
    position: absolute;
    left: 50%;
    bottom: 10px;
    z-index: 2;
    display: flex;
    transform: translateX(-50%);
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(6, 11, 15, .45);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.fp-dir button[b-c1pbbg8psm] {
    min-width: 76px;
    min-height: 34px;
    padding: 0 12px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, .9);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.fp-dir button.fp-dir-on[b-c1pbbg8psm] {
    background: rgba(0, 189, 242, .85);
    color: #00151D;
}

/* The result rises above the direction. */
.fp-phone .fp-result[b-c1pbbg8psm] {
    left: 8px;
    right: 8px;
    bottom: 56px;
    padding: 10px 12px;
}

.fp-phone .fp-result-name[b-c1pbbg8psm] {
    font-size: 18px;
}
/* /Components/Shared/ExportDialog.razor.rz.scp.css */
/* Paper and orientation: two columns, the captions in the first row, the field and the switch in the second; on a phone
   one under the other. */
.exp-paper[b-ju52o2xows] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "cap-paper cap-orientation"
        "paper orientation";
    column-gap: 16px;
    row-gap: 4px;
}

.exp-cap-paper[b-ju52o2xows] {
    grid-area: cap-paper;
}

.exp-cap-orientation[b-ju52o2xows] {
    grid-area: cap-orientation;
}

.exp-field-paper[b-ju52o2xows] {
    grid-area: paper;
}

.exp-field-orientation[b-ju52o2xows] {
    grid-area: orientation;
}

/* The switch takes the height of the field next to it. */
.exp-field-orientation[b-ju52o2xows]  .mud-toggle-group {
    height: 100%;
}

@media (max-width: 599.98px) {
    .exp-paper[b-ju52o2xows] {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "cap-paper"
            "paper"
            "cap-orientation"
            "orientation";
    }
}
/* /Components/Shared/PersonCardDialog.razor.rz.scp.css */
.pc-card[b-895hj8tww0] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.pc-head[b-895hj8tww0] {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* Two columns: what and its value. */
.pc-facts[b-895hj8tww0] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 4px 16px;
    font-size: 14px;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--mud-palette-background-gray);
}

.pc-label[b-895hj8tww0] {
    color: var(--mud-palette-text-secondary);
}

.pc-value[b-895hj8tww0] {
    overflow-wrap: anywhere;
}

.pc-events[b-895hj8tww0] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
}

.pc-event[b-895hj8tww0] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
}
/* /Components/Shared/QuickReasonChips.razor.rz.scp.css */
.tg-quick-reasons[b-gaet99iby3] {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-top: 4px;
}
/* /Components/Shared/QuickReasonsDialog.razor.rz.scp.css */
.qr-tabs[b-d3gl4bzc4d]  .mud-tab {
    text-transform: none;
    font-weight: 600;
}
