/* _content/Ayva.Employee/Components/Admin/ActivityRow.razor.rz.scp.css */
/* ActivityRow — one recorded action. Tokens only. */

.activity-row[b-nhneqif62p] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.activity-row-undone[b-nhneqif62p] {
    opacity: 0.65;
}

.activity-line[b-nhneqif62p] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
    min-width: 0;
}

.activity-line-right[b-nhneqif62p] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.activity-summary[b-nhneqif62p] {
    color: var(--text-primary);
    min-width: 0;
}

.activity-row-undone .activity-summary[b-nhneqif62p] {
    text-decoration: line-through;
}

.activity-who[b-nhneqif62p] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.activity-changes[b-nhneqif62p],
.activity-group-list[b-nhneqif62p] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.activity-changes li[b-nhneqif62p] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.activity-field[b-nhneqif62p] {
    color: var(--text-muted);
    min-width: 8rem;
}

.activity-before[b-nhneqif62p] {
    color: var(--text-muted);
    text-decoration: line-through;
}

.activity-after[b-nhneqif62p] {
    color: var(--text-primary);
}

.activity-undo[b-nhneqif62p],
.activity-group[b-nhneqif62p] {
    align-self: flex-start;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: inherit;
    font-size: var(--text-xs);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.activity-undo:hover:not([disabled])[b-nhneqif62p],
.activity-group:hover:not([disabled])[b-nhneqif62p] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.activity-undo:focus-visible[b-nhneqif62p],
.activity-group:focus-visible[b-nhneqif62p] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.activity-undo[disabled][b-nhneqif62p],
.activity-group[disabled][b-nhneqif62p] {
    opacity: 0.5;
    cursor: default;
}

.activity-group[b-nhneqif62p] {
    border-style: dashed;
}

.activity-group-body[b-nhneqif62p] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: 2px solid var(--border-subtle);
}

.activity-group-row[b-nhneqif62p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.activity-group-what[b-nhneqif62p] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ::deep — StatusChip and MudIcon are child components and carry no scope
   attribute of ours. */
.activity-line-right[b-nhneqif62p]  .activity-chip {
    flex: 0 0 auto;
}

.activity-changes[b-nhneqif62p]  .mud-icon-root {
    color: var(--text-muted);
}

@media (max-width: 768px) {
    .activity-line[b-nhneqif62p] {
        flex-direction: column;
    }

    .activity-line-right[b-nhneqif62p] {
        justify-content: flex-start;
    }

    .activity-field[b-nhneqif62p] {
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .activity-undo[b-nhneqif62p],
    .activity-group[b-nhneqif62p] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/ActivityView.razor.rz.scp.css */
/* ActivityView — the audit feed, desktop-first. Tokens only. */

.activity-view[b-smf9lfvu3l] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.activity-head[b-smf9lfvu3l] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.activity-title[b-smf9lfvu3l] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.activity-count[b-smf9lfvu3l] {
    margin: var(--space-xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.activity-scope[b-smf9lfvu3l] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--info-color-10);
    border: 1px solid var(--info-color-30);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.activity-filters[b-smf9lfvu3l] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-md);
    flex-wrap: wrap;
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--border-subtle);
}

.activity-filter[b-smf9lfvu3l] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.activity-filter-label[b-smf9lfvu3l] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.activity-select[b-smf9lfvu3l] {
    min-height: var(--tap-target-min);
    min-width: 10rem;
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: var(--text-sm);
}

.activity-select:focus-visible[b-smf9lfvu3l] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.activity-check[b-smf9lfvu3l] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: var(--tap-target-min);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    cursor: pointer;
}

.activity-button[b-smf9lfvu3l],
.activity-page[b-smf9lfvu3l] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.activity-button:hover:not([disabled])[b-smf9lfvu3l],
.activity-page:hover:not([disabled])[b-smf9lfvu3l] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.activity-button:focus-visible[b-smf9lfvu3l],
.activity-page:focus-visible[b-smf9lfvu3l] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.activity-button[disabled][b-smf9lfvu3l],
.activity-page[disabled][b-smf9lfvu3l] {
    opacity: 0.4;
    cursor: default;
}

.activity-loading[b-smf9lfvu3l] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.activity-list[b-smf9lfvu3l] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.activity-pager[b-smf9lfvu3l] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
}

.activity-page-label[b-smf9lfvu3l] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-variant-numeric: tabular-nums;
}

/* ::deep — DateField is a child component and carries no scope attribute. */
.activity-filters[b-smf9lfvu3l]  .activity-date {
    min-width: 10rem;
}

@media (max-width: 768px) {
    .activity-filters[b-smf9lfvu3l] {
        flex-direction: column;
        align-items: stretch;
    }

    .activity-select[b-smf9lfvu3l] {
        width: 100%;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .activity-button[b-smf9lfvu3l],
    .activity-page[b-smf9lfvu3l] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/AddEmployeeDialog.razor.rz.scp.css */
/* AddEmployeeDialog — binding a profile to a sign-in account. Tokens only. */

.add-employee-heading[b-cmh5sxqn38] {
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 600;
}

.add-employee[b-cmh5sxqn38] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    min-width: 0;
    font-family: var(--font-primary);
}

.add-employee-loading[b-cmh5sxqn38] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.add-employee-field[b-cmh5sxqn38] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.add-employee-label[b-cmh5sxqn38] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.add-employee-select[b-cmh5sxqn38],
.add-employee-input[b-cmh5sxqn38] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: var(--text-sm);
}

.add-employee-select:focus-visible[b-cmh5sxqn38],
.add-employee-input:focus-visible[b-cmh5sxqn38] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.add-employee-rates[b-cmh5sxqn38] {
    display: flex;
    gap: var(--space-lg);
    flex-wrap: wrap;
}

.add-employee-number[b-cmh5sxqn38] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
}

.add-employee-input[b-cmh5sxqn38] {
    width: 7rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.add-employee-unit[b-cmh5sxqn38] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.add-employee-note[b-cmh5sxqn38] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.add-employee-error[b-cmh5sxqn38] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-sm);
    color: var(--error-text);
    font-size: var(--text-sm);
}

.add-employee-button[b-cmh5sxqn38] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-xl);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.add-employee-button:hover:not([disabled])[b-cmh5sxqn38] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.add-employee-button:focus-visible[b-cmh5sxqn38] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.add-employee-button[disabled][b-cmh5sxqn38] {
    opacity: 0.5;
    cursor: default;
}

.add-employee-button-primary[b-cmh5sxqn38] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.add-employee-button-primary:hover:not([disabled])[b-cmh5sxqn38] {
    color: var(--text-inverse);
}

/* ::deep — MudTextField is a child component and carries no scope attribute. */
.add-employee[b-cmh5sxqn38]  .add-employee-name {
    max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .add-employee-button[b-cmh5sxqn38] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/AddEntryDialog.razor.rz.scp.css */
/* AddEntryDialog — employee picker over the shared entry form. Tokens only. */

.add-entry-heading[b-d8lyv9sni5] {
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 700;
}

.add-entry[b-d8lyv9sni5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    min-width: 0;
    font-family: var(--font-primary);
}

.add-entry-head[b-d8lyv9sni5] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-md);
    min-width: 0;
}

.add-entry-field[b-d8lyv9sni5] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.add-entry-label[b-d8lyv9sni5] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.add-entry-select[b-d8lyv9sni5] {
    min-height: var(--tap-target-min);
    max-width: 100%;
    padding: 0 var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.add-entry-select:focus-visible[b-d8lyv9sni5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.add-entry-close[b-d8lyv9sni5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.add-entry-close:hover[b-d8lyv9sni5] {
    color: var(--text-primary);
    background: var(--bg-hover);
}

.add-entry-close:focus-visible[b-d8lyv9sni5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.add-entry-note[b-d8lyv9sni5] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

@media (max-width: 640px) {
    .add-entry-head[b-d8lyv9sni5] {
        flex-wrap: wrap;
    }
}
/* _content/Ayva.Employee/Components/Admin/AttentionList.razor.rz.scp.css */
/* AttentionList — the console worklist. Tokens only. */

.attention[b-bdfpb1gd3s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
    font-family: var(--font-primary);
}

.attention-title[b-bdfpb1gd3s] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 600;
}

.attention-badge[b-bdfpb1gd3s] {
    padding: 0 var(--space-sm);
    background: var(--warning-color-light);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--warning-color);
    font-size: var(--text-xs);
    font-weight: 700;
}

.attention-list[b-bdfpb1gd3s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.attention-row[b-bdfpb1gd3s] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
}

.attention-dot[b-bdfpb1gd3s] {
    width: var(--space-sm);
    height: var(--space-sm);
    border-radius: var(--radius-full);
    background: var(--text-muted);
}

.attention-row-warn .attention-dot[b-bdfpb1gd3s] {
    background: var(--warning-color);
}

.attention-row-alert .attention-dot[b-bdfpb1gd3s] {
    background: var(--error-color);
}

.attention-text[b-bdfpb1gd3s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.attention-headline[b-bdfpb1gd3s] {
    font-size: var(--text-sm);
    font-weight: 600;
}

.attention-detail[b-bdfpb1gd3s] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.attention-age[b-bdfpb1gd3s] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.attention-action[b-bdfpb1gd3s] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--accent-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    white-space: nowrap;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.attention-action:hover:not([disabled])[b-bdfpb1gd3s] {
    border-color: var(--accent-color);
    background: var(--bg-hover);
}

.attention-action:focus-visible[b-bdfpb1gd3s] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.attention-action[disabled][b-bdfpb1gd3s] {
    cursor: default;
    opacity: 0.6;
}

.attention-more[b-bdfpb1gd3s] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
}

@media (max-width: 640px) {
    .attention-row[b-bdfpb1gd3s] {
        grid-template-columns: auto minmax(0, 1fr);
        row-gap: var(--space-sm);
    }

    .attention-age[b-bdfpb1gd3s],
    .attention-action[b-bdfpb1gd3s] {
        grid-column: 2;
        justify-self: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .attention-action[b-bdfpb1gd3s] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/BulkBar.razor.rz.scp.css */
/* BulkBar — sticky (not fixed) action bar for the ledger selection.
   Tokens only. */

.bulk-bar[b-hl13olb544] {
    position: sticky;
    bottom: 0;
    z-index: 2;
    min-width: 0;
    padding-top: var(--space-sm);
    font-family: var(--font-primary);
}

.bulk-bar-inner[b-hl13olb544] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-dark);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--accent-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-card-shadow);
    color: var(--text-primary);
}

.bulk-count[b-hl13olb544] {
    font-size: var(--text-sm);
    white-space: nowrap;
}

.bulk-actions[b-hl13olb544] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    min-width: 0;
}

.bulk-action[b-hl13olb544] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    white-space: nowrap;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.bulk-action:hover:not([disabled])[b-hl13olb544] {
    border-color: var(--accent-color);
    background: var(--bg-hover);
}

.bulk-action:focus-visible[b-hl13olb544],
.bulk-clear:focus-visible[b-hl13olb544] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.bulk-action[disabled][b-hl13olb544],
.bulk-clear[disabled][b-hl13olb544] {
    cursor: default;
    opacity: 0.6;
}


.bulk-clear[b-hl13olb544] {
    margin-left: auto;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: none;
    border: none;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
}

.bulk-note-row[b-hl13olb544] {
    display: flex;
    flex: 1 1 20rem;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
}

/* ::deep — MudTextField renders a child tree with no scope attribute. */
.bulk-note-row[b-hl13olb544]  .bulk-note {
    flex: 1 1 14rem;
    min-width: 0;
}

@media (max-width: 768px) {
    .bulk-bar-inner[b-hl13olb544] {
        padding: var(--space-md);
    }

    .bulk-clear[b-hl13olb544] {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bulk-action[b-hl13olb544] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/CreatePayoutDialog.razor.rz.scp.css */
/* CreatePayoutDialog — one settlement, or a payroll run. Tokens only. */

.create-payout-heading[b-tqe8kbqjm2] {
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 600;
}

.create-payout[b-tqe8kbqjm2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    min-width: 0;
    font-family: var(--font-primary);
}

.create-payout-field[b-tqe8kbqjm2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.create-payout-label[b-tqe8kbqjm2] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.create-payout-select[b-tqe8kbqjm2] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: var(--text-sm);
}

.create-payout-select:focus-visible[b-tqe8kbqjm2] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.create-payout-note[b-tqe8kbqjm2] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.create-payout-preview[b-tqe8kbqjm2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding: var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
}

.create-payout-figure[b-tqe8kbqjm2] {
    color: var(--text-primary);
    font-size: var(--text-xl);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.create-payout-preview-text[b-tqe8kbqjm2] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.create-payout-error[b-tqe8kbqjm2] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-sm);
    color: var(--error-text);
    font-size: var(--text-sm);
}

.create-payout-button[b-tqe8kbqjm2] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-xl);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.create-payout-button:hover:not([disabled])[b-tqe8kbqjm2] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.create-payout-button:focus-visible[b-tqe8kbqjm2] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.create-payout-button[disabled][b-tqe8kbqjm2] {
    opacity: 0.5;
    cursor: default;
}

.create-payout-button-primary[b-tqe8kbqjm2] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.create-payout-button-primary:hover:not([disabled])[b-tqe8kbqjm2] {
    color: var(--text-inverse);
}

/* ::deep — DateField and MudTextField are child components; a scoped rule
   ending in their classes would never match without it. */
.create-payout[b-tqe8kbqjm2]  .create-payout-date,
.create-payout[b-tqe8kbqjm2]  .create-payout-note-field {
    max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .create-payout-button[b-tqe8kbqjm2] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/EmployeeDetail.razor.rz.scp.css */
/* EmployeeDetail — one person's roster record. Tokens only. */

.employee-detail[b-spjv94of9s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.employee-loading[b-spjv94of9s] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.employee-head[b-spjv94of9s] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.employee-head-text[b-spjv94of9s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.employee-back[b-spjv94of9s] {
    align-self: flex-start;
    padding: 0;
    background: none;
    border: none;
    color: var(--text-muted);
    font-family: inherit;
    font-size: var(--text-xs);
    cursor: pointer;
}

.employee-back:hover[b-spjv94of9s] {
    color: var(--accent-color);
}

.employee-back:focus-visible[b-spjv94of9s] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

.employee-name[b-spjv94of9s] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.employee-chips[b-spjv94of9s] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.employee-head-actions[b-spjv94of9s],
.employee-card-actions[b-spjv94of9s],
.employee-link-row[b-spjv94of9s] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.employee-tiles[b-spjv94of9s] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: var(--space-lg);
}

.employee-card[b-spjv94of9s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.employee-card-title[b-spjv94of9s] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.employee-rates[b-spjv94of9s] {
    display: flex;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.employee-inline[b-spjv94of9s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.employee-check[b-spjv94of9s] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.employee-label[b-spjv94of9s] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.employee-number[b-spjv94of9s] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
}

.employee-input[b-spjv94of9s] {
    width: 7rem;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: var(--text-sm);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.employee-input-wide[b-spjv94of9s] {
    width: 16rem;
    text-align: left;
}

.employee-input:focus-visible[b-spjv94of9s] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.employee-unit[b-spjv94of9s] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.employee-note[b-spjv94of9s] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.employee-error[b-spjv94of9s] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-sm);
    color: var(--error-text);
    font-size: var(--text-sm);
}

.employee-button[b-spjv94of9s] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.employee-button:hover:not([disabled])[b-spjv94of9s] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.employee-button:focus-visible[b-spjv94of9s] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.employee-button[disabled][b-spjv94of9s] {
    opacity: 0.5;
    cursor: default;
}

.employee-button-primary[b-spjv94of9s] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.employee-button-primary:hover:not([disabled])[b-spjv94of9s] {
    color: var(--text-inverse);
}

.employee-button-danger[b-spjv94of9s] {
    border-color: var(--error-color-30);
    color: var(--error-text);
}

.employee-button-danger:hover:not([disabled])[b-spjv94of9s] {
    border-color: var(--error-color);
    color: var(--error-text);
}

/* ── Recent lists ──────────────────────────────────────────────────────── */

.employee-list[b-spjv94of9s],
.employee-timeline[b-spjv94of9s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.employee-list-row[b-spjv94of9s] {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr) auto auto;
    align-items: center;
    gap: var(--space-md);
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-sm);
    background: none;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: inherit;
    font-size: var(--text-sm);
    text-align: left;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.employee-list-row:hover[b-spjv94of9s] {
    border-color: var(--border-color);
    color: var(--text-primary);
}

.employee-list-row:focus-visible[b-spjv94of9s] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.employee-list-what[b-spjv94of9s] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.employee-list-amount[b-spjv94of9s] {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.employee-timeline-row[b-spjv94of9s] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding: var(--space-xs) var(--space-sm);
    border-left: 2px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.employee-timeline-what[b-spjv94of9s] {
    color: var(--text-primary);
}

/* ::deep — MudTextField, TimeZonePicker and StatusChip are child components
   and carry no scope attribute of ours. */
.employee-card[b-spjv94of9s]  .employee-field {
    max-width: 34rem;
}

@media (max-width: 768px) {
    .employee-card[b-spjv94of9s] {
        padding: var(--space-lg);
    }

    .employee-list-row[b-spjv94of9s] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .employee-list-date[b-spjv94of9s] {
        grid-column: 1 / -1;
    }

    .employee-input-wide[b-spjv94of9s] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .employee-button[b-spjv94of9s],
    .employee-list-row[b-spjv94of9s] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/EntryDrawer.razor.rz.scp.css */
/* EntryDrawer — the admin's editor for one ledger row. Tokens only.

   The .mud-drawer node itself is NOT styled here. MudDrawer is a child
   component, so it never carries this component's scope attribute, and a
   leading `::deep` would compile to a descendant selector with no scoped
   ancestor to match — the rule would silently never apply. The frame
   (.mud-drawer.entry-drawer-frame) lives in mudblazor-overrides.css beside
   .work-sheet, for the same reason .work-sheet does. */

.entry-drawer[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    color: var(--text-primary);
    font-family: var(--font-primary);
}

/* ── Head ──────────────────────────────────────────────────────────────── */

.drawer-head[b-apa2u0kfmq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-xl);
    border-bottom: 1px solid var(--border-color);
}

.drawer-head-text[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.drawer-title[b-apa2u0kfmq] {
    font-size: var(--text-lg);
    font-weight: 700;
}

.drawer-sub[b-apa2u0kfmq] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.drawer-close[b-apa2u0kfmq] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    cursor: pointer;
}

.drawer-close:hover[b-apa2u0kfmq] {
    color: var(--text-primary);
    background: var(--bg-hover);
}

.drawer-close:focus-visible[b-apa2u0kfmq] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── Tabs ──────────────────────────────────────────────────────────────── */

.drawer-tabs[b-apa2u0kfmq] {
    display: flex;
    gap: var(--space-xs);
    padding: 0 var(--space-xl);
    border-bottom: 1px solid var(--border-color);
}

.drawer-tab[b-apa2u0kfmq] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
}

.drawer-tab-current[b-apa2u0kfmq] {
    color: var(--accent-color);
    border-bottom-color: var(--accent-color);
}

.drawer-tab:focus-visible[b-apa2u0kfmq] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

/* ── Body ──────────────────────────────────────────────────────────────── */

.drawer-body[b-apa2u0kfmq] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--space-xl);
    padding: var(--space-xl);
    overflow-y: auto;
}

.drawer-loading[b-apa2u0kfmq] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-3xl) var(--space-xl);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.drawer-chips[b-apa2u0kfmq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
}

.drawer-kind[b-apa2u0kfmq],
.drawer-zone[b-apa2u0kfmq] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.drawer-zone[b-apa2u0kfmq] {
    padding: 0 var(--space-xs);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xs);
}

.drawer-locked[b-apa2u0kfmq],
.drawer-error[b-apa2u0kfmq],
.drawer-hint[b-apa2u0kfmq] {
    margin: 0;
    font-size: var(--text-xs);
}

.drawer-locked[b-apa2u0kfmq] {
    padding: var(--space-md);
    background: var(--bg-hover);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
}

.drawer-error[b-apa2u0kfmq] {
    padding: var(--space-md);
    background: var(--error-color-light);
    border-radius: var(--radius-sm);
    color: var(--error-color);
}

.drawer-hint[b-apa2u0kfmq] {
    color: var(--text-muted);
}

.drawer-overlap[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-md);
    background: var(--warning-color-light);
    border: 1px solid var(--warning-color);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
}

.drawer-overlap-title[b-apa2u0kfmq] {
    font-weight: 600;
    color: var(--warning-color);
}

.drawer-overlap ul[b-apa2u0kfmq] {
    margin: 0;
    padding-left: var(--space-2xl);
}

.drawer-overlap-actions[b-apa2u0kfmq] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
}

/* ── Sections ──────────────────────────────────────────────────────────── */

.drawer-section[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
}

.drawer-section-title[b-apa2u0kfmq] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.drawer-times[b-apa2u0kfmq],
.drawer-rate-row[b-apa2u0kfmq] {
    display: flex;
    gap: var(--space-md);
    min-width: 0;
}

.drawer-times > *[b-apa2u0kfmq],
.drawer-rate-row > *[b-apa2u0kfmq] {
    flex: 1 1 0;
    min-width: 0;
}

.drawer-mode[b-apa2u0kfmq] {
    display: flex;
    gap: var(--space-xs);
}

.drawer-mode-option[b-apa2u0kfmq] {
    flex: 1 1 0;
    min-height: var(--tap-target-min);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
}

.drawer-mode-on[b-apa2u0kfmq] {
    border-color: var(--accent-color);
    color: var(--accent-color);
    background: var(--bg-hover);
}

.drawer-mode-option:focus-visible[b-apa2u0kfmq] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.drawer-field[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.drawer-field-label[b-apa2u0kfmq] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.drawer-select[b-apa2u0kfmq] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.drawer-select:focus-visible[b-apa2u0kfmq] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.drawer-verdicts[b-apa2u0kfmq] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

/* ── History ───────────────────────────────────────────────────────────── */

.drawer-history[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    margin: 0;
    padding: 0;
    list-style: none;
}

.drawer-history-item[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-md);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
}

.drawer-history-undone[b-apa2u0kfmq] {
    opacity: 0.6;
}

.drawer-history-head[b-apa2u0kfmq] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.drawer-history-summary[b-apa2u0kfmq] {
    font-size: var(--text-sm);
    font-weight: 600;
}

.drawer-history-who[b-apa2u0kfmq] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.drawer-history-changes[b-apa2u0kfmq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.drawer-history-changes li[b-apa2u0kfmq] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.drawer-history-field[b-apa2u0kfmq] {
    color: var(--text-muted);
}

/* ── Foot ──────────────────────────────────────────────────────────────── */

.drawer-foot[b-apa2u0kfmq] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-sm);
    padding: var(--space-lg) var(--space-xl);
    border-top: 1px solid var(--border-color);
    background: var(--glass-dark);
}

@media (max-width: 768px) {
    .drawer-head[b-apa2u0kfmq],
    .drawer-body[b-apa2u0kfmq] {
        padding: var(--space-lg);
    }

    .drawer-tabs[b-apa2u0kfmq] {
        padding: 0 var(--space-lg);
    }

    .drawer-times[b-apa2u0kfmq],
    .drawer-rate-row[b-apa2u0kfmq] {
        flex-direction: column;
    }
}

/* ── Association display (read-only; edited from the entry form) ──────── */

.drawer-linked[b-apa2u0kfmq] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.drawer-linked[b-apa2u0kfmq]  .mud-icon-root {
    color: var(--text-muted);
    flex: none;
}
/* _content/Ayva.Employee/Components/Admin/LedgerFilterBar.razor.rz.scp.css */
/* LedgerFilterBar — dense, desktop-first. Tokens only. */

.ledger-filters[b-dd6bo8gzeb] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    min-width: 0;
    padding: var(--space-lg);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    font-family: var(--font-primary);
}

.ledger-filter-period[b-dd6bo8gzeb] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    min-width: 0;
}

.ledger-filter-period[b-dd6bo8gzeb] >  .period-nav {
    /* ::deep — PeriodNav is a child component with its own scope. */
    flex: 1 1 auto;
    min-width: 0;
}

.ledger-filter-row[b-dd6bo8gzeb] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-md);
    min-width: 0;
}

.ledger-filter-row-chips[b-dd6bo8gzeb] {
    align-items: center;
}

.ledger-field[b-dd6bo8gzeb] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.ledger-field-grow[b-dd6bo8gzeb] {
    flex: 1 1 14rem;
}

.ledger-field-label[b-dd6bo8gzeb] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.ledger-select[b-dd6bo8gzeb] {
    min-height: var(--tap-target-min);
    max-width: 100%;
    padding: 0 var(--space-md);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.ledger-select:focus-visible[b-dd6bo8gzeb] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.ledger-select[disabled][b-dd6bo8gzeb] {
    opacity: 0.6;
}

.ledger-chips[b-dd6bo8gzeb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    min-width: 0;
}

.ledger-chip[b-dd6bo8gzeb],
.ledger-toggle[b-dd6bo8gzeb] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    white-space: nowrap;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.ledger-chip:hover:not([disabled])[b-dd6bo8gzeb],
.ledger-toggle:hover:not([disabled])[b-dd6bo8gzeb] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.ledger-chip:focus-visible[b-dd6bo8gzeb],
.ledger-toggle:focus-visible[b-dd6bo8gzeb],
.ledger-clear:focus-visible[b-dd6bo8gzeb] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.ledger-chip-on[b-dd6bo8gzeb],
.ledger-toggle-on[b-dd6bo8gzeb] {
    background: var(--bg-hover);
    border-color: var(--accent-color);
    /* -light: the --bg-hover fill lifts the pill, taking the base accent to
       3.68:1. */
    color: var(--accent-color-light);
}

.ledger-chip[disabled][b-dd6bo8gzeb],
.ledger-toggle[disabled][b-dd6bo8gzeb],
.ledger-clear[disabled][b-dd6bo8gzeb] {
    cursor: default;
    opacity: 0.6;
}

.ledger-clear[b-dd6bo8gzeb] {
    margin-left: auto;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: none;
    border: none;
    color: var(--accent-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
}

/* ::deep — MudTextField renders its own tree with no scope attribute. */
.ledger-field-grow[b-dd6bo8gzeb]  .mud-input-control {
    margin-top: 0;
}

@media (max-width: 768px) {
    .ledger-filters[b-dd6bo8gzeb] {
        padding: var(--space-md);
    }

    .ledger-field-grow[b-dd6bo8gzeb] {
        flex-basis: 100%;
    }

    .ledger-clear[b-dd6bo8gzeb] {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ledger-chip[b-dd6bo8gzeb],
    .ledger-toggle[b-dd6bo8gzeb] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/LedgerTable.razor.rz.scp.css */
/* LedgerTable — dense operations table, cards below 960px (MudTable's Md
   breakpoint). Tokens only; every .mud-* rule is behind ::deep because
   MudTable renders a child tree with no scope attribute. */

.ledger-table[b-73umxuh1b9] {
    min-width: 0;
    overflow-x: auto;
    font-family: var(--font-primary);
}

.ledger-table[b-73umxuh1b9]  .ledger-mud-table {
    /* Matches the .work-root .mud-table rule in mudblazor-overrides.css, which
       is what actually lands: this file cannot outrank that sheet's
       `.mud-table { background: … !important }`. Kept in step on purpose so
       the declaration here is not a lie about what renders. */
    background: var(--work-surface-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
}

.ledger-table[b-73umxuh1b9]  .mud-table-cell {
    border-bottom-color: var(--border-color);
    font-size: var(--text-sm);
}

.ledger-table[b-73umxuh1b9]  .ledger-th {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.ledger-table[b-73umxuh1b9]  .ledger-th-end,
.ledger-table[b-73umxuh1b9]  .ledger-td-end {
    text-align: right;
}

.ledger-table[b-73umxuh1b9]  .ledger-td {
    vertical-align: top;
}

.ledger-table[b-73umxuh1b9]  .ledger-sort {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 0;
    background: none;
    border: none;
    color: inherit;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    cursor: pointer;
}

.ledger-table[b-73umxuh1b9]  .ledger-sort:hover {
    color: var(--accent-color);
}

.ledger-table[b-73umxuh1b9]  .ledger-sort:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.ledger-table[b-73umxuh1b9]  .ledger-sort-mark {
    /* -light: the arrow rides on the table surface, where the base accent is
       4.22:1 — and at 12px it is the only cue for which column is sorted. */
    color: var(--accent-color-light);
}

.ledger-table[b-73umxuh1b9]  .ledger-date {
    display: block;
    font-weight: 600;
    white-space: nowrap;
}

.ledger-table[b-73umxuh1b9]  .ledger-time,
.ledger-table[b-73umxuh1b9]  .ledger-sub {
    display: block;
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.ledger-table[b-73umxuh1b9]  .ledger-zone {
    margin-left: var(--space-xs);
    padding: 0 var(--space-xs);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xs);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.ledger-table[b-73umxuh1b9]  .ledger-label {
    display: block;
    overflow-wrap: anywhere;
}

.ledger-table[b-73umxuh1b9]  .ledger-note {
    color: var(--warning-color);
}

.ledger-table[b-73umxuh1b9]  .ledger-amount {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    white-space: nowrap;
}

.ledger-table[b-73umxuh1b9]  .ledger-row-deleted {
    opacity: 0.55;
}

.ledger-table[b-73umxuh1b9]  .ledger-row-deleted .ledger-label {
    text-decoration: line-through;
}

.ledger-table[b-73umxuh1b9]  .ledger-row-rejected .ledger-date {
    color: var(--warning-color);
}

.ledger-table[b-73umxuh1b9]  .ledger-row-claimed {
    background: var(--bg-hover);
}

.ledger-table[b-73umxuh1b9]  .mud-table-row:hover {
    cursor: pointer;
}

/* Small-device (card) mode: MudTable stacks the cells and prints DataLabel
   in front of each. Keep the pairs on one line and let the value wrap. */
@media (max-width: 960px) {
    .ledger-table[b-73umxuh1b9]  .ledger-td-end,
    .ledger-table[b-73umxuh1b9]  .ledger-th-end {
        text-align: left;
    }

    .ledger-table[b-73umxuh1b9]  .mud-table-row {
        border-bottom: 1px solid var(--border-color);
    }
}
/* _content/Ayva.Employee/Components/Admin/LedgerView.razor.rz.scp.css */
/* LedgerView — desktop-first operations screen. Tokens only. */

.ledger[b-716wf57bxz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.ledger-head[b-716wf57bxz] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    min-width: 0;
}

.ledger-head-text[b-716wf57bxz] {
    min-width: 0;
}

.ledger-title[b-716wf57bxz] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ledger-count[b-716wf57bxz] {
    margin: var(--space-xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.ledger-head-actions[b-716wf57bxz] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.ledger-export[b-716wf57bxz] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    text-decoration: none;
    white-space: nowrap;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.ledger-export:hover[b-716wf57bxz] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.ledger-export:focus-visible[b-716wf57bxz] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.ledger-export-off[b-716wf57bxz] {
    border-color: var(--warning-color);
    color: var(--warning-color);
    cursor: default;
}

.ledger-export-off:hover[b-716wf57bxz] {
    border-color: var(--warning-color);
    color: var(--warning-color);
}

.ledger-pager[b-716wf57bxz] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-md);
}

.ledger-page[b-716wf57bxz] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
}

.ledger-page:hover:not([disabled])[b-716wf57bxz] {
    border-color: var(--accent-color);
}

.ledger-page:focus-visible[b-716wf57bxz] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.ledger-page[disabled][b-716wf57bxz] {
    cursor: default;
    opacity: 0.5;
}

.ledger-page-label[b-716wf57bxz] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 768px) {
    .ledger-head[b-716wf57bxz] {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-md);
    }

    .ledger-title[b-716wf57bxz] {
        font-size: var(--text-xl);
    }

    .ledger-pager[b-716wf57bxz] {
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ledger-export[b-716wf57bxz] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/OverviewView.razor.rz.scp.css */
/* OverviewView — desktop-first tile grid over the worklist. Tokens only. */

.overview[b-qemkww1y54] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.overview-loading[b-qemkww1y54] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-3xl) 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.overview-head[b-qemkww1y54] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    min-width: 0;
}

.overview-title[b-qemkww1y54] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.overview-period[b-qemkww1y54] {
    margin: var(--space-xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.overview-tiles[b-qemkww1y54] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: var(--space-xl);
    min-width: 0;
}

@media (max-width: 768px) {
    .overview[b-qemkww1y54] {
        gap: var(--space-2xl);
    }

    .overview-tiles[b-qemkww1y54] {
        grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
        gap: var(--space-md);
    }

    .overview-title[b-qemkww1y54] {
        font-size: var(--text-xl);
    }
}
/* _content/Ayva.Employee/Components/Admin/PayoutCard.razor.rz.scp.css */
/* PayoutCard — one settlement. Tokens only. */

.payout-card[b-pfh7pkn77v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
    padding: var(--space-lg) var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-left: 3px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-card-shadow);
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.payout-card-open[b-pfh7pkn77v] {
    border-color: var(--accent-color-30);
    box-shadow: var(--glass-card-shadow-hover);
}

.payout-card-warn[b-pfh7pkn77v] { border-left-color: var(--warning-color); }
.payout-card-info[b-pfh7pkn77v] { border-left-color: var(--info-color); }
.payout-card-good[b-pfh7pkn77v] { border-left-color: var(--success-color); }
.payout-card-bad[b-pfh7pkn77v] { border-left-color: var(--error-color); }

.payout-head[b-pfh7pkn77v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-lg);
    min-width: 0;
}

.payout-open[b-pfh7pkn77v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    background: none;
    border: none;
    color: inherit;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.payout-open:focus-visible[b-pfh7pkn77v] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

.payout-who[b-pfh7pkn77v] {
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.payout-through[b-pfh7pkn77v] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.payout-head-right[b-pfh7pkn77v] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.payout-figure[b-pfh7pkn77v] {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.payout-lock[b-pfh7pkn77v] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 0 var(--space-sm);
    background: var(--bg-card-solid);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.payout-lock a[b-pfh7pkn77v] {
    color: var(--accent-color);
    text-decoration: none;
}

.payout-lock a:hover[b-pfh7pkn77v] {
    text-decoration: underline;
}

.payout-meta[b-pfh7pkn77v],
.payout-ref[b-pfh7pkn77v],
.payout-empty[b-pfh7pkn77v] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.payout-banner[b-pfh7pkn77v] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-30);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: var(--text-sm);
}

.payout-warning[b-pfh7pkn77v] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: var(--text-sm);
}

/* ── Claimed entries and timeline ──────────────────────────────────────── */

.payout-entries[b-pfh7pkn77v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-subtle);
}

.payout-loading[b-pfh7pkn77v] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.payout-entry-list[b-pfh7pkn77v],
.payout-timeline[b-pfh7pkn77v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.payout-entry-open[b-pfh7pkn77v] {
    display: grid;
    grid-template-columns: 8rem 1fr auto;
    gap: var(--space-md);
    align-items: baseline;
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-sm);
    background: none;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: inherit;
    font-size: var(--text-sm);
    text-align: left;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.payout-entry-open:hover[b-pfh7pkn77v] {
    border-color: var(--border-color);
    color: var(--text-primary);
}

.payout-entry-open:focus-visible[b-pfh7pkn77v] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payout-entry-what[b-pfh7pkn77v] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.payout-entry-amount[b-pfh7pkn77v] {
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.payout-timeline-row[b-pfh7pkn77v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding: var(--space-xs) var(--space-sm);
    border-left: 2px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.payout-timeline-what[b-pfh7pkn77v] { color: var(--text-primary); }

/* ── Actions ───────────────────────────────────────────────────────────── */

.payout-actions[b-pfh7pkn77v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-subtle);
}

.payout-action-row[b-pfh7pkn77v] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.payout-action[b-pfh7pkn77v] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: inherit;
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.payout-action:hover:not([disabled])[b-pfh7pkn77v] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.payout-action:focus-visible[b-pfh7pkn77v] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payout-action[disabled][b-pfh7pkn77v] {
    opacity: 0.5;
    cursor: default;
}

.payout-action-primary[b-pfh7pkn77v] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.payout-action-primary:hover:not([disabled])[b-pfh7pkn77v] {
    color: var(--text-inverse);
}

.payout-action-danger[b-pfh7pkn77v] {
    border-color: var(--error-color-30);
    color: var(--error-text);
}

.payout-action-danger:hover:not([disabled])[b-pfh7pkn77v] {
    border-color: var(--error-color);
    color: var(--error-text);
}

/* ::deep — MudTextField and MudIcon are child components and carry no scope
   attribute of ours, so a plain descendant selector would never match. */
.payout-actions[b-pfh7pkn77v]  .payout-text {
    max-width: 32rem;
}

.payout-banner[b-pfh7pkn77v]  .mud-icon-root {
    color: var(--warning-color);
}

@media (max-width: 768px) {
    .payout-card[b-pfh7pkn77v] {
        padding: var(--space-lg);
    }

    .payout-head[b-pfh7pkn77v] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-sm);
    }

    .payout-head-right[b-pfh7pkn77v] {
        justify-content: flex-start;
    }

    .payout-entry-open[b-pfh7pkn77v] {
        grid-template-columns: 1fr auto;
    }

    .payout-entry-date[b-pfh7pkn77v] {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .payout-action[b-pfh7pkn77v],
    .payout-entry-open[b-pfh7pkn77v] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/PayoutQueueView.razor.rz.scp.css */
/* PayoutQueueView — the settlement queue, desktop-first. Tokens only. */

.payout-queue[b-8ehuk3wn10] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.payout-queue-head[b-8ehuk3wn10] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    min-width: 0;
}

.payout-queue-head-text[b-8ehuk3wn10] {
    min-width: 0;
}

.payout-queue-title[b-8ehuk3wn10] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.payout-queue-count[b-8ehuk3wn10] {
    margin: var(--space-xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.payout-queue-actions[b-8ehuk3wn10] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.payout-queue-button[b-8ehuk3wn10],
.payout-queue-export[b-8ehuk3wn10] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.payout-queue-button:hover:not([disabled])[b-8ehuk3wn10],
.payout-queue-export:hover[b-8ehuk3wn10] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.payout-queue-button:focus-visible[b-8ehuk3wn10],
.payout-queue-export:focus-visible[b-8ehuk3wn10] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payout-queue-button[disabled][b-8ehuk3wn10] {
    opacity: 0.5;
    cursor: default;
}

.payout-queue-button-primary[b-8ehuk3wn10] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.payout-queue-button-primary:hover:not([disabled])[b-8ehuk3wn10] {
    color: var(--text-inverse);
}

.payout-queue-export-off[b-8ehuk3wn10] {
    border-color: var(--warning-color);
    color: var(--warning-color);
    cursor: default;
}

.payout-queue-export-off:hover[b-8ehuk3wn10] {
    border-color: var(--warning-color);
    color: var(--warning-color);
}

/* ── The confirm-first strip ───────────────────────────────────────────── */

.payout-confirm[b-8ehuk3wn10] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--warning-color-30);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-card-shadow);
}

.payout-confirm-title[b-8ehuk3wn10] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 600;
}

.payout-confirm-text[b-8ehuk3wn10] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.payout-confirm-list[b-8ehuk3wn10] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0;
    padding: 0;
    max-height: 18rem;
    overflow-y: auto;
    list-style: none;
}

.payout-confirm-row[b-8ehuk3wn10] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: var(--space-xs) 0;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.payout-confirm-amount[b-8ehuk3wn10] {
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.payout-confirm-actions[b-8ehuk3wn10] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.payout-confirm[b-8ehuk3wn10]  .payout-confirm-ref {
    max-width: 24rem;
}

/* ── Tabs and filter ───────────────────────────────────────────────────── */

.payout-tabs[b-8ehuk3wn10] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--border-subtle);
}

.payout-tab[b-8ehuk3wn10] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-full);
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.payout-tab:hover:not([disabled])[b-8ehuk3wn10] {
    color: var(--text-primary);
}

.payout-tab:focus-visible[b-8ehuk3wn10] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payout-tab-current[b-8ehuk3wn10] {
    background: var(--accent-color-15);
    border-color: var(--accent-color-30);
    color: var(--text-primary);
    font-weight: 600;
}

.payout-employee[b-8ehuk3wn10] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-left: auto;
    min-width: 0;
}

.payout-employee-label[b-8ehuk3wn10] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.payout-employee-select[b-8ehuk3wn10] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.payout-employee-select:focus-visible[b-8ehuk3wn10] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* ── The list ──────────────────────────────────────────────────────────── */

.payout-linked[b-8ehuk3wn10] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.payout-linked-title[b-8ehuk3wn10] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.payout-list[b-8ehuk3wn10] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.payout-queue-loading[b-8ehuk3wn10] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.payout-pager[b-8ehuk3wn10] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
}

.payout-page[b-8ehuk3wn10] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
}

.payout-page:hover:not([disabled])[b-8ehuk3wn10] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.payout-page:focus-visible[b-8ehuk3wn10] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payout-page[disabled][b-8ehuk3wn10] {
    opacity: 0.4;
    cursor: default;
}

.payout-page-label[b-8ehuk3wn10] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 768px) {
    .payout-queue-head[b-8ehuk3wn10] {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-lg);
    }

    .payout-queue-actions[b-8ehuk3wn10] {
        justify-content: flex-start;
    }

    .payout-employee[b-8ehuk3wn10] {
        margin-left: 0;
        width: 100%;
    }

    .payout-employee-select[b-8ehuk3wn10] {
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* A payroll run's confirmation is the one strip that can outgrow a phone:
   twelve names, a total and a reference field. Below 640 the list gets its own
   scroll and the buttons go full width, so the two that matter stay reachable
   without scrolling the page under them. */
@media (max-width: 640px) {
    .payout-confirm[b-8ehuk3wn10] {
        padding: var(--space-lg);
    }

    .payout-confirm-title[b-8ehuk3wn10] {
        font-size: var(--text-base);
    }

    .payout-confirm-list[b-8ehuk3wn10] {
        max-height: 12rem;
    }

    .payout-confirm-row[b-8ehuk3wn10] {
        font-size: var(--text-xs);
    }

    .payout-confirm-actions[b-8ehuk3wn10] {
        flex-direction: column;
        align-items: stretch;
    }

    .payout-confirm-actions .payout-queue-button[b-8ehuk3wn10] {
        justify-content: center;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .payout-queue-button[b-8ehuk3wn10],
    .payout-queue-export[b-8ehuk3wn10],
    .payout-tab[b-8ehuk3wn10] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/PolicyEditor.razor.rz.scp.css */
/* PolicyEditor — twenty-one decisions, grouped by the question they answer.
   Tokens only. */

.policy[b-0spk7pkjgu] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.policy-head[b-0spk7pkjgu] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.policy-title[b-0spk7pkjgu] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 600;
}

.policy-sub[b-0spk7pkjgu] {
    margin: var(--space-2xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.policy-head-actions[b-0spk7pkjgu] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.policy-button[b-0spk7pkjgu] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.policy-button:hover:not([disabled])[b-0spk7pkjgu] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.policy-button:focus-visible[b-0spk7pkjgu] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.policy-button[disabled][b-0spk7pkjgu] {
    opacity: 0.5;
    cursor: default;
}

.policy-button-primary[b-0spk7pkjgu] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.policy-button-primary:hover:not([disabled])[b-0spk7pkjgu] {
    color: var(--text-inverse);
}

.policy-error[b-0spk7pkjgu] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-sm);
    color: var(--error-text);
    font-size: var(--text-sm);
}

.policy-group[b-0spk7pkjgu] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding: var(--space-lg) var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.policy-group-title[b-0spk7pkjgu] {
    margin: 0 0 var(--space-sm);
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.policy-row[b-0spk7pkjgu] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--border-subtle);
}

.policy-row:last-child[b-0spk7pkjgu] {
    border-bottom: none;
}

.policy-row-text[b-0spk7pkjgu] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    min-width: 0;
}

.policy-label[b-0spk7pkjgu] {
    color: var(--text-primary);
    font-size: var(--text-sm);
}

.policy-hint[b-0spk7pkjgu] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.policy-select[b-0spk7pkjgu],
.policy-input[b-0spk7pkjgu] {
    min-height: var(--tap-target-min);
    min-width: 11rem;
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.policy-select:focus-visible[b-0spk7pkjgu],
.policy-input:focus-visible[b-0spk7pkjgu] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.policy-number[b-0spk7pkjgu] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
}

.policy-input[b-0spk7pkjgu] {
    min-width: 7rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.policy-unit[b-0spk7pkjgu] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    min-width: 2.5rem;
}

/* ::deep — StatusChip is a child component and carries no scope attribute. */
.policy-row[b-0spk7pkjgu]  .policy-badge {
    justify-self: end;
}

@media (max-width: 768px) {
    .policy-group[b-0spk7pkjgu] {
        padding: var(--space-lg);
    }

    .policy-row[b-0spk7pkjgu] {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .policy-select[b-0spk7pkjgu],
    .policy-number[b-0spk7pkjgu] {
        grid-column: 1 / -1;
    }

    .policy-select[b-0spk7pkjgu],
    .policy-input[b-0spk7pkjgu] {
        width: 100%;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .policy-button[b-0spk7pkjgu] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/SettingsView.razor.rz.scp.css */
/* SettingsView — deployment-wide answers. Tokens only. */

.settings[b-jm02g5d9ws] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.settings-title[b-jm02g5d9ws] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.settings-sub[b-jm02g5d9ws] {
    margin: var(--space-xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.settings-loading[b-jm02g5d9ws] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.settings-card[b-jm02g5d9ws] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.settings-card-title[b-jm02g5d9ws] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.settings-fields[b-jm02g5d9ws] {
    display: flex;
    gap: var(--space-xl);
    flex-wrap: wrap;
    align-items: flex-end;
}

.settings-field[b-jm02g5d9ws] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
}

.settings-label[b-jm02g5d9ws] {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.settings-select[b-jm02g5d9ws],
.settings-input[b-jm02g5d9ws] {
    min-height: var(--tap-target-min);
    min-width: 16rem;
    padding: 0 var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-family: inherit;
    font-size: var(--text-sm);
}

.settings-select:focus-visible[b-jm02g5d9ws],
.settings-input:focus-visible[b-jm02g5d9ws] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.settings-preview[b-jm02g5d9ws] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--work-surface-inset);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.settings-note[b-jm02g5d9ws] {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

.settings-error[b-jm02g5d9ws] {
    margin: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-sm);
    color: var(--error-text);
    font-size: var(--text-sm);
}

.settings-facts[b-jm02g5d9ws] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin: 0;
}

.settings-fact[b-jm02g5d9ws] {
    display: flex;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.settings-fact dt[b-jm02g5d9ws] {
    min-width: 12rem;
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.settings-fact dd[b-jm02g5d9ws] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0;
    min-width: 0;
    color: var(--text-primary);
    font-size: var(--text-sm);
    overflow-wrap: anywhere;
}

.settings-fact-why[b-jm02g5d9ws] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.settings-actions[b-jm02g5d9ws] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.settings-button[b-jm02g5d9ws],
.settings-link[b-jm02g5d9ws] {
    display: inline-flex;
    align-items: center;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    text-decoration: none;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.settings-button:hover:not([disabled])[b-jm02g5d9ws],
.settings-link:hover[b-jm02g5d9ws] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.settings-button:focus-visible[b-jm02g5d9ws],
.settings-link:focus-visible[b-jm02g5d9ws] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.settings-button[disabled][b-jm02g5d9ws] {
    opacity: 0.5;
    cursor: default;
}

.settings-button-primary[b-jm02g5d9ws] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.settings-button-primary:hover:not([disabled])[b-jm02g5d9ws] {
    color: var(--text-inverse);
}

/* ::deep — DateField, TimeZonePicker and MudIcon are child components and
   carry no scope attribute of ours. */
.settings-card[b-jm02g5d9ws]  .settings-date,
.settings-card[b-jm02g5d9ws]  .settings-tz {
    min-width: 16rem;
    max-width: 34rem;
}

.settings-preview[b-jm02g5d9ws]  .mud-icon-root {
    color: var(--accent-color);
}

@media (max-width: 768px) {
    .settings-card[b-jm02g5d9ws] {
        padding: var(--space-lg);
    }

    .settings-fields[b-jm02g5d9ws] {
        flex-direction: column;
        align-items: stretch;
    }

    .settings-select[b-jm02g5d9ws],
    .settings-input[b-jm02g5d9ws] {
        width: 100%;
        min-width: 0;
    }

    .settings-fact dt[b-jm02g5d9ws] {
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .settings-button[b-jm02g5d9ws],
    .settings-link[b-jm02g5d9ws] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/StatTile.razor.rz.scp.css */
/* StatTile — one figure on the admin Overview grid. Tokens only. */

.stat-tile[b-d6keq4czgg] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    min-width: 0;
    padding: var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-left: 3px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-card-shadow);
    color: var(--text-primary);
    font-family: var(--font-primary);
    text-align: left;
}

.stat-tile-action[b-d6keq4czgg] {
    cursor: pointer;
    transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.stat-tile-action:hover:not([disabled])[b-d6keq4czgg] {
    border-color: var(--accent-color);
    transform: translateY(-1px);
}

.stat-tile-action:focus-visible[b-d6keq4czgg] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.stat-tile-action[disabled][b-d6keq4czgg] {
    cursor: default;
    opacity: 0.6;
}

.stat-tile-head[b-d6keq4czgg] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.stat-tile-label[b-d6keq4czgg] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stat-tile-value[b-d6keq4czgg] {
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.stat-tile-sub[b-d6keq4czgg] {
    color: var(--text-secondary);
    font-size: var(--text-xs);
}

/* ── Tones ─────────────────────────────────────────────────────────────── */

.stat-tile-good[b-d6keq4czgg] {
    border-left-color: var(--success-color);
}

.stat-tile-warn[b-d6keq4czgg] {
    border-left-color: var(--warning-color);
}

.stat-tile-alert[b-d6keq4czgg] {
    border-left-color: var(--error-color);
}

.stat-tile-warn .stat-tile-value[b-d6keq4czgg] {
    color: var(--warning-color);
}

.stat-tile-alert .stat-tile-value[b-d6keq4czgg] {
    color: var(--error-color);
}

/* ::deep — MudIcon is a child component and carries no scope attribute. */
.stat-tile-head[b-d6keq4czgg]  .mud-icon-root {
    color: inherit;
}

@media (max-width: 768px) {
    .stat-tile[b-d6keq4czgg] {
        padding: var(--space-lg);
    }

    .stat-tile-value[b-d6keq4czgg] {
        font-size: var(--text-xl);
    }
}

@media (prefers-reduced-motion: reduce) {
    .stat-tile-action[b-d6keq4czgg] {
        transition: none;
    }

    .stat-tile-action:hover:not([disabled])[b-d6keq4czgg] {
        transform: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/TeamView.razor.rz.scp.css */
/* TeamView — the roster, desktop-first. Tokens only. */

.team[b-3r4iyiqy2v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    min-width: 0;
    font-family: var(--font-primary);
}

.team-head[b-3r4iyiqy2v] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.team-title[b-3r4iyiqy2v] {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.team-count[b-3r4iyiqy2v] {
    margin: var(--space-xs) 0 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.team-head-actions[b-3r4iyiqy2v] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex-wrap: wrap;
}

.team-toggle[b-3r4iyiqy2v] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
    cursor: pointer;
}

.team-button[b-3r4iyiqy2v] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.team-button:hover:not([disabled])[b-3r4iyiqy2v] {
    border-color: var(--accent-color);
    color: var(--text-primary);
}

.team-button:focus-visible[b-3r4iyiqy2v] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.team-button[disabled][b-3r4iyiqy2v] {
    opacity: 0.5;
    cursor: default;
}

.team-button-primary[b-3r4iyiqy2v] {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-inverse);
    font-weight: 600;
}

.team-button-primary:hover:not([disabled])[b-3r4iyiqy2v] {
    color: var(--text-inverse);
}

.team-loading[b-3r4iyiqy2v] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

/* ── The roster ────────────────────────────────────────────────────────── */

.team-table[b-3r4iyiqy2v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    min-width: 0;
}

.team-row[b-3r4iyiqy2v] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) 8rem 8rem 7rem minmax(0, 1fr);
    align-items: center;
    gap: var(--space-lg);
    width: 100%;
    padding: var(--space-md) var(--space-lg);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    font-family: inherit;
    font-size: var(--text-sm);
    text-align: left;
    cursor: pointer;
    transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.team-row:hover[b-3r4iyiqy2v] {
    border-color: var(--accent-color);
    transform: translateY(-1px);
}

.team-row:focus-visible[b-3r4iyiqy2v] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.team-row-head[b-3r4iyiqy2v] {
    background: transparent;
    border: none;
    padding-bottom: var(--space-xs);
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: default;
}

.team-row-head:hover[b-3r4iyiqy2v] {
    border: none;
    transform: none;
}

.team-row-archived[b-3r4iyiqy2v] {
    opacity: 0.7;
}

.team-cell[b-3r4iyiqy2v] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    min-width: 0;
    font-variant-numeric: tabular-nums;
}

.team-cell-name[b-3r4iyiqy2v] {
    min-width: 0;
}

.team-name[b-3r4iyiqy2v] {
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-sub[b-3r4iyiqy2v] {
    color: var(--text-muted);
    font-size: var(--text-xs);
}

.team-warn[b-3r4iyiqy2v] {
    color: var(--warning-color);
}

.team-cell-end[b-3r4iyiqy2v] {
    text-align: right;
}

.team-cell-chips[b-3r4iyiqy2v] {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-xs);
    justify-content: flex-end;
}

@media (max-width: 960px) {
    .team-row[b-3r4iyiqy2v] {
        grid-template-columns: minmax(0, 1fr) auto;
        row-gap: var(--space-sm);
    }

    .team-row-head[b-3r4iyiqy2v] {
        display: none;
    }

    .team-cell-chips[b-3r4iyiqy2v] {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .team-head[b-3r4iyiqy2v] {
        align-items: stretch;
    }

    .team-row[b-3r4iyiqy2v] {
        padding: var(--space-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    .team-button[b-3r4iyiqy2v],
    .team-row[b-3r4iyiqy2v] {
        transition: none;
    }

    .team-row:hover[b-3r4iyiqy2v] {
        transform: none;
    }
}
/* _content/Ayva.Employee/Components/Admin/WorkAdminConsole.razor.rz.scp.css */
/* WorkAdminConsole — desktop-first (it is an operations console), but it
   still has to survive a phone: the tab strip scrolls horizontally rather
   than wrapping into a three-line block. Tokens only. */

.work-admin[b-9svlwtxj5h] {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    color: var(--text-primary);
    font-family: var(--font-primary);
}

/* ── Full-surface states ───────────────────────────────────────────────── */

.work-admin-centre[b-9svlwtxj5h] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    min-height: 60dvh;
    padding: var(--space-3xl) var(--space-xl);
    text-align: center;
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.work-admin-fatal[b-9svlwtxj5h] {
    color: var(--error-color);
}

/* ── Header ────────────────────────────────────────────────────────────── */

.work-admin-header[b-9svlwtxj5h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xl);
    padding: var(--space-lg) var(--space-2xl);
    background: var(--glass-dark);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-bottom: 1px solid var(--border-color);
}

.work-admin-brand[b-9svlwtxj5h] {
    display: flex;
    align-items: baseline;
    gap: var(--space-xl);
    min-width: 0;
}

.work-admin-title[b-9svlwtxj5h] {
    font-size: var(--text-xl);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.work-admin-link[b-9svlwtxj5h] {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--transition-fast);
}

.work-admin-link:hover[b-9svlwtxj5h] {
    color: var(--accent-color);
}

.work-admin-link:focus-visible[b-9svlwtxj5h] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

/* ── Tabs ──────────────────────────────────────────────────────────────── */

.work-admin-tabs[b-9svlwtxj5h] {
    display: flex;
    align-items: stretch;
    gap: var(--space-xs);
    padding: 0 var(--space-2xl);
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.work-admin-tabs[b-9svlwtxj5h]::-webkit-scrollbar {
    display: none;
}

.work-admin-tab[b-9svlwtxj5h] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    min-height: var(--tap-target-min);
    padding: var(--space-md) var(--space-lg);
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--transition-fast), border-color var(--transition-fast);
}

.work-admin-tab:hover[b-9svlwtxj5h] {
    color: var(--text-secondary);
}

.work-admin-tab:focus-visible[b-9svlwtxj5h] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.work-admin-tab-current[b-9svlwtxj5h] {
    /* -light: the tab strip sits on --bg-secondary, where the base accent is
       only 4.16:1. The underline keeps the saturated accent. */
    color: var(--accent-color-light);
    border-bottom-color: var(--accent-color);
}

.work-admin-tab-current[b-9svlwtxj5h]  .mud-icon-root {
    /* ::deep — MudIcon renders a child component with no scope attribute. */
    color: var(--accent-color-light);
}

/* ── Body ──────────────────────────────────────────────────────────────── */

.work-admin-body[b-9svlwtxj5h] {
    flex: 1 1 auto;
    padding: var(--space-2xl);
}

/* ── Phone ─────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .work-admin-header[b-9svlwtxj5h] {
        padding: var(--space-md) var(--space-lg);
    }

    .work-admin-brand[b-9svlwtxj5h] {
        gap: var(--space-md);
    }

    .work-admin-tabs[b-9svlwtxj5h] {
        padding: 0 var(--space-lg);
    }

    .work-admin-body[b-9svlwtxj5h] {
        padding: var(--space-lg);
    }
}

/* Phones: WRAP the tab strip instead of scrolling it.
   Six tabs are 681px wide — on a 390px viewport the strip becomes a
   horizontal scroller that opens at Overview, so a deep link to Payouts
   (what a notification sends) arrives with the CURRENT tab off-screen and
   nothing on screen saying which tab you are on. Scrolling it into view
   would need JS; wrapping costs one row of header and keeps every
   destination — and the current one — visible. */
@media (max-width: 640px) {
    .work-admin-tabs[b-9svlwtxj5h] {
        flex-wrap: wrap;
        overflow-x: visible;
        row-gap: 0;
    }

    .work-admin-tab[b-9svlwtxj5h] {
        flex: 1 1 auto;
        justify-content: center;
        padding: var(--space-sm) var(--space-md);
    }
}

@media (prefers-reduced-motion: reduce) {
    .work-admin-tab[b-9svlwtxj5h],
    .work-admin-link[b-9svlwtxj5h] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/AttentionStrip.razor.rz.scp.css */
/* AttentionStrip — a short stack of things waiting on the employee.
   Tone is a border and a tint, never the only signal: every line says what
   happened in words. */

.attention-strip[b-di0qjp6z67] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.attention-item[b-di0qjp6z67] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: var(--work-surface-inset);
}

.attention-body[b-di0qjp6z67] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    flex: 1 1 auto;
    min-width: 0;
}

.attention-title[b-di0qjp6z67] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.35;
}

.attention-note[b-di0qjp6z67] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.45;
}

.attention-item[b-di0qjp6z67]  .mud-icon-root {
    flex: 0 0 auto;
    margin-top: var(--space-2xs);
}

.attention-item-bad[b-di0qjp6z67] {
    background: var(--error-color-8);
    border-color: var(--error-color-30);
}

.attention-item-bad[b-di0qjp6z67]  .mud-icon-root {
    color: var(--error-color);
}

.attention-item-warn[b-di0qjp6z67] {
    background: var(--warning-color-10);
    border-color: var(--warning-color-30);
}

.attention-item-warn[b-di0qjp6z67]  .mud-icon-root {
    color: var(--warning-color);
}

.attention-item-info[b-di0qjp6z67] {
    background: var(--info-color-10);
    border-color: var(--info-color-30);
}

.attention-item-info[b-di0qjp6z67]  .mud-icon-root {
    color: var(--info-color);
}

.attention-fix[b-di0qjp6z67] {
    flex: 0 0 auto;
    align-self: center;
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.attention-fix:hover[b-di0qjp6z67] {
    color: var(--accent-color-light);
    border-color: var(--accent-color-40);
}

.attention-fix:focus-visible[b-di0qjp6z67] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .attention-fix[b-di0qjp6z67] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/BalanceCard.razor.rz.scp.css */
/* BalanceCard — a whole-card tap target, so the whole card is a <button>. */

.balance-card[b-jby9jm7eu7] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-lg) var(--space-xl);
    background: var(--work-surface-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xl);
    color: var(--text-primary);
    font-family: var(--font-primary);
    text-align: left;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.balance-card:hover[b-jby9jm7eu7] {
    background: var(--bg-hover);
    border-color: var(--accent-color-40);
}

.balance-card:focus-visible[b-jby9jm7eu7] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.balance-head[b-jby9jm7eu7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
}

.balance-title[b-jby9jm7eu7] {
    font-size: var(--text-3xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.balance-head[b-jby9jm7eu7]  .mud-icon-root {
    color: var(--text-muted);
}

.balance-figure[b-jby9jm7eu7] {
    font-size: var(--text-3xl);
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.balance-meta[b-jby9jm7eu7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.balance-blockers[b-jby9jm7eu7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-2xs);
}

@media (prefers-reduced-motion: reduce) {
    .balance-card[b-jby9jm7eu7] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/EntriesView.razor.rz.scp.css */
/* EntriesView — pager, filters, list. One column on a phone; the filter row
   splits onto one line the moment there is width for it. */

.entries-view[b-3wdsddx9bv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.entries-filters[b-3wdsddx9bv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.entries-chips[b-3wdsddx9bv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.entries-chip[b-3wdsddx9bv] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.entries-chip:hover[b-3wdsddx9bv] {
    background: var(--bg-hover);
}

.entries-chip:focus-visible[b-3wdsddx9bv] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.entries-chip-on[b-3wdsddx9bv] {
    background: var(--accent-color-15);
    border-color: var(--accent-color);
    /* -light, not --accent-color: the -15 fill lifts the pill enough that the
       base accent lands at 4.02:1 on its own background. */
    color: var(--accent-color-light);
}

.entries-labels .entries-chip[b-3wdsddx9bv] {
    font-weight: 500;
    max-width: 14rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entries-filter-row[b-3wdsddx9bv] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.entries-select[b-3wdsddx9bv] {
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    transition: border-color var(--transition-fast);
}

.entries-select:focus-visible[b-3wdsddx9bv] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
    border-color: var(--accent-color);
}

.entries-filter-row[b-3wdsddx9bv]  .entries-search {
    width: 100%;
}

.entries-clear[b-3wdsddx9bv] {
    align-self: flex-start;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: transparent;
    border: none;
    color: var(--accent-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
}

.entries-clear:focus-visible[b-3wdsddx9bv] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.entries-week[b-3wdsddx9bv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: var(--work-surface-row);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.entries-week:hover:not(:disabled)[b-3wdsddx9bv] {
    background: var(--bg-hover);
    border-color: var(--accent-color-40);
}

.entries-week:focus-visible[b-3wdsddx9bv] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.entries-week:disabled[b-3wdsddx9bv] {
    opacity: 0.45;
    cursor: default;
}

.entries-loading[b-3wdsddx9bv] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.entries-more[b-3wdsddx9bv] {
    align-self: center;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-xl);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.entries-more:hover:not(:disabled)[b-3wdsddx9bv] {
    background: var(--bg-hover);
}

.entries-more:focus-visible[b-3wdsddx9bv] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.entries-more:disabled[b-3wdsddx9bv] {
    opacity: 0.45;
    cursor: default;
}

@media (min-width: 641px) {
    .entries-filter-row[b-3wdsddx9bv] {
        flex-direction: row;
        align-items: center;
    }

    .entries-select[b-3wdsddx9bv] {
        width: auto;
        min-width: 12rem;
    }

    .entries-filter-row[b-3wdsddx9bv]  .entries-search {
        flex: 1 1 auto;
    }
}

@media (min-width: 769px) {
    .entries-view[b-3wdsddx9bv] {
        max-width: 60rem;
        margin: 0 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entries-chip[b-3wdsddx9bv],
    .entries-select[b-3wdsddx9bv],
    .entries-week[b-3wdsddx9bv],
    .entries-more[b-3wdsddx9bv] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/EntryForm.razor.rz.scp.css */
/* EntryForm — a single column on a phone, two on anything wider.
   Everything is a token; the tap targets clear --tap-target-min. */

.entry-form[b-uhjt3wrsp3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    font-family: var(--font-primary);
    color: var(--text-primary);
}

.entry-form-loading[b-uhjt3wrsp3] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.entry-form-field[b-uhjt3wrsp3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

/* ── Banners ───────────────────────────────────────────────────────────── */

.entry-form-locked[b-uhjt3wrsp3],
.entry-form-rejected[b-uhjt3wrsp3],
.entry-form-warning[b-uhjt3wrsp3] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.entry-form-locked[b-uhjt3wrsp3] {
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
}

.entry-form-rejected[b-uhjt3wrsp3] {
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
}

.entry-form-rejected[b-uhjt3wrsp3]  .mud-icon-root {
    color: var(--error-color);
}

.entry-form-warning[b-uhjt3wrsp3] {
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-30);
}

.entry-form-warning[b-uhjt3wrsp3]  .mud-icon-root {
    color: var(--warning-color);
}

.entry-form-locked[b-uhjt3wrsp3]  .mud-icon-root {
    color: var(--text-muted);
}

/* ── Segmented controls (kind tabs, time mode) ─────────────────────────── */

.entry-form-tabs[b-uhjt3wrsp3],
.entry-form-modes[b-uhjt3wrsp3] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: var(--space-2xs);
    padding: var(--space-2xs);
    /* Slate rather than the white-tint --bg-hover — see EntrySheet's
       .sheet-tabs: the tint lifts the track and fails the inactive label. */
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
}

.entry-form-tab[b-uhjt3wrsp3],
.entry-form-mode[b-uhjt3wrsp3] {
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-md);
    background: transparent;
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.entry-form-tab-current[b-uhjt3wrsp3],
.entry-form-mode-current[b-uhjt3wrsp3] {
    background: var(--accent-color-20);
    color: var(--text-primary);
}

.entry-form-tab:focus-visible[b-uhjt3wrsp3],
.entry-form-mode:focus-visible[b-uhjt3wrsp3] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.entry-form-tab:disabled[b-uhjt3wrsp3],
.entry-form-mode:disabled[b-uhjt3wrsp3] {
    opacity: 0.5;
    cursor: default;
}

/* ── Chips (dates, recent labels) ──────────────────────────────────────── */

.entry-form-chips[b-uhjt3wrsp3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.entry-form-chip[b-uhjt3wrsp3] {
    min-height: var(--tap-target-min);
    max-width: 100%;
    padding: var(--space-xs) var(--space-md);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.entry-form-chip-current[b-uhjt3wrsp3] {
    background: var(--accent-color-12);
    border-color: var(--accent-color-40);
    color: var(--text-primary);
}

.entry-form-chip:focus-visible[b-uhjt3wrsp3] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.entry-form-chip:disabled[b-uhjt3wrsp3] {
    opacity: 0.5;
    cursor: default;
}

/* ── Times ─────────────────────────────────────────────────────────────── */

.entry-form-times[b-uhjt3wrsp3] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
}

.entry-form-hint[b-uhjt3wrsp3] {
    font-size: var(--text-xs);
    color: var(--accent-color-light);
}

/* ── Errors ────────────────────────────────────────────────────────────── */

.entry-form-error[b-uhjt3wrsp3] {
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--error-color);
}

.entry-form-error-block[b-uhjt3wrsp3] {
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-md);
}

/* ── Overlap confirmation ──────────────────────────────────────────────── */

.entry-form-overlap[b-uhjt3wrsp3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-lg);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-40);
    border-radius: var(--radius-lg);
}

.entry-form-overlap-title[b-uhjt3wrsp3] {
    font-size: var(--text-sm);
    font-weight: 700;
}

.entry-form-overlap-list[b-uhjt3wrsp3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.entry-form-overlap-list li[b-uhjt3wrsp3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.entry-form-overlap-range[b-uhjt3wrsp3] {
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}

.entry-form-overlap-actions[b-uhjt3wrsp3] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
}

/* ── Actions ───────────────────────────────────────────────────────────── */

/* ── Customer / site association ─────────────────────────────────────── */

.entry-form-link-option[b-uhjt3wrsp3] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    min-width: 0;
}

.entry-form-link-option[b-uhjt3wrsp3]  .mud-icon-root {
    color: var(--text-muted);
    flex: none;
}

.entry-form-link-name[b-uhjt3wrsp3] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-primary);
}

.entry-form-link-detail[b-uhjt3wrsp3] {
    flex: none;
    font-size: var(--text-3xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.entry-form-actions[b-uhjt3wrsp3] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
    padding-top: var(--space-sm);
}

.entry-form-actions[b-uhjt3wrsp3]  .mud-button-root {
    min-height: var(--tap-target-min);
}

.entry-form-save[b-uhjt3wrsp3]  .mud-button-label,
.entry-form-actions[b-uhjt3wrsp3]  .mud-button-label {
    font-family: var(--font-primary);
}

@media (prefers-reduced-motion: reduce) {
    .entry-form-tab[b-uhjt3wrsp3],
    .entry-form-mode[b-uhjt3wrsp3],
    .entry-form-chip[b-uhjt3wrsp3] {
        transition: none;
    }
}

@media (min-width: 640px) {
    .entry-form-times[b-uhjt3wrsp3] {
        grid-template-columns: 1fr 1fr;
    }
}
/* _content/Ayva.Employee/Components/Employee/EntryHistory.razor.rz.scp.css */
/* EntryHistory — a plain timeline. Reading, not acting: no buttons, so no
   tap-target rules to keep. */

.entry-history[b-g9fluhcqk4] {
    display: flex;
    flex-direction: column;
    font-family: var(--font-primary);
}

.entry-history-loading[b-g9fluhcqk4] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xl) 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.entry-history-list[b-g9fluhcqk4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    margin: 0;
    padding: 0;
    list-style: none;
}

.entry-history-item[b-g9fluhcqk4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding-left: var(--space-md);
    border-left: 2px solid var(--border-color);
}

.entry-history-item-undone[b-g9fluhcqk4] {
    opacity: 0.6;
}

.entry-history-head[b-g9fluhcqk4] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.entry-history-summary[b-g9fluhcqk4] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.35;
}

.entry-history-who[b-g9fluhcqk4] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.entry-history-changes[b-g9fluhcqk4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: var(--space-xs) 0 0;
    padding: 0;
    list-style: none;
}

.entry-history-changes li[b-g9fluhcqk4] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.entry-history-field[b-g9fluhcqk4] {
    font-weight: 600;
    color: var(--text-muted);
    text-transform: capitalize;
}

.entry-history-before[b-g9fluhcqk4] {
    text-decoration: line-through;
}

.entry-history-after[b-g9fluhcqk4] {
    color: var(--text-primary);
}

.entry-history-changes[b-g9fluhcqk4]  .mud-icon-root {
    color: var(--text-muted);
}
/* _content/Ayva.Employee/Components/Employee/EntryList.razor.rz.scp.css */
/* EntryList — a plain stack. The rows own their own chrome; this sheet only
   places the day headers. */

.entry-list[b-5kr1mszucq] {
    display: flex;
    flex-direction: column;
}

.entry-group-head[b-5kr1mszucq] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-lg) 0 var(--space-xs);
}

.entry-group-day[b-5kr1mszucq] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.entry-group-total[b-5kr1mszucq] {
    font-size: var(--text-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-secondary);
}
/* _content/Ayva.Employee/Components/Employee/EntryListRow.razor.rz.scp.css */
/* EntryRow — a list row whose primary region is the tap target and whose
   overflow menu sits outside it (a button inside a button is invalid HTML
   and unreachable by keyboard). */

.entry-row[b-lri6fib3v4] {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    border-bottom: 1px solid var(--border-subtle);
}

.entry-row:last-child[b-lri6fib3v4] {
    border-bottom: none;
}

.entry-main[b-lri6fib3v4] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    width: 100%;
    min-height: calc(var(--tap-target-min) * 1.1);
    padding: var(--space-md) var(--space-xs) var(--space-md) 0;
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    text-align: left;
    cursor: pointer;
    border-radius: var(--radius-md);
    transition: background var(--transition-fast);
}

.entry-main:hover[b-lri6fib3v4] {
    background: var(--bg-hover);
}

.entry-main:focus-visible[b-lri6fib3v4] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.entry-icon[b-lri6fib3v4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: var(--space-3xl);
    height: var(--space-3xl);
    border-radius: var(--radius-full);
    background: var(--bg-hover);
}

.entry-icon[b-lri6fib3v4]  .mud-icon-root {
    color: var(--text-secondary);
}

.entry-text[b-lri6fib3v4] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    flex: 1 1 auto;
    min-width: 0;
}

.entry-title[b-lri6fib3v4] {
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entry-meta[b-lri6fib3v4] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entry-trailing[b-lri6fib3v4] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-2xs);
    flex: 0 0 auto;
}

.entry-figure[b-lri6fib3v4] {
    font-size: var(--text-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.entry-row-claimed .entry-figure[b-lri6fib3v4],
.entry-row-claimed .entry-title[b-lri6fib3v4] {
    color: var(--text-secondary);
}

/* The rejection note spans the full row width, below both columns. */
.entry-note[b-lri6fib3v4] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: 0 0 var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-8);
    border: 1px solid var(--error-color-30);
    border-radius: var(--radius-md);
}

.entry-note-text[b-lri6fib3v4] {
    flex: 1 1 auto;
    font-size: var(--text-xs);
    color: var(--text-primary);
    line-height: 1.45;
}

.entry-note-cta[b-lri6fib3v4] {
    flex: 0 0 auto;
    min-height: var(--tap-target-min);
    padding: var(--space-2xs) var(--space-md);
    background: transparent;
    border: 1px solid var(--error-color-40);
    border-radius: var(--radius-full);
    color: var(--error-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
}

.entry-note-cta:focus-visible[b-lri6fib3v4] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.entry-actions[b-lri6fib3v4] {
    flex: 0 0 auto;
}

.entry-actions[b-lri6fib3v4]  .mud-icon-button {
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    color: var(--text-muted);
}

@media (prefers-reduced-motion: reduce) {
    .entry-main[b-lri6fib3v4] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/EntrySheet.razor.rz.scp.css */
/* EntrySheet — only the title area. The sheet frame itself is
   `.mud-dialog.work-sheet` in mudblazor-overrides.css: MudDialogProvider
   renders the dialog node outside this component's tree, so no scoped rule
   here could ever match it. */

.sheet-title[b-zc8z9a8kkr] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    font-family: var(--font-primary);
}

.sheet-title-line[b-zc8z9a8kkr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
}

.sheet-close[b-zc8z9a8kkr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.sheet-close:hover[b-zc8z9a8kkr] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.sheet-close:focus-visible[b-zc8z9a8kkr] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.sheet-close[b-zc8z9a8kkr]  .mud-icon-root {
    color: inherit;
}

.sheet-heading[b-zc8z9a8kkr] {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.sheet-tabs[b-zc8z9a8kkr] {
    display: inline-flex;
    gap: var(--space-2xs);
    padding: var(--space-2xs);
    /* Slate, not the white-tint --bg-hover: over the sheet ground that tint
       lifts the track to #343e4e and drops the inactive tab's
       --text-secondary label to 4.20:1. */
    background: var(--work-surface-inset);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    align-self: flex-start;
}

.sheet-tab[b-zc8z9a8kkr] {
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-lg);
    background: transparent;
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.sheet-tab-current[b-zc8z9a8kkr] {
    background: var(--accent-color-20);
    color: var(--text-primary);
}

.sheet-tab:focus-visible[b-zc8z9a8kkr] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
    .sheet-tab[b-zc8z9a8kkr],
    .sheet-close[b-zc8z9a8kkr] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/MeView.razor.rz.scp.css */
/* MeView — a stack of cards, each answering one question about "me".
   Cards rather than one long form: the settings you change, the account you
   linked, and the rules you work under are three different conversations. */

.me-view[b-2wfanxqgzc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.me-loading[b-2wfanxqgzc] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.me-card[b-2wfanxqgzc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-lg) var(--space-xl);
    background: var(--work-surface-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xl);
    font-family: var(--font-primary);
    color: var(--text-primary);
}

.me-card-title[b-2wfanxqgzc] {
    margin: 0;
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.me-identity[b-2wfanxqgzc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
}

.me-name[b-2wfanxqgzc] {
    font-size: var(--text-xl);
    font-weight: 700;
    line-height: 1.2;
}

.me-rates[b-2wfanxqgzc] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: var(--space-md);
    margin: 0;
}

.me-rate dt[b-2wfanxqgzc] {
    font-size: var(--text-3xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.me-rate dd[b-2wfanxqgzc] {
    margin: var(--space-2xs) 0 0;
    font-size: var(--text-lg);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.me-note[b-2wfanxqgzc] {
    margin: 0;
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.me-input[b-2wfanxqgzc] {
    width: 100%;
}

.me-switch[b-2wfanxqgzc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.me-switch-hint[b-2wfanxqgzc] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.me-error[b-2wfanxqgzc] {
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-10);
    border: 1px solid var(--error-color-40);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    color: var(--error-color);
}

.me-actions[b-2wfanxqgzc] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-md);
}

.me-actions[b-2wfanxqgzc]  .me-save {
    min-height: var(--tap-target-min);
    border-radius: var(--radius-full);
}

.me-revert[b-2wfanxqgzc],
.me-unlink[b-2wfanxqgzc],
.me-link[b-2wfanxqgzc] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.me-unlink[b-2wfanxqgzc] {
    align-self: flex-start;
    color: var(--error-color);
    border-color: var(--error-color-40);
}

.me-revert:hover:not(:disabled)[b-2wfanxqgzc],
.me-unlink:hover:not(:disabled)[b-2wfanxqgzc],
.me-link:hover[b-2wfanxqgzc] {
    background: var(--bg-hover);
}

.me-revert:focus-visible[b-2wfanxqgzc],
.me-unlink:focus-visible[b-2wfanxqgzc],
.me-link:focus-visible[b-2wfanxqgzc] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.me-revert:disabled[b-2wfanxqgzc],
.me-unlink:disabled[b-2wfanxqgzc] {
    opacity: 0.45;
    cursor: default;
}

.me-discord[b-2wfanxqgzc] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.me-discord-name[b-2wfanxqgzc] {
    font-size: var(--text-base);
    font-weight: 600;
}

.me-gates[b-2wfanxqgzc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.me-gate[b-2wfanxqgzc] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-2xs) var(--space-sm);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    font-size: var(--text-3xs);
    font-weight: 600;
}

.me-gate-on[b-2wfanxqgzc] {
    color: var(--success-color);
    border-color: var(--success-color-40);
}

.me-gate-off[b-2wfanxqgzc] {
    color: var(--text-muted);
    opacity: 0.75;
}

.me-gates[b-2wfanxqgzc]  .mud-icon-root {
    font-size: var(--text-sm);
}

.me-rules[b-2wfanxqgzc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin: 0;
    padding-left: var(--space-lg);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.me-links[b-2wfanxqgzc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

@media (prefers-reduced-motion: reduce) {
    .me-revert[b-2wfanxqgzc],
    .me-unlink[b-2wfanxqgzc],
    .me-link[b-2wfanxqgzc] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/MyActivityList.razor.rz.scp.css */
/* MyActivityList — a ledger of changes, not a feed of noise. One line per
   action, the diff indented under it, and the Undo where the thumb is. */

.activity[b-mjbd4it659] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.activity-head[b-mjbd4it659] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
}

.activity-title[b-mjbd4it659] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.activity-count[b-mjbd4it659] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
}

.activity-loading[b-mjbd4it659] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xl) 0;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

.activity-list[b-mjbd4it659] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.activity-item[b-mjbd4it659] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding: var(--space-md);
    background: var(--work-surface-row);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    font-family: var(--font-primary);
}

.activity-item-undone[b-mjbd4it659] {
    opacity: 0.6;
}

.activity-line[b-mjbd4it659] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
}

.activity-summary[b-mjbd4it659] {
    flex: 1 1 auto;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
}

.activity-undo[b-mjbd4it659] {
    flex: 0 0 auto;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    /* -light: this button rides on a --work-surface-row activity item, where
       the base accent is 4.43:1. */
    color: var(--accent-color-light);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.activity-undo:hover:not(:disabled)[b-mjbd4it659] {
    background: var(--bg-hover);
    border-color: var(--accent-color-40);
}

.activity-undo:focus-visible[b-mjbd4it659] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.activity-undo:disabled[b-mjbd4it659] {
    opacity: 0.45;
    cursor: default;
}

.activity-who[b-mjbd4it659] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.activity-changes[b-mjbd4it659] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: var(--space-2xs) 0 0;
    padding: 0;
    list-style: none;
    font-size: var(--text-3xs);
    color: var(--text-secondary);
}

.activity-changes li[b-mjbd4it659] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2xs);
}

.activity-field[b-mjbd4it659] {
    font-weight: 600;
    color: var(--text-muted);
}

.activity-before[b-mjbd4it659] {
    text-decoration: line-through;
    color: var(--text-muted);
}

.activity-after[b-mjbd4it659] {
    color: var(--text-primary);
}

.activity-changes[b-mjbd4it659]  .mud-icon-root {
    font-size: var(--text-sm);
    color: var(--text-muted);
}

.activity-more[b-mjbd4it659] {
    align-self: center;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-xl);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.activity-more:hover:not(:disabled)[b-mjbd4it659] {
    background: var(--bg-hover);
}

.activity-more:focus-visible[b-mjbd4it659] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.activity-more:disabled[b-mjbd4it659] {
    opacity: 0.45;
    cursor: default;
}

@media (prefers-reduced-motion: reduce) {
    .activity-undo[b-mjbd4it659],
    .activity-more[b-mjbd4it659] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/PayoutDetailSheet.razor.rz.scp.css */
/* PayoutDetailSheet — the figure, then why, then what it covers. */

.detail-title[b-mosv46juuy] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
}

.detail-title-line[b-mosv46juuy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
}

.detail-heading[b-mosv46juuy] {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.detail-close[b-mosv46juuy] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-muted);
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.detail-close:hover[b-mosv46juuy] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.detail-close:focus-visible[b-mosv46juuy] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.detail-loading[b-mosv46juuy] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.detail-head[b-mosv46juuy] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2xs);
    font-family: var(--font-primary);
}

.detail-head[b-mosv46juuy]  .detail-chip {
    margin-bottom: var(--space-2xs);
}

.detail-amount[b-mosv46juuy] {
    font-size: var(--text-3xl);
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}

.detail-through[b-mosv46juuy] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.detail-reason[b-mosv46juuy] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin-top: var(--space-lg);
    padding: var(--space-md);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-40);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
}

.detail-reason-title[b-mosv46juuy] {
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--warning-color);
}

.detail-reason-text[b-mosv46juuy] {
    font-size: var(--text-sm);
    color: var(--text-primary);
}

.detail-totals[b-mosv46juuy] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
    gap: var(--space-md);
    margin: var(--space-lg) 0 0;
    font-family: var(--font-primary);
}

.detail-totals dt[b-mosv46juuy] {
    font-size: var(--text-3xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.detail-totals dd[b-mosv46juuy] {
    margin: var(--space-2xs) 0 0;
    font-size: var(--text-base);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}

.detail-note[b-mosv46juuy],
.detail-reference[b-mosv46juuy] {
    margin: var(--space-lg) 0 0;
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.detail-note span[b-mosv46juuy],
.detail-reference span[b-mosv46juuy] {
    font-weight: 700;
    color: var(--text-muted);
}

.detail-timeline[b-mosv46juuy] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    margin: var(--space-lg) 0 0;
    padding: 0;
    list-style: none;
    font-family: var(--font-primary);
}

.detail-timeline li[b-mosv46juuy] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
    font-size: var(--text-xs);
}

.detail-step[b-mosv46juuy] {
    font-weight: 600;
    color: var(--text-primary);
}

.detail-when[b-mosv46juuy] {
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

.detail-entries[b-mosv46juuy] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-top: var(--space-xl);
}

.detail-entries-title[b-mosv46juuy] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

[b-mosv46juuy] .detail-cancel,
[b-mosv46juuy] .detail-done {
    min-height: var(--tap-target-min);
    border-radius: var(--radius-full);
}

@media (prefers-reduced-motion: reduce) {
    .detail-close[b-mosv46juuy] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/PayoutList.razor.rz.scp.css */
/* PayoutList — the same row grammar as the ledger: a whole-row tap target,
   the figure and chip on the right, the reason underneath when there is one. */

.payout-list[b-zt6948sn0z] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.payout-row[b-zt6948sn0z] {
    display: flex;
    flex-direction: column;
    background: var(--work-surface-row);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.payout-main[b-zt6948sn0z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-md);
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-family: var(--font-primary);
    text-align: left;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.payout-main:hover[b-zt6948sn0z] {
    background: var(--bg-hover);
}

.payout-main:focus-visible[b-zt6948sn0z] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.payout-text[b-zt6948sn0z] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    min-width: 0;
}

.payout-title[b-zt6948sn0z] {
    font-size: var(--text-sm);
    font-weight: 600;
}

.payout-meta[b-zt6948sn0z] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.payout-trailing[b-zt6948sn0z] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-2xs);
    flex: 0 0 auto;
}

.payout-figure[b-zt6948sn0z] {
    font-size: var(--text-base);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.payout-reason[b-zt6948sn0z] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0 var(--space-md) var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-40);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
}

.payout-reason-title[b-zt6948sn0z] {
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--warning-color);
}

.payout-reason-text[b-zt6948sn0z] {
    font-size: var(--text-xs);
    color: var(--text-primary);
}

.payout-actions[b-zt6948sn0z] {
    display: flex;
    justify-content: flex-end;
    padding: 0 var(--space-md) var(--space-md);
}

.payout-cancel[b-zt6948sn0z] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-lg);
    background: transparent;
    border: 1px solid var(--error-color-40);
    border-radius: var(--radius-full);
    color: var(--error-color);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.payout-cancel:hover:not(:disabled)[b-zt6948sn0z] {
    background: var(--bg-hover);
}

.payout-cancel:focus-visible[b-zt6948sn0z] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payout-cancel:disabled[b-zt6948sn0z] {
    opacity: 0.45;
    cursor: default;
}

@media (prefers-reduced-motion: reduce) {
    .payout-main[b-zt6948sn0z],
    .payout-cancel[b-zt6948sn0z] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/PayoutRequestSheet.razor.rz.scp.css */
/* PayoutRequestSheet — one date, one figure, one note. The figure is the
   biggest thing on the sheet because it is the answer to the question. */

.request-title[b-sbkz8v06wm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    width: 100%;
}

.request-heading[b-sbkz8v06wm] {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.request-close[b-sbkz8v06wm] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-muted);
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.request-close:hover[b-sbkz8v06wm] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.request-close:focus-visible[b-sbkz8v06wm] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.request-figure[b-sbkz8v06wm] {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
    margin: var(--space-lg) 0 var(--space-sm);
    font-family: var(--font-primary);
}

.request-amount[b-sbkz8v06wm] {
    font-size: var(--text-3xl);
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
    color: var(--text-primary);
}

.request-count[b-sbkz8v06wm],
.request-figure-loading[b-sbkz8v06wm] {
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.request-excluded[b-sbkz8v06wm] {
    margin: 0 0 var(--space-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

[b-sbkz8v06wm] .request-note {
    width: 100%;
}

.request-error[b-sbkz8v06wm] {
    margin-top: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-10);
    border: 1px solid var(--error-color-40);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--error-color);
}

.request-blocked[b-sbkz8v06wm] {
    margin-top: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--work-surface-row);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

[b-sbkz8v06wm] .request-submit {
    min-height: var(--tap-target-min);
    border-radius: var(--radius-full);
}

@media (prefers-reduced-motion: reduce) {
    .request-close[b-sbkz8v06wm] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/PayoutsView.razor.rz.scp.css */
/* PayoutsView — one headline figure, then the history. The eligible card is
   deliberately the loudest thing on the screen: it is why the tab was opened. */

.payouts-view[b-4dfiv5amc5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.payouts-eligible[b-4dfiv5amc5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-lg) var(--space-xl);
    background: var(--work-surface-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xl);
    font-family: var(--font-primary);
    color: var(--text-primary);
}

.payouts-eligible-head[b-4dfiv5amc5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
}

.payouts-eligible-title[b-4dfiv5amc5] {
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.payouts-eligible-figure[b-4dfiv5amc5] {
    font-size: var(--text-4xl);
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.payouts-eligible-meta[b-4dfiv5amc5] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.payouts-blockers[b-4dfiv5amc5] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-2xs);
}

.payouts-request[b-4dfiv5amc5] {
    align-self: flex-start;
    min-height: var(--tap-target-min);
    margin-top: var(--space-md);
    padding: 0 var(--space-xl);
    background: var(--accent-color);
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-inverse);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 700;
    cursor: pointer;
    transition: opacity var(--transition-fast);
}

.payouts-request:hover:not(:disabled)[b-4dfiv5amc5] {
    opacity: 0.9;
}

.payouts-request:focus-visible[b-4dfiv5amc5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payouts-request:disabled[b-4dfiv5amc5] {
    opacity: 0.4;
    cursor: default;
}

.payouts-request-reason[b-4dfiv5amc5] {
    margin-top: var(--space-2xs);
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.payouts-loading[b-4dfiv5amc5] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.payouts-history[b-4dfiv5amc5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.payouts-history-head[b-4dfiv5amc5] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
}

.payouts-history-title[b-4dfiv5amc5] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.payouts-history-count[b-4dfiv5amc5] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
}

.payouts-more[b-4dfiv5amc5] {
    align-self: center;
    min-height: var(--tap-target-min);
    padding: 0 var(--space-xl);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.payouts-more:hover:not(:disabled)[b-4dfiv5amc5] {
    background: var(--bg-hover);
}

.payouts-more:focus-visible[b-4dfiv5amc5] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.payouts-more:disabled[b-4dfiv5amc5] {
    opacity: 0.45;
    cursor: default;
}

@media (min-width: 769px) {
    .payouts-view[b-4dfiv5amc5] {
        max-width: 60rem;
        margin: 0 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .payouts-request[b-4dfiv5amc5],
    .payouts-more[b-4dfiv5amc5] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/QuickActions.razor.rz.scp.css */
/* QuickActions — one row of equal-width tap targets, thumb-reachable. */

.quick-actions[b-9ulzck39e0] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: var(--space-sm);
}

.quick-action[b-9ulzck39e0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    min-height: calc(var(--tap-target-min) * 1.4);
    padding: var(--space-md) var(--space-xs);
    background: var(--work-surface-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    color: var(--text-primary);
    font-family: var(--font-primary);
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
}

.quick-action:not(:disabled):hover[b-9ulzck39e0] {
    background: var(--bg-hover);
    border-color: var(--accent-color-40);
}

.quick-action:focus-visible[b-9ulzck39e0] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.quick-action:disabled[b-9ulzck39e0] {
    opacity: 0.5;
    cursor: default;
}

.quick-action[b-9ulzck39e0]  .mud-icon-root {
    color: var(--accent-color-light);
}

.quick-action-label[b-9ulzck39e0] {
    font-size: var(--text-3xs);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-align: center;
    line-height: 1.2;
}

@media (prefers-reduced-motion: reduce) {
    .quick-action[b-9ulzck39e0] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/TimerCard.razor.rz.scp.css */
/* TimerCard — the biggest tap target in the app, mobile-first.
   Tokens only (docs/UI_DESIGN.md §"Centralized Variables Only"); the
   72px start/stop control is --work-timer-size. */

.timer-card[b-87yx6nzurq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    padding: var(--space-xl);
    background: var(--glass-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-2xl);
    box-shadow: var(--glass-card-shadow);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
}

.timer-card-running[b-87yx6nzurq] {
    border-color: var(--accent-color-40);
    box-shadow: var(--shadow-glow);
}

/* ── Idle ──────────────────────────────────────────────────────────────── */

.timer-idle[b-87yx6nzurq],
.timer-running[b-87yx6nzurq] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    align-items: stretch;
}

/* MudTextField renders its own tree, so its input needs ::deep to be
   reachable from this component's scope. */
.timer-label-field[b-87yx6nzurq]  .mud-input-root {
    font-family: var(--font-primary);
    font-size: var(--text-base);
}

/* ── The button ────────────────────────────────────────────────────────── */

.timer-button[b-87yx6nzurq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2xs);
    align-self: center;
    width: var(--work-timer-size);
    height: var(--work-timer-size);
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-inverse);
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.timer-button:disabled[b-87yx6nzurq] {
    opacity: 0.5;
    cursor: default;
}

.timer-button:not(:disabled):active[b-87yx6nzurq] {
    transform: scale(0.96);
}

.timer-button:focus-visible[b-87yx6nzurq] {
    outline: 2px solid var(--accent-color);
    outline-offset: 3px;
}

.timer-button-start[b-87yx6nzurq] {
    background: var(--accent-gradient);
    box-shadow: var(--shadow-accent);
}

.timer-button-stop[b-87yx6nzurq] {
    /* --work-stop-bg (red-600), not --error-color (red-500): the label is
       10px/700 white, which needs 4.5:1 and only gets 3.76:1 on red-500. */
    background: var(--work-stop-bg);
    color: var(--text-white);
    box-shadow: var(--shadow-md);
}

.timer-button[b-87yx6nzurq]  .mud-icon-root {
    color: inherit;
}

.timer-button-text[b-87yx6nzurq] {
    line-height: 1;
}

/* ── Running readout ───────────────────────────────────────────────────── */

.timer-readout[b-87yx6nzurq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    text-align: center;
}

.timer-elapsed[b-87yx6nzurq] {
    font-family: var(--font-mono);
    font-size: var(--text-4xl);
    font-weight: 700;
    line-height: 1;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.timer-started[b-87yx6nzurq] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.timer-actions[b-87yx6nzurq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.timer-discard[b-87yx6nzurq] {
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: color var(--transition-fast), border-color var(--transition-fast);
}

.timer-discard:not(:disabled):hover[b-87yx6nzurq] {
    color: var(--error-color);
    border-color: var(--error-color);
}

.timer-discard:disabled[b-87yx6nzurq] {
    opacity: 0.5;
    cursor: default;
}

/* ── Nags ──────────────────────────────────────────────────────────────── */

.timer-nag[b-87yx6nzurq] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-lg);
    background: var(--info-color-10);
    border: 1px solid var(--info-color-30);
    color: var(--text-primary);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.timer-nag[b-87yx6nzurq]  .mud-icon-root {
    color: var(--info-color);
    flex: 0 0 auto;
}

.timer-nag-hard[b-87yx6nzurq] {
    background: var(--warning-color-10);
    border-color: var(--warning-color-30);
}

.timer-nag-hard[b-87yx6nzurq]  .mud-icon-root {
    color: var(--warning-color);
}

/* ── Repeat last ───────────────────────────────────────────────────────── */

.timer-repeat[b-87yx6nzurq] {
    display: flex;
    justify-content: center;
}

.timer-repeat-button[b-87yx6nzurq] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    min-height: var(--tap-target-min);
    padding: var(--space-xs) var(--space-md);
    max-width: 100%;
    background: transparent;
    border: 1px dashed var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    cursor: pointer;
    overflow: hidden;
    transition: color var(--transition-fast), border-color var(--transition-fast);
}

.timer-repeat-button span[b-87yx6nzurq] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.timer-repeat-button:not(:disabled):hover[b-87yx6nzurq] {
    color: var(--accent-color-light);
    border-color: var(--accent-color-40);
}

.timer-repeat-button:disabled[b-87yx6nzurq] {
    opacity: 0.45;
    cursor: default;
}

@media (prefers-reduced-motion: reduce) {
    .timer-button[b-87yx6nzurq],
    .timer-discard[b-87yx6nzurq],
    .timer-repeat-button[b-87yx6nzurq] {
        transition: none;
    }
}

@media (min-width: 769px) {
    /* On a wider screen the idle row can put the label and the button
       side by side instead of stacking them. */
    .timer-idle[b-87yx6nzurq] {
        flex-direction: row;
        align-items: center;
    }

    .timer-label-field[b-87yx6nzurq] {
        flex: 1 1 auto;
    }
}
/* _content/Ayva.Employee/Components/Employee/TimeZonePicker.razor.rz.scp.css */
/* TimeZonePicker — the native select, dressed to match DateField/TimeField.
   The .work-field frame is deliberately re-spelled rather than shared: CSS
   isolation scopes every rule to ONE component's scope attribute, so a
   "shared" class would have to live in a global sheet and leak app-wide. */

.tz-picker[b-95cq4ssnal] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
}

.tz-label[b-95cq4ssnal] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.tz-select[b-95cq4ssnal] {
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-base);
    transition: border-color var(--transition-fast);
}

.tz-select:hover:not(:disabled)[b-95cq4ssnal] {
    border-color: var(--accent-color-40);
}

.tz-select:focus-visible[b-95cq4ssnal] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
    border-color: var(--accent-color);
}

.tz-select:disabled[b-95cq4ssnal] {
    opacity: 0.5;
    cursor: default;
}

.tz-actions[b-95cq4ssnal] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
}

.tz-detect[b-95cq4ssnal] {
    min-height: var(--tap-target-min);
    padding: 0 var(--space-md);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    /* -light: this button sits on a --work-surface-card, where the base
       accent is 4.22:1. */
    color: var(--accent-color-light);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.tz-detect:hover:not(:disabled)[b-95cq4ssnal] {
    background: var(--bg-hover);
    border-color: var(--accent-color-40);
}

.tz-detect:focus-visible[b-95cq4ssnal] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.tz-detect:disabled[b-95cq4ssnal] {
    opacity: 0.45;
    cursor: default;
    color: var(--text-muted);
}

.tz-message[b-95cq4ssnal] {
    flex: 1 1 12rem;
    font-size: var(--text-3xs);
    color: var(--text-secondary);
}

.tz-hint[b-95cq4ssnal] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

@media (prefers-reduced-motion: reduce) {
    .tz-select[b-95cq4ssnal],
    .tz-detect[b-95cq4ssnal] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/TodayView.razor.rz.scp.css */
/* TodayView — one column, generous vertical rhythm, nothing fighting for the
   thumb. The shell already pads the view region and reserves the bottom nav. */

.today-view[b-9pqokpfswo] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.today-list[b-9pqokpfswo] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.today-list-head[b-9pqokpfswo] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
}

.today-list-day[b-9pqokpfswo] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.today-list-total[b-9pqokpfswo] {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-secondary);
}

.today-loading[b-9pqokpfswo] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-sm);
}

@media (min-width: 769px) {
    /* A desktop can afford the week and the balance side by side; the phone
       column order is the one that matters and is left untouched. */
    .today-view[b-9pqokpfswo] {
        max-width: 60rem;
        margin: 0 auto;
    }
}
/* _content/Ayva.Employee/Components/Employee/WeekGridSheet.razor.rz.scp.css */
/* WeekGridSheet — seven fields and, under each, the sentence that stops the
   grid looking like it ate your hours. The bottom-sheet frame itself is the
   `work-sheet` class in mudblazor-overrides.css (a scoped rule can never
   reach .mud-dialog, which the provider renders outside this tree). */

.grid-title[b-t9i327wba8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
}

.grid-title-line[b-t9i327wba8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
}

.grid-heading[b-t9i327wba8] {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--text-primary);
}

.grid-close[b-t9i327wba8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: none;
    border-radius: var(--radius-full);
    color: var(--text-muted);
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.grid-close:hover[b-t9i327wba8] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.grid-close:focus-visible[b-t9i327wba8] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.grid-week[b-t9i327wba8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
}

.grid-week-arrow[b-t9i327wba8] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.grid-week-arrow:hover:not(:disabled)[b-t9i327wba8] {
    background: var(--bg-hover);
}

.grid-week-arrow:focus-visible[b-t9i327wba8] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.grid-week-arrow:disabled[b-t9i327wba8] {
    opacity: 0.4;
    cursor: default;
}

.grid-week-label[b-t9i327wba8] {
    flex: 1 1 auto;
    text-align: center;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-secondary);
}

.grid-week-locked[b-t9i327wba8] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.grid-loading[b-t9i327wba8] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.grid-days[b-t9i327wba8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.grid-day[b-t9i327wba8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.grid-day-head[b-t9i327wba8] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.grid-day-name[b-t9i327wba8] {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--text-secondary);
}

.grid-day[b-t9i327wba8]  .grid-day-input,
.grid-label[b-t9i327wba8] {
    width: 100%;
}

.grid-day-other[b-t9i327wba8] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    color: var(--accent-color);
}

.grid-day-preview[b-t9i327wba8] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.grid-warnings[b-t9i327wba8] {
    margin-top: var(--space-lg);
    padding: var(--space-md);
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color-40);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.grid-warnings-title[b-t9i327wba8] {
    display: block;
    margin-bottom: var(--space-2xs);
    font-weight: 700;
    color: var(--warning-color);
}

.grid-warnings ul[b-t9i327wba8] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    margin: 0;
    padding-left: var(--space-lg);
}

.grid-error[b-t9i327wba8] {
    margin-top: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--error-color-10);
    border: 1px solid var(--error-color-40);
    border-radius: var(--radius-md);
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    color: var(--error-color);
}

[b-t9i327wba8] .grid-save {
    min-height: var(--tap-target-min);
    border-radius: var(--radius-full);
}

@media (prefers-reduced-motion: reduce) {
    .grid-close[b-t9i327wba8],
    .grid-week-arrow[b-t9i327wba8] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/WeekStrip.razor.rz.scp.css */
/* WeekStrip — seven equal columns, each one a real tap target. */

.week-strip[b-f7tct745b8] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: var(--space-2xs);
}

.week-day[b-f7tct745b8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2xs);
    min-height: var(--tap-target-min);
    padding: var(--space-sm) var(--space-2xs);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-lg);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.week-day:not(:disabled):hover[b-f7tct745b8] {
    background: var(--bg-hover);
}

.week-day:focus-visible[b-f7tct745b8] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
}

.week-day-name[b-f7tct745b8] {
    font-size: var(--text-5xs);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.week-day-number[b-f7tct745b8] {
    font-size: var(--text-base);
    font-weight: 600;
    line-height: 1;
    color: var(--text-primary);
}

.week-day-total[b-f7tct745b8] {
    font-size: var(--text-5xs);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Today is marked even when another day is selected — losing "where am I"
   is the fastest way to log eight hours onto the wrong date. */
.week-day-today .week-day-number[b-f7tct745b8] {
    color: var(--accent-color-light);
}

.week-day-current[b-f7tct745b8] {
    background: var(--accent-color-12);
    border-color: var(--accent-color-40);
    color: var(--text-primary);
}

@media (prefers-reduced-motion: reduce) {
    .week-day[b-f7tct745b8] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Employee/WorkApp.razor.rz.scp.css */
/* WorkApp — the employee shell. Mobile-first: everything below is the phone
   layout, and the 769px query adds what a bigger screen can afford.
   Tokens only (docs/UI_DESIGN.md §"Centralized Variables Only"). */

.work-app[b-5h4t8fu1e4] {
    display: block;
    width: 100%;
    color: var(--text-primary);
    font-family: var(--font-primary);
}

/* ── Full-surface states (loading / fatal / no profile) ─────────────────── */

.work-app-centre[b-5h4t8fu1e4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    min-height: 60dvh;
    padding: var(--space-3xl) var(--space-xl);
    text-align: center;
}

.work-app-centre-title[b-5h4t8fu1e4] {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
}

.work-app-centre-text[b-5h4t8fu1e4] {
    max-width: 28rem;
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--text-secondary);
}

.work-app-fatal[b-5h4t8fu1e4] {
    color: var(--error-color);
}

/* These three branches render OUTSIDE .work-shell, so MyWorkPanel's
   `::deep .work-shell { min-height: 0 }` never reaches them — inside a /coms
   panel the "No employee record yet" state would otherwise claim 60% of the
   viewport. The .work-app-embedded class is emitted by the component itself
   (work-app-@Chrome), so this stays in WorkApp's own scope. */
.work-app-embedded .work-app-centre[b-5h4t8fu1e4] {
    min-height: 0;
    padding: var(--space-2xl) var(--space-lg);
}

.work-app-noprofile[b-5h4t8fu1e4]  .mud-icon-root,
.work-app-fatal[b-5h4t8fu1e4]  .mud-icon-root {
    /* ::deep is required: MudIcon is a child component, so its rendered
       .mud-icon-root carries no scope attribute of ours. */
    color: var(--text-muted);
}

/* ── Shell ─────────────────────────────────────────────────────────────── */

.work-shell[b-5h4t8fu1e4] {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

.work-header[b-5h4t8fu1e4] {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: calc(env(safe-area-inset-top, 0px) + var(--space-xl)) var(--space-xl) var(--space-md);
    background: var(--glass-dark);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-bottom: 1px solid var(--border-color);
}

.work-header-line[b-5h4t8fu1e4] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
}

.work-header-title[b-5h4t8fu1e4] {
    font-size: var(--text-2xl);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.work-header-who[b-5h4t8fu1e4] {
    font-size: var(--text-xs);
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Inactive banner ───────────────────────────────────────────────────── */

.work-banner[b-5h4t8fu1e4] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: var(--space-md) var(--space-xl) 0;
    padding: var(--space-md) var(--space-lg);
    border-radius: var(--radius-lg);
    font-size: var(--text-sm);
    line-height: 1.5;
}

.work-banner-inactive[b-5h4t8fu1e4] {
    background: var(--warning-color-10);
    border: 1px solid var(--warning-color);
    color: var(--text-primary);
}

.work-banner-inactive[b-5h4t8fu1e4]  .mud-icon-root {
    color: var(--warning-color);
    flex: 0 0 auto;
}

/* ── View region ───────────────────────────────────────────────────────── */

.work-view[b-5h4t8fu1e4] {
    flex: 1 1 auto;
    padding: var(--space-lg) var(--space-xl) var(--space-2xl);
}

/* ── Bottom nav ────────────────────────────────────────────────────────── */

/* The nav itself is WorkNav's own scoped sheet. What belongs to WorkApp is
   where the EMBEDDED nav sits in this layout — ::deep because .work-nav is
   rendered by a child component and carries WorkNav's scope, not ours. */
.work-app[b-5h4t8fu1e4]  .work-nav-embedded {
    margin: var(--space-lg) var(--space-xl) 0;
}

/* ── Larger screens ────────────────────────────────────────────────────── */

@media (min-width: 769px) {
    /* On a desktop the employee app is a centred column, so the fixed nav
       pins to that column instead of the whole viewport edge. ::deep —
       .work-nav-fixed belongs to WorkNav's scope. */
    .work-app[b-5h4t8fu1e4]  .work-nav-fixed {
        left: 50%;
        right: auto;
        width: min(60rem, 100%);
        transform: translateX(-50%);
    }
}
/* _content/Ayva.Employee/Components/Shared/DateField.razor.rz.scp.css */
/* DateField — the native date input, dressed to match the rest of /work.

   The .work-field frame is repeated in TimeField.razor.css rather than
   shared: CSS isolation scopes every rule to ONE component's scope
   attribute, so a "shared" class would have to live in a global sheet and
   leak to the whole app. Twenty duplicated lines is the cheaper trade. */

.work-field[b-0f8r5ccz4k] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
}

.work-field-label[b-0f8r5ccz4k] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.work-field-input[b-0f8r5ccz4k] {
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-base);
    transition: border-color var(--transition-fast);
}

.work-field-input:hover:not(:disabled)[b-0f8r5ccz4k] {
    border-color: var(--accent-color-40);
}

.work-field-input:focus-visible[b-0f8r5ccz4k] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
    border-color: var(--accent-color);
}

.work-field-input:disabled[b-0f8r5ccz4k] {
    opacity: 0.5;
    cursor: default;
}

/* The native picker glyph is black-on-black in a dark theme. */
.work-field-input[b-0f8r5ccz4k]::-webkit-calendar-picker-indicator {
    filter: invert(1);
    opacity: 0.6;
    cursor: pointer;
}

.work-field-hint[b-0f8r5ccz4k] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

@media (prefers-reduced-motion: reduce) {
    .work-field-input[b-0f8r5ccz4k] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Shared/DurationStepper.razor.rz.scp.css */
/* DurationStepper — two big targets around a large, legible value. */

.duration-stepper[b-cf9kc3t7tc] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    width: 100%;
    font-family: var(--font-primary);
}

.duration-stepper-label[b-cf9kc3t7tc] {
    font-size: var(--text-3xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.duration-stepper-row[b-cf9kc3t7tc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
}

.duration-stepper-button[b-cf9kc3t7tc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--tap-target-min);
    height: var(--tap-target-min);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.duration-stepper-button:hover:not(:disabled)[b-cf9kc3t7tc] {
    color: var(--accent-color);
    border-color: var(--accent-color-40);
}

.duration-stepper-button:focus-visible[b-cf9kc3t7tc] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.duration-stepper-button:disabled[b-cf9kc3t7tc] {
    opacity: 0.4;
    cursor: default;
}

/* ::deep — the icon is a MudIcon child component with no scope attribute. */
.duration-stepper-button[b-cf9kc3t7tc]  .mud-icon-root {
    color: inherit;
}

/* The value is a real text input now — type "1h30", "90" or "1:30" — but it
   keeps the big-readout look: no chrome of its own, the row provides it. */
.duration-stepper-value[b-cf9kc3t7tc] {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent;
    border: none;
    text-align: center;
    font-family: var(--font-primary);
    font-size: var(--text-2xl);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    color: var(--text-primary);
}

.duration-stepper-value:focus-visible[b-cf9kc3t7tc] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}

.duration-stepper-value[aria-invalid="true"][b-cf9kc3t7tc] {
    color: var(--error-color);
}

.duration-stepper-value:disabled[b-cf9kc3t7tc] {
    opacity: 0.5;
}

.duration-stepper-hint[b-cf9kc3t7tc] {
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--error-color);
}

.duration-stepper-presets[b-cf9kc3t7tc] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.duration-stepper-preset[b-cf9kc3t7tc] {
    min-height: 2rem;
    padding: var(--space-2xs) var(--space-md);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    cursor: pointer;
    transition: color var(--transition-fast), border-color var(--transition-fast);
}

.duration-stepper-preset:hover:not(:disabled)[b-cf9kc3t7tc] {
    color: var(--accent-color-light);
    border-color: var(--accent-color-40);
}

.duration-stepper-preset:focus-visible[b-cf9kc3t7tc] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.duration-stepper-preset-current[b-cf9kc3t7tc] {
    /* -light: on its own --accent-color-10 fill the base accent is 3.52:1. */
    color: var(--accent-color-light);
    border-color: var(--accent-color);
    background: var(--accent-color-10);
}

.duration-stepper-preset:disabled[b-cf9kc3t7tc] {
    opacity: 0.4;
    cursor: default;
}

@media (prefers-reduced-motion: reduce) {
    .duration-stepper-button[b-cf9kc3t7tc],
    .duration-stepper-preset[b-cf9kc3t7tc] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Shared/EmptyState.razor.rz.scp.css */
/* EmptyState — centred, quiet, with room for one action. */

.empty-state[b-nr69a19amy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    padding: var(--space-3xl) var(--space-xl);
    text-align: center;
    font-family: var(--font-primary);
}

/* ::deep — the icon is a MudIcon child component; a plain
   ".empty-state-icon" rule would never match its rendered element. */
.empty-state[b-nr69a19amy]  .empty-state-icon {
    color: var(--text-muted);
    opacity: 0.7;
}

.empty-state-title[b-nr69a19amy] {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
}

.empty-state-text[b-nr69a19amy] {
    max-width: 26rem;
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--text-secondary);
}

.empty-state-action[b-nr69a19amy] {
    margin-top: var(--space-sm);
}

@media (max-width: 640px) {
    .empty-state[b-nr69a19amy] {
        padding: var(--space-2xl) var(--space-lg);
    }
}
/* _content/Ayva.Employee/Components/Shared/PeriodNav.razor.rz.scp.css */
/* PeriodNav — arrows around a period label, with an escape hatch back to
   the current one. */

.period-nav[b-g56exauc2u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    font-family: var(--font-primary);
}

.period-nav-arrow[b-g56exauc2u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    background: transparent;
    border: none;
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    cursor: pointer;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.period-nav-arrow:hover:not(:disabled)[b-g56exauc2u] {
    color: var(--accent-color);
    background: var(--bg-secondary);
}

.period-nav-arrow:focus-visible[b-g56exauc2u] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.period-nav-arrow:disabled[b-g56exauc2u] {
    opacity: 0.3;
    cursor: default;
}

/* ::deep — MudIcon child component, no scope attribute of ours. */
.period-nav-arrow[b-g56exauc2u]  .mud-icon-root {
    color: inherit;
}

.period-nav-centre[b-g56exauc2u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2xs);
    min-width: 0;
    text-align: center;
}

.period-nav-label[b-g56exauc2u] {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.period-nav-sub[b-g56exauc2u] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.period-nav-reset-row[b-g56exauc2u] {
    display: flex;
    justify-content: center;
    margin-top: var(--space-xs);
}

.period-nav-reset[b-g56exauc2u] {
    padding: var(--space-2xs) var(--space-sm);
    background: transparent;
    border: none;
    color: var(--accent-color);
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    cursor: pointer;
}

.period-nav-reset:hover:not(:disabled)[b-g56exauc2u] {
    text-decoration: underline;
}

.period-nav-reset:focus-visible[b-g56exauc2u] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

@media (prefers-reduced-motion: reduce) {
    .period-nav-arrow[b-g56exauc2u] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Shared/StatusChip.razor.rz.scp.css */
/* StatusChip — one pill, six tones. Every colour is a token; the text
   always carries the meaning, so the tone is reinforcement, not the signal. */

.status-chip[b-5tfbvbu8v0] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-2xs) var(--space-sm);
    border: 1px solid transparent;
    border-radius: var(--radius-full);
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.status-chip-text[b-5tfbvbu8v0] {
    display: inline-block;
}

.status-chip-neutral[b-5tfbvbu8v0] {
    /* Slate, not the white-tint --bg-hover: on a --work-surface-card the tint
       lifts the pill to #313a4b and drops the label to 4.44:1. The other five
       tones tint with their own hue and are unaffected. */
    background: var(--work-surface-inset);
    border-color: var(--border-color);
    color: var(--text-secondary);
}

.status-chip-good[b-5tfbvbu8v0] {
    background: var(--success-color-10);
    border-color: var(--success-color-30);
    color: var(--success-color);
}

.status-chip-info[b-5tfbvbu8v0] {
    background: var(--accent-color-10);
    border-color: var(--accent-color-30);
    color: var(--accent-color-light);
}

.status-chip-warn[b-5tfbvbu8v0] {
    background: var(--warning-color-10);
    border-color: var(--warning-color-30);
    color: var(--warning-color);
}

.status-chip-bad[b-5tfbvbu8v0] {
    background: var(--error-color-10);
    border-color: var(--error-color-30);
    /* The -10 tint lifts the pill, so --error-color as the label is 3.80:1;
       --error-text is the theme's own red-for-text (5.17:1 here). The good and
       warn tones stay on their base colour — both already clear AA on their
       own tint. Note --error-color-LIGHT is NOT the lighter red it sounds
       like: it is rgba(239,68,68,0.1), a background tint. */
    color: var(--error-text);
}

.status-chip-live[b-5tfbvbu8v0] {
    background: var(--accent-color-15);
    border-color: var(--accent-color-40);
    color: var(--accent-color-light);
}

/* The running-timer dot. Motion is the only place this component uses
   anything but text, and it is decorative (aria-hidden). */
.status-chip-pulse[b-5tfbvbu8v0] {
    width: var(--space-sm);
    height: var(--space-sm);
    border-radius: var(--radius-full);
    background: var(--accent-color);
    animation: pulse 1.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .status-chip-pulse[b-5tfbvbu8v0] {
        animation: none;
    }
}
/* _content/Ayva.Employee/Components/Shared/TimeField.razor.rz.scp.css */
/* TimeField — the native time input plus the quick-chip row.

   The .work-field frame below is duplicated from DateField.razor.css on
   purpose: CSS isolation scopes every rule to ONE component's scope
   attribute, so a shared class would have to live in a global sheet and
   leak to the whole app. Twenty duplicated lines is the cheaper trade. */

.work-field[b-g5i1i1u8ef] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
}

.work-field-label[b-g5i1i1u8ef] {
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-muted);
}

.work-field-input[b-g5i1i1u8ef] {
    width: 100%;
    min-height: var(--tap-target-min);
    padding: var(--space-sm) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-size: var(--text-base);
    transition: border-color var(--transition-fast);
}

.work-field-input:hover:not(:disabled)[b-g5i1i1u8ef] {
    border-color: var(--accent-color-40);
}

.work-field-input:focus-visible[b-g5i1i1u8ef] {
    outline: 2px solid var(--accent-color);
    outline-offset: 1px;
    border-color: var(--accent-color);
}

.work-field-input:disabled[b-g5i1i1u8ef] {
    opacity: 0.5;
    cursor: default;
}

.work-field-input[b-g5i1i1u8ef]::placeholder {
    color: var(--text-muted);
    opacity: 0.7;
}

.work-field-input[aria-invalid="true"][b-g5i1i1u8ef] {
    border-color: var(--error-color);
}

.work-field-hint[b-g5i1i1u8ef] {
    font-size: var(--text-3xs);
    color: var(--text-muted);
}

.time-field-hint[b-g5i1i1u8ef] {
    font-size: var(--text-xs);
    line-height: 1.45;
    color: var(--error-color);
}

@media (prefers-reduced-motion: reduce) {
    .work-field-input[b-g5i1i1u8ef] {
        transition: none;
    }
}

/* ── Quick chips ───────────────────────────────────────────────────────── */

.time-field-chips[b-g5i1i1u8ef] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin-top: var(--space-sm);
}

.time-field-chip[b-g5i1i1u8ef] {
    min-height: 2rem;
    padding: var(--space-2xs) var(--space-md);
    background: var(--bg-hover);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    cursor: pointer;
    transition: color var(--transition-fast), border-color var(--transition-fast);
}

.time-field-chip:hover[b-g5i1i1u8ef] {
    color: var(--accent-color);
    border-color: var(--accent-color-40);
}

.time-field-chip:focus-visible[b-g5i1i1u8ef] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .time-field-chip[b-g5i1i1u8ef] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Shared/WorkNav.razor.rz.scp.css */
/* WorkNav — bottom nav on /work, inline strip when embedded.
   Tokens only; --work-nav-height / --work-safe-bottom live in ayva-theme.css. */

.work-nav[b-g9cn8vw247] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    align-items: stretch;
    background: var(--glass-dark);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-top: 1px solid var(--border-color);
    font-family: var(--font-primary);
}

.work-nav-fixed[b-g9cn8vw247] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    height: calc(var(--work-nav-height) + var(--work-safe-bottom));
    padding-bottom: var(--work-safe-bottom);
}

.work-nav-inline[b-g9cn8vw247] {
    position: static;
    height: var(--work-nav-height);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.work-nav-item[b-g9cn8vw247] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2xs);
    min-height: var(--tap-target-min);
    padding: var(--space-xs);
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-family: var(--font-primary);
    font-size: var(--text-3xs);
    cursor: pointer;
    transition: color var(--transition-fast), background var(--transition-fast);
}

.work-nav-item:hover:not(:disabled)[b-g9cn8vw247] {
    color: var(--text-secondary);
    background: var(--bg-hover);
}

.work-nav-item:focus-visible[b-g9cn8vw247] {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.work-nav-item:disabled[b-g9cn8vw247] {
    opacity: 0.5;
    cursor: default;
}

.work-nav-item-current[b-g9cn8vw247] {
    color: var(--accent-color);
}

/* ::deep — MudIcon renders a child component, which carries no scope
   attribute of ours, so a plain descendant selector would never match. */
.work-nav-item-current[b-g9cn8vw247]  .mud-icon-root {
    color: var(--accent-color);
}

.work-nav-icon[b-g9cn8vw247] {
    position: relative;
    display: inline-flex;
}

.work-nav-badge[b-g9cn8vw247] {
    position: absolute;
    top: calc(-1 * var(--space-xs));
    left: 60%;
    min-width: var(--space-xl);
    padding: 0 var(--space-2xs);
    border-radius: var(--radius-full);
    background: var(--accent-color);
    color: var(--hud-text-bright);
    font-size: var(--text-6xs);
    line-height: var(--space-xl);
    text-align: center;
}

.work-nav-label[b-g9cn8vw247] {
    line-height: 1;
}

/* Announced, never seen — the badge number needs words around it. */
.work-nav-sr[b-g9cn8vw247] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (min-width: 769px) {
    .work-nav-item[b-g9cn8vw247] {
        flex-direction: row;
        gap: var(--space-sm);
        font-size: var(--text-sm);
    }
}

@media (prefers-reduced-motion: reduce) {
    .work-nav-item[b-g9cn8vw247] {
        transition: none;
    }
}
/* _content/Ayva.Employee/Components/Shared/WorkPortalTileView.razor.rz.scp.css */
/* WorkPortalTileView — the /my dashboard tile.

   This sheet owns the WHOLE tile, frame included. The portal's own
   `.portal-card` / `.card-header` / `.card-content` rules live in
   modules/Ayva.Customer.Portal/Pages/Portal.razor.css, which is Blazor-isolated
   and carries no ::deep — they compile to `.portal-card[b-<portal-hash>]` and
   cannot match markup rendered by a separate component through
   <DynamicComponent>. Borrowing them would have left this tile with no glass,
   no border and no padding, and dropped `.card-header` through to Bootstrap's
   `#444` rule in the app bundle.

   Values mirror Portal.razor.css:27-37 so a contributed tile sits flush with
   the hand-written cards around it. */

.work-portal-tile[b-5yyfs8r1m6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    background: var(--glass-panel);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    padding: var(--space-xl);
    box-shadow: var(--glass-card-shadow);
    color: var(--text-primary);
    font-family: var(--font-primary);
    transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
}

.work-portal-tile:hover[b-5yyfs8r1m6] {
    transform: translateY(var(--hover-lift));
    box-shadow: var(--glass-card-shadow-hover);
    border-color: var(--accent-color-30);
}

.work-portal-tile-head[b-5yyfs8r1m6] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.work-portal-tile-name[b-5yyfs8r1m6] {
    font-size: var(--text-base);
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* ::deep — MudIcon renders a child component, so its .mud-icon-root carries
   no scope attribute of ours. */
.work-portal-tile-head[b-5yyfs8r1m6]  .mud-icon-root {
    color: var(--accent-color);
}

.work-portal-tile-body[b-5yyfs8r1m6] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.work-portal-tile-text[b-5yyfs8r1m6] {
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--text-secondary);
}

.work-portal-tile-link[b-5yyfs8r1m6] {
    display: inline-block;
    color: var(--accent-color);
    font-size: var(--text-sm);
    font-weight: 600;
    text-decoration: none;
    transition: opacity var(--transition-fast);
}

.work-portal-tile-link:hover[b-5yyfs8r1m6] {
    opacity: 0.8;
}

.work-portal-tile-link:focus-visible[b-5yyfs8r1m6] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

@media (prefers-reduced-motion: reduce) {
    .work-portal-tile[b-5yyfs8r1m6],
    .work-portal-tile-link[b-5yyfs8r1m6] {
        transition: none;
    }

    .work-portal-tile:hover[b-5yyfs8r1m6] {
        transform: none;
    }
}
/* _content/Ayva.Employee/Pages/WorkLayout.razor.rz.scp.css */
/* WorkLayout — the bare /work shell.
   Deliberately paints its own ground (the tenant layouts' .bg-base /
   .bg-overlay art is not in this tree) and nothing else: no zoom, no rail,
   no brand chrome. Every value is a token — see wwwroot/assets/css/
   ayva-theme.css for the --work-* additions this file consumes. */

.work-root[b-64250yuqjo] {
    min-height: 100dvh;
    background: var(--bg-base);
    color: var(--text-primary);
    font-family: var(--font-primary);
    /* A phone app that scrolls sideways is broken; the panels are all
       column layouts, so clip rather than negotiate. */
    overflow-x: hidden;
}

.work-main[b-64250yuqjo] {
    display: block;
    min-height: 100dvh;
    /* Right/left insets matter in landscape on a notched phone — the
       viewport-fit=cover meta in App.razor is what makes them non-zero. */
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
}

/* Applied only while the hosted page paints the fixed bottom nav
   (WorkPage does; WorkAdminPage does not). Without it the last row of a
   list sits underneath the nav bar and can't be tapped. */
.work-main-nav[b-64250yuqjo] {
    padding-bottom: calc(var(--work-nav-height) + var(--work-safe-bottom));
}

@media (min-width: 769px) {
    /* Desktop: the EMPLOYEE app is a centred column, not a stretched phone
       screen. Keyed on .work-main-nav rather than .work-main so the admin
       console (which never sets it) keeps the full width a data console
       needs — a child's scoped sheet could not have overridden a class that
       lives on this layout's own element. */
    .work-main-nav[b-64250yuqjo] {
        max-width: 60rem;
        margin: 0 auto;
    }
}
/* _content/Ayva.Employee/Panels/MyWorkPanel.razor.rz.scp.css */
/* MyWorkPanel — the employee app inside the /coms shell. Only the framing
   bar is styled here; WorkApp owns everything below it. */

.my-work-panel[b-4r2vzb83oz] {
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.my-work-panel-bar[b-4r2vzb83oz] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: 0 0 var(--space-md);
    border-bottom: 1px solid var(--border-color);
}

.my-work-panel-title[b-4r2vzb83oz] {
    font-size: var(--text-xl);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.my-work-panel-open[b-4r2vzb83oz] {
    color: var(--accent-color);
    font-size: var(--text-sm);
    text-decoration: none;
    white-space: nowrap;
    transition: opacity var(--transition-fast);
}

.my-work-panel-open:hover[b-4r2vzb83oz] {
    opacity: 0.8;
}

.my-work-panel-open:focus-visible[b-4r2vzb83oz] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

/* The embedded app must not force a full-viewport column inside a panel
   that already scrolls. ::deep — .work-shell belongs to WorkApp's scope. */
.my-work-panel[b-4r2vzb83oz]  .work-shell {
    min-height: 0;
}

.my-work-panel[b-4r2vzb83oz]  .work-header {
    /* The panel bar above already says where you are. */
    display: none;
}

@media (max-width: 640px) {
    .my-work-panel-bar[b-4r2vzb83oz] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-xs);
    }
}
/* _content/Ayva.Employee/Panels/WorkAdminPanel.razor.rz.scp.css */
/* WorkAdminPanel — the workforce console inside the /coms shell. Framing
   only; WorkAdminConsole owns everything below the bar. */

.work-admin-panel[b-ytfr6s9yq1] {
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--text-primary);
    font-family: var(--font-primary);
}

.work-admin-panel-bar[b-ytfr6s9yq1] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-lg);
    padding: 0 0 var(--space-md);
    border-bottom: 1px solid var(--border-color);
}

.work-admin-panel-title[b-ytfr6s9yq1] {
    font-size: var(--text-xl);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.work-admin-panel-open[b-ytfr6s9yq1] {
    color: var(--accent-color);
    font-size: var(--text-sm);
    text-decoration: none;
    white-space: nowrap;
    transition: opacity var(--transition-fast);
}

.work-admin-panel-open:hover[b-ytfr6s9yq1] {
    opacity: 0.8;
}

.work-admin-panel-open:focus-visible[b-ytfr6s9yq1] {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
    border-radius: var(--radius-xs);
}

/* Embedded: the console must not claim the whole viewport or repeat the
   header the panel bar already shows. ::deep reaches WorkAdminConsole's
   own scope, which this component's scope attribute never touches. */
.work-admin-panel[b-ytfr6s9yq1]  .work-admin {
    min-height: 0;
}

.work-admin-panel[b-ytfr6s9yq1]  .work-admin-header {
    display: none;
}

.work-admin-panel[b-ytfr6s9yq1]  .work-admin-tabs,
.work-admin-panel[b-ytfr6s9yq1]  .work-admin-body {
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 640px) {
    .work-admin-panel-bar[b-ytfr6s9yq1] {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-xs);
    }
}
