/* Schedules tab + panel: calendar icon opens fullscreen builder */
.team-sched-page .team-sched-open-builder-icon-btn.rz-button .rz-button-icon-left.rzi,
.team-sched-page .team-sched-open-builder-icon-btn.rz-button .rzi {
    color: var(--jbf-magenta);
}

.team-sched-page .team-sched-schedules-col-builder {
    width: 52px;
    text-align: center;
    vertical-align: middle;
    padding-left: 8px;
    padding-right: 8px;
}

.team-sched-page .team-sched-schedules-builder-btn.rz-button {
    min-width: 2.25rem;
    padding-left: 0;
    padding-right: 0;
}

.team-sched-page .cum-preview-body .w-100,
.team-sched-page .cum-preview-field .w-100 {
    width: 100%;
}

/* Schedule builder opened full viewport (Radzen DialogOptions.CssClass) */
.jbf-team-schedule-builder-fullscreen.rz-dialog-wrapper {
    align-items: stretch !important;
    justify-content: stretch !important;
    padding: 0 !important;
}

.jbf-team-schedule-builder-fullscreen .rz-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.jbf-team-schedule-builder-fullscreen .rz-dialog-titlebar {
    flex-shrink: 0;
}

.jbf-team-schedule-builder-fullscreen .rz-dialog-content {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0 !important;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-fullscreen-root {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.team-sched-loading,
.team-sched-sql-hint {
    color: var(--cum-muted-foreground, #808c91);
    font-size: 14px;
}

.team-sched-sql-hint code {
    background: var(--cum-muted, #f2ebf3);
    padding: 2px 6px;
    border-radius: 4px;
}

.team-sched-dashboard-stack {
    display: flex;
    flex-direction: column;
    gap: var(--cum-space-section, 24px);
    padding: var(--cum-space-section, 20px);
}

.team-sched-tab-tabs-mobile {
    display: none;
}

body[data-tier="xs"] .team-sched-tab-tabs-scroll--desktop,
body[data-tier="sm"] .team-sched-tab-tabs-scroll--desktop,
body[data-tier="md"] .team-sched-tab-tabs-scroll--desktop {
    display: none;
}

body[data-tier="xs"] .team-sched-tab-tabs-mobile,
body[data-tier="sm"] .team-sched-tab-tabs-mobile,
body[data-tier="md"] .team-sched-tab-tabs-mobile {
    display: block;
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
}

body[data-tier="xs"] .team-sched-page .event-admin-tab-strip,
body[data-tier="sm"] .team-sched-page .event-admin-tab-strip,
body[data-tier="md"] .team-sched-page .event-admin-tab-strip {
    flex-wrap: wrap;
    gap: 12px;
}

.team-sched-event-card {
    background: var(--cum-card, #fff);
    border-radius: var(--cum-radius-lg, 12px);
    border: 1px solid var(--cum-border, #e8e0eb);
    padding: 20px var(--cum-space-section, 24px);
    box-shadow: 0 1px 2px rgba(45, 27, 61, 0.04);
}

.team-sched-event-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.team-sched-event-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--cum-primary);
}

.team-sched-event-meta {
    margin: 6px 0 0;
    font-size: 14px;
    color: var(--cum-muted-foreground, #808c91);
}

.team-sched-meta-sep {
    margin: 0 8px;
}

.team-sched-table-wrap {
    overflow-x: auto;
}

.team-sched-summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.team-sched-summary-table th,
.team-sched-summary-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--cum-border, #e8e0eb);
}

.team-sched-summary-table th.num,
.team-sched-summary-table td.num {
    text-align: right;
}

.team-sched-day-label {
    font-weight: 500;
}

.team-sched-today-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: var(--cum-primary-soft, #ede6f5);
    color: var(--cum-primary);
}

.team-sched-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 13px;
}

.team-sched-badge-unfilled-high {
    background: var(--jbf-status-danger-bg);
    color: var(--jbf-status-danger-fg);
}

.team-sched-badge-unfilled-low {
    background: var(--jbf-status-warning-bg);
    color: var(--jbf-status-warning-fg);
}

.team-sched-badge-zero,
.team-sched-badge.team-sched-badge-zero {
    background: var(--jbf-status-neutral-bg);
    color: var(--jbf-status-neutral-fg);
}

.team-sched-badge-approval {
    background: var(--jbf-status-info-bg);
    color: var(--jbf-status-info-fg);
}

.team-sched-badge-noci {
    background: var(--jbf-status-magenta-bg);
    color: var(--jbf-status-magenta-fg);
}

.team-sched-badge-in {
    background: var(--jbf-status-success-bg);
    color: var(--jbf-status-success-fg);
}

.team-sched-totals-row td {
    font-weight: 600;
    color: var(--cum-primary);
    border-bottom: none;
}

.team-sched-muted {
    color: var(--cum-muted-foreground, #808c91);
}

.team-sched-actions-col {
    width: 96px;
    white-space: nowrap;
    text-align: right;
}

.team-sched-actions-col .rz-button {
    margin-left: 4px;
}

.team-sched-form-footer {
    display: flex;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--cum-border, #e8e0eb);
}

.team-sched-approvals-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 16px;
    padding-top: var(--cum-space-section, 24px);
    margin-bottom: 12px;
}

.team-sched-approvals-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.team-sched-approvals-filter-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--cum-muted-foreground, #6b7280);
    margin: 0;
}

.team-sched-approvals-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.team-sched-approval-preview-title {
    margin: 0 0 8px;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--cum-foreground, #2d1b3d);
}

.team-sched-preview-summary {
    padding: 0;
}

.team-sched-preview-summary .cum-preview-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.team-sched-preview-summary h2 {
    margin: 0;
    font-size: 1.25rem;
}

.team-sched-role-color-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.team-sched-role-swatch {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.team-sched-role-name-cell {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.team-sched-color-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    max-width: 280px;
}

.team-sched-color-swatch {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 10px;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
}

.team-sched-color-swatch.selected {
    border-color: #2d1b3d;
    box-shadow: 0 0 0 2px #fff inset;
}

.team-sched-color-swatch:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-disclaimer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.team-sched-modal-tabs {
    margin: 16px 0;
}

.team-sched-modal-panel {
    min-height: 120px;
    padding: 12px 0;
    color: var(--cum-muted-foreground, #5c6570);
}

.team-sched-setup-dialog {
    padding: 4px 8px 8px;
}

/* Dashboard → calendar */
.team-sched-dashboard-click-row {
    cursor: pointer;
}

.team-sched-dashboard-click-row:hover {
    background: var(--cum-muted, #f7f2f9);
}

/* Calendar day workspace */
.team-sched-calendar-page .team-sched-calendar-top {
    margin-bottom: 16px;
}

.team-sched-back-link {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 14px;
    color: var(--cum-primary);
    text-decoration: none;
}

.team-sched-back-link:hover {
    text-decoration: underline;
}

.team-sched-calendar-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cum-space-block, 16px);
    padding: var(--cum-space-tight, 12px) var(--cum-space-block, 16px);
    background: var(--cum-card, #fff);
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: var(--cum-radius-lg, 12px);
}

.team-sched-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.team-sched-date-stepper {
    display: inline-flex;
    gap: 4px;
}

.team-sched-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.team-sched-chip {
    border: 1px solid var(--cum-border, #e8e0eb);
    background: var(--cum-secondary, #faf8fb);
    border-radius: 8px;
    padding: 8px 14px;
    font-size: var(--cum-text-hint, 13px);
    cursor: pointer;
    color: var(--cum-secondary-foreground, #4b5563);
    line-height: 1.2;
}

.team-sched-chip:hover {
    background: #f3eef6;
}

.team-sched-chip.active {
    background: var(--cum-primary-soft, #ede6f5);
    border-color: var(--cum-primary);
    color: var(--cum-primary);
    font-weight: 600;
}

.team-sched-toolbar-center {
    flex: 1 1 200px;
    text-align: center;
    min-width: 0;
}

.team-sched-event-label {
    font-size: 14px;
    color: var(--cum-muted-foreground, #5c6570);
}

.team-sched-toolbar-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.team-sched-view-label {
    font-size: 13px;
    color: var(--cum-muted-foreground, #808c91);
}

.team-sched-calendar-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 20px;
    align-items: start;
}

/* xs/sm/md tiers (<= --bp-lg = 1024). 1023.98 mirrors --bp-lg; @media can't deref vars. */
@media (max-width: 1023.98px) {
    .team-sched-calendar-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .team-sched-toolbar-left,
    .team-sched-toolbar-center,
    .team-sched-toolbar-right {
        width: 100%;
    }

    .team-sched-toolbar-center {
        text-align: left;
    }

    .team-sched-toolbar-right {
        justify-content: flex-start;
    }

    .team-sched-filter-chips {
        width: 100%;
    }

    .team-sched-day-header {
        flex-wrap: wrap;
    }

    .team-sched-day-title {
        flex: 1 1 100%;
        text-align: center;
    }

    .team-sched-calendar-body {
        grid-template-columns: 1fr;
    }

    .team-sched-shift-preview {
        position: relative;
        max-height: none;
    }
}

.team-sched-day-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 20px;
}

.team-sched-day-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--cum-foreground, #2d1b3d);
}

.team-sched-shift-card-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.team-sched-shift-card {
    display: block;
    width: 100%;
    text-align: left;
    padding: 14px 16px;
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.team-sched-shift-card:hover {
    background: #faf8fb;
}

.team-sched-shift-card.selected {
    border-color: var(--cum-primary);
    background: var(--cum-primary-soft, #ede6f5);
    box-shadow: 0 0 0 1px rgba(107, 76, 154, 0.15);
}

.team-sched-shift-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.team-sched-shift-role {
    font-weight: 600;
    font-size: 16px;
}

.team-sched-shift-badge {
    font-size: 11px;
    font-weight: 600;
    text-transform: capitalize;
    padding: 4px 10px;
    border-radius: 999px;
}

.team-sched-shift-badge.is-published {
    background: var(--jbf-status-success-bg);
    color: var(--jbf-status-success-fg);
}

.team-sched-shift-badge.is-draft {
    background: var(--jbf-status-neutral-bg);
    color: var(--jbf-status-neutral-strong-fg);
}

.team-sched-shift-badge.is-preview {
    background: var(--jbf-status-warning-bg);
    color: var(--jbf-status-warning-fg);
}

.team-sched-shift-badge.is-muted {
    background: var(--jbf-status-neutral-bg);
    color: var(--jbf-status-neutral-fg);
}

.team-sched-shift-time {
    font-size: var(--cum-text-table-dense, 14px);
    color: var(--cum-secondary-foreground, #374151);
    margin-bottom: 4px;
}

.team-sched-shift-fill {
    font-size: 13px;
    color: var(--cum-muted-foreground, #6b7280);
}

.team-sched-shift-preview {
    position: sticky;
    top: var(--cum-space-tight, 12px);
    background: var(--cum-card, #fff);
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: var(--cum-radius-lg, 12px);
    box-shadow: 0 1px 3px rgba(45, 27, 61, 0.06);
    overflow: hidden;
}

.team-sched-shift-preview-inner.cum-preview-root {
    padding: 24px;
    margin: 0;
}

.team-sched-shift-preview-section {
    margin-bottom: 18px;
}

.team-sched-preview-kv {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    margin-bottom: 8px;
    color: var(--cum-muted-foreground, #6b7280);
}

.team-sched-preview-kv strong {
    color: var(--cum-foreground, #1f2937);
}

.team-sched-fill-line {
    font-size: 14px;
    margin: 12px 0 8px;
}

.team-sched-progress-track {
    height: 8px;
    border-radius: 999px;
    background: var(--rz-base-200, #eeeeee);
    overflow: hidden;
    margin-bottom: 12px;
}

.team-sched-progress-fill {
    height: 100%;
    background: var(--rz-primary-darker, #58405b);
    border-radius: 999px;
    transition: width 0.2s;
}

.team-sched-members-title {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 600;
}

.team-sched-member-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.team-sched-member-row {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--cum-border, #f0ebf2);
}

.team-sched-member-row:last-child {
    border-bottom: none;
}

.team-sched-member-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--cum-primary-soft, #ede6f5);
    color: var(--cum-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.team-sched-member-name {
    font-weight: 600;
    font-size: 14px;
}

.team-sched-member-sub {
    font-size: 12px;
    color: var(--cum-muted-foreground, #808c91);
    margin-top: 2px;
}

.team-sched-member-status-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.team-sched-member-status {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
}

.team-sched-member-status.is-checked-in {
    background: var(--jbf-status-success-bg);
    color: var(--jbf-status-success-fg);
}

.team-sched-member-status.is-pending {
    background: var(--jbf-status-warning-bg);
    color: var(--jbf-status-warning-fg);
}

.team-sched-member-status.is-muted {
    background: var(--jbf-status-neutral-bg);
    color: var(--jbf-status-neutral-fg);
}

.team-sched-shift-preview-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--cum-border, #e8e0eb);
}

.team-sched-builder-shell .team-sched-auto-approval-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 13px;
    cursor: pointer;
    font-weight: 500;
    color: var(--tsb-ink, #1a1428);
}


.team-sched-color-approval-row {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 6px 16px;
}

.team-sched-color-approval-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.team-sched-color-input {
    display: flex;
    align-items: center;
    gap: 8px;
}

.team-sched-builder-shell .team-sched-auto-approval-row--inline {
    padding-bottom: 6px;
}

.team-sched-builder-shell .team-sched-print-toolbar-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    border-radius: 6px;
    border: 1px solid var(--jbf-magenta);
    background: var(--jbf-magenta);
    color: #fff;
    cursor: pointer;
    box-shadow: rgba(60, 64, 67, 0.2) 0 1px 2px;
    transition: filter 0.15s;
}

.team-sched-builder-shell .team-sched-print-toolbar-btn:hover:not(:disabled) {
    filter: brightness(1.06);
}

.team-sched-builder-shell .team-sched-print-toolbar-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-builder-shell .team-sched-print-toolbar-btn .rzi,
.team-sched-builder-shell .team-sched-print-toolbar-btn .team-sched-action-caret {
    color: #fff;
}

.team-sched-shift-preview-builder-header.cum-preview-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 12px;
    row-gap: 0;
    margin-bottom: 20px;
    border-bottom-color: var(--tsb-line, #e3dce8);
    flex-wrap: unset;
}

.team-sched-shift-preview-builder-header .cum-preview-title-block {
    min-width: 0;
}

.team-sched-shift-preview-header-actions.cum-preview-actions {
    margin-left: 0;
    align-self: start;
    flex-shrink: 0;
}

.team-sched-preview-head-datetime {
    margin-top: 4px;
}

.team-sched-preview-head-time {
    margin-top: 2px;
    font-size: 14px;
}

.team-sched-preview-kv--spots-row {
    align-items: center;
}

.team-sched-preview-kv-spots-end {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.team-sched-shift-preview-members-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    margin-bottom: 4px;
}

.team-sched-shift-preview-members-head .team-sched-members-title--upper {
    margin-bottom: 0;
}

.team-sched-members-title--upper {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--tsb-ink, #1a1428);
}

.team-sched-scan-qr-btn.rz-button {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.team-sched-checkin-inline-btn.rz-button {
    flex-shrink: 0;
    width: auto;
    min-width: unset;
}

/* Disabled ghost QR button: keep readable (default Radzen disabled is very faint). */
.team-sched-builder-shell .team-sched-scan-qr-btn.rz-button.rz-state-disabled,
.team-sched-builder-shell .team-sched-scan-qr-btn.rz-button[disabled] {
    opacity: 1;
    color: #4b4558;
    border-color: #c4b8cc;
    background: #ece8f0;
}

.team-sched-builder-shell .team-sched-scan-qr-btn.rz-button.rz-state-disabled .rz-button-icon,
.team-sched-builder-shell .team-sched-scan-qr-btn.rz-button[disabled] .rz-button-icon {
    color: #4b4558;
}

.team-sched-member-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.team-sched-member-card {
    background: var(--tsb-surface, #fff);
    border: 1px solid var(--tsb-line, #e3dce8);
    border-radius: var(--tsb-radius-sm, 10px);
    padding: 14px 16px;
    box-shadow: var(--tsb-shadow-card, 0 1px 3px rgba(26, 20, 40, 0.07));
}

.team-sched-member-card-top {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.team-sched-member-meta--grow {
    flex: 1;
    min-width: 0;
}

.team-sched-member-card .team-sched-member-status {
    flex-shrink: 0;
    align-self: center;
}

.team-sched-member-resend-invite {
    width: 100%;
    margin-top: 12px;
    padding: 10px 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: #fff;
    color: var(--tsb-ink, #1a1428);
    cursor: pointer;
}

.team-sched-member-resend-invite:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.team-sched-shift-preview-footer--builder {
    margin-top: 8px;
}

.team-sched-preview-footer-btn {
    flex: 1;
    min-width: 140px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: #fff;
    color: var(--tsb-ink, #1a1428);
    cursor: pointer;
}

.team-sched-preview-footer-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Schedule builder modal (main + right panel) */
.team-sched-builder {
    min-height: 420px;
    margin: -8px -12px;
}

.team-sched-builder--modal {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.team-sched-builder-fullscreen-root.team-sched-builder--modal {
    padding: 0 12px 12px;
}

.team-sched-builder-titlebar {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0 12px;
    border-bottom: 1px solid var(--cum-border, #e8e0eb);
    margin-bottom: 12px;
    box-sizing: border-box;
}

.team-sched-builder-titlebar-start {
    min-width: 0;
    flex: 1;
}

.team-sched-builder-dialog-title {
    margin: 0 0 4px;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--cum-foreground, #2d1b3d);
    line-height: 1.25;
}

.team-sched-builder-dialog-sub {
    display: block;
    font-size: 13px;
    color: var(--cum-muted-foreground, #6b7280);
    line-height: 1.35;
}

.team-sched-builder-titlebar-end {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.team-sched-builder-header {
    border-bottom: 1px solid var(--cum-border, #e8e0eb);
    padding-bottom: 16px;
    margin-bottom: 16px;
}

.team-sched-builder-header-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    gap: 12px 16px;
    margin-bottom: 14px;
    box-sizing: border-box;
}

.team-sched-builder-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.team-sched-builder-toolbar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.team-sched-builder-toolbar-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.team-sched-builder-date-label {
    font-weight: 600;
    font-size: 15px;
    color: var(--cum-foreground, #2d1b3d);
    min-width: 200px;
    text-align: center;
}

.team-sched-tz-hint {
    font-size: 13px;
    max-width: 220px;
}

.team-sched-builder-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(380px, 100%);
    gap: 20px;
    align-items: start;
    flex: 1;
    min-height: 0;
}

.team-sched-builder-body--3col {
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) min(380px, 100%);
    gap: 16px;
    align-items: stretch;
}

.team-sched-builder-body--3col.team-sched-builder-body--collapse-public {
    grid-template-columns: 0 minmax(0, 1fr) min(380px, 100%);
}

.team-sched-builder-body--3col.team-sched-builder-body--collapse-public .team-sched-builder-public-col {
    padding: 0;
    border: none;
    overflow: hidden;
    pointer-events: none;
}

/* Figma-style grid: day selector spans reference + main; right column full height */
.team-sched-builder-body--3col.team-sched-builder-body--grid-figma {
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(300px, 400px);
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-areas:
        "date date aside"
        "public main aside";
    align-items: stretch;
    align-content: stretch;
    height: 100%;
}

.team-sched-builder-body--3col.team-sched-builder-body--grid-figma.team-sched-builder-body--collapse-public {
    grid-template-columns: 0 minmax(0, 1fr) minmax(300px, 400px);
}

.team-sched-builder-body--grid-figma .team-sched-date-card-layout {
    grid-area: date;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 14px 18px;
    box-sizing: border-box;
    background: var(--tsb-surface, #fff);
    border: 1px solid var(--tsb-line, #e3dce8);
    border-radius: var(--tsb-radius, 12px);
    box-shadow: var(--tsb-shadow, 0 2px 12px rgba(26, 20, 40, 0.06));
}

.team-sched-builder-body--grid-figma .team-sched-date-card-layout .team-sched-full-schedule-link {
    margin-left: auto;
    font-size: 14px;
    font-weight: 600;
    color: var(--cum-primary, #7d5b81);
    text-decoration: none;
    white-space: nowrap;
}

.team-sched-builder-body--grid-figma .team-sched-date-card-layout .team-sched-full-schedule-link:hover {
    text-decoration: underline;
}

.team-sched-builder-body--grid-figma .team-sched-date-expand-when-collapsed.rz-button {
    pointer-events: auto;
    flex-shrink: 0;
}

.team-sched-builder-body--grid-figma .team-sched-builder-public-col {
    grid-area: public;
}

.team-sched-builder-body--grid-figma .team-sched-builder-main {
    grid-area: main;
    min-height: 0;
}

.team-sched-builder-body--grid-figma .team-sched-builder-aside {
    grid-area: aside;
}

.team-sched-builder-shell .team-sched-mytags-tab-toggle {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    background: #fff;
    border-radius: 8px;
    padding: 2px 4px;
    box-shadow: rgba(60, 64, 67, 0.3) 0 1px 2px 0, rgba(60, 64, 67, 0.15) 0 1px 3px 1px;
}

.team-sched-builder-shell .team-sched-mytags-tab-btn {
    padding: 8px 16px;
    margin: 0.2rem;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    transition: background 0.2s, color 0.2s;
    color: var(--text-secondary, #6b7280);
    border-radius: 0.3rem;
    white-space: nowrap;
    font-family: inherit;
    line-height: 1.25;
}

.team-sched-builder-shell .team-sched-mytags-tab-btn:hover {
    color: var(--text-primary, #021922);
}

.team-sched-builder-shell .team-sched-mytags-tab-btn.active {
    background: var(--jbf-pink, #7d5b81);
    color: #fff;
}

.team-sched-builder-shell .team-sched-mytags-outline-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    border-radius: 6px;
    border: 1px solid var(--border-color, #d1d5db);
    background: #fff;
    color: var(--text-primary, #021922);
    cursor: pointer;
    transition: background 0.15s;
}

.team-sched-builder-shell .team-sched-mytags-outline-btn:hover:not(:disabled) {
    background: #f9fafb;
}

.team-sched-builder-shell .team-sched-mytags-outline-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-builder-shell .team-sched-mytags-primary-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 6px;
    border: none;
    background: var(--jbf-pink, #7d5b81);
    color: #fff;
    cursor: pointer;
    box-shadow: rgba(60, 64, 67, 0.2) 0 1px 2px;
    transition: filter 0.15s, transform 0.12s;
}

.team-sched-builder-shell .team-sched-mytags-primary-btn:hover:not(:disabled) {
    filter: brightness(1.05);
}

.team-sched-builder-shell .team-sched-mytags-primary-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-builder-shell .team-sched-mytags-filter-wrap .team-sched-mytags-rz-dropdown.rz-dropdown,
.team-sched-builder-shell .team-sched-mytags-filter-wrap .rz-dropdown {
    min-width: 140px;
    border-radius: 6px !important;
    border: 1px solid var(--border-color, #d1d5db) !important;
    background: #fff !important;
}

.team-sched-builder-shell .team-sched-mytags-filter-wrap .rz-dropdown .rz-inputtext {
    font-size: 14px;
}

.team-sched-builder-public-col {
    min-width: 0;
    max-height: min(72vh, calc(100vh - 200px));
    overflow: auto;
    padding: 12px 14px;
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: var(--cum-radius-lg, 12px);
    background: var(--cum-secondary, #faf8fb);
    box-sizing: border-box;
}

.team-sched-builder-public-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}

.team-sched-builder-public-head h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--cum-foreground, #2d1b3d);
}

.team-sched-public-card {
    background: var(--cum-card, #fff);
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 10px;
    font-size: 13px;
}

.team-sched-public-card-title {
    font-weight: 600;
    margin: 0 0 4px;
    color: var(--cum-foreground, #2d1b3d);
}

.team-sched-public-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin-bottom: 8px;
    font-size: 12px;
}

.team-sched-public-block-line {
    margin: 4px 0 0;
    padding-left: 10px;
    border-left: 3px solid var(--cum-primary-soft, #ede6f5);
    color: var(--cum-secondary-foreground, #374151);
}

.team-sched-status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.team-sched-status-tab {
    border: 1px solid var(--cum-border, #e8e0eb);
    background: var(--cum-secondary, #faf8fb);
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 12px;
    cursor: pointer;
    color: var(--cum-secondary-foreground, #4b5563);
    line-height: 1.2;
}

.team-sched-status-tab:hover {
    background: #f3eef6;
}

.team-sched-status-tab.active {
    background: var(--cum-primary-soft, #ede6f5);
    border-color: var(--cum-primary);
    color: var(--cum-primary);
    font-weight: 600;
}

.team-sched-builder-list-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.team-sched-builder-list-table th,
.team-sched-builder-list-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--cum-border, #e8e0eb);
}

.team-sched-builder-list-table tbody tr {
    cursor: pointer;
}

.team-sched-builder-list-table tbody tr:hover {
    background: #faf8fb;
}

.team-sched-builder-list-table tbody tr.selected {
    background: var(--cum-primary-soft, #ede6f5);
}

.team-sched-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    min-height: 200px;
}

.team-sched-week-day {
    min-width: 0;
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: 10px;
    padding: 8px 6px;
    background: var(--cum-card, #fff);
    font-size: 12px;
}

.team-sched-week-day.is-selected {
    border-color: var(--cum-primary);
    box-shadow: 0 0 0 1px rgba(107, 76, 154, 0.12);
}

.team-sched-week-day-head {
    margin: 0 0 8px;
    padding: 0;
}

.team-sched-week-day-head button {
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    font-weight: 600;
    font-size: 12px;
    color: var(--cum-foreground, #2d1b3d);
    cursor: pointer;
    padding: 4px 2px;
    border-radius: 6px;
}

.team-sched-week-day-head button:hover {
    background: var(--cum-muted, #f7f2f9);
}

.team-sched-week-pill {
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    background: var(--cum-secondary, #f7f4fa);
    border-radius: 6px;
    padding: 6px 6px;
    margin-bottom: 4px;
    font-size: 11px;
    cursor: pointer;
    color: var(--cum-foreground, #2d1b3d);
    line-height: 1.25;
}

.team-sched-week-pill:hover {
    background: #ede6f5;
}

.team-sched-week-pill.is-muted {
    color: var(--cum-muted-foreground, #6b7280);
}

.team-sched-role-group-title {
    margin: 16px 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--cum-primary);
}

.team-sched-role-group-title:first-child {
    margin-top: 0;
}

.team-sched-main-scroll {
    min-height: 0;
    overflow: auto;
    max-height: min(72vh, calc(100vh - 220px));
}

.team-sched-builder-main {
    min-width: 0;
    padding: 0 4px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.team-sched-builder-aside {
    position: sticky;
    top: 0;
    max-height: min(72vh, 640px);
    overflow: auto;
}

/* Match Consignor / Users preview: cum-preview-root padding + card chrome */
.cum-preview-root.team-sched-builder-aside-inner {
    padding: 24px;
    font-family: var(--cum-font, inherit);
    box-sizing: border-box;
    border: 1px solid var(--cum-border, #e8e0eb);
    border-radius: var(--cum-radius-lg, 12px);
    background: var(--cum-card, #fff);
}

.cum-preview-root.team-sched-builder-aside-inner .cum-preview-body {
    margin-bottom: 0;
}

.cum-preview-root.team-sched-builder-aside-inner .cum-preview-title.team-sched-builder-aside-heading {
    margin: 0 0 16px;
}

.team-sched-builder-aside-empty {
    margin: 0;
    padding: 4px 0 8px;
}

.team-sched-builder-aside-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 20px 0 16px;
    padding-top: 8px;
    border-top: 1px solid var(--cum-border, #f0ebf2);
}

/* Add/edit shift: scroll form, fixed footer with Cancel / Save */
.cum-preview-root.team-sched-builder-aside-inner.team-sched-builder-aside-inner--shift-form {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
    min-height: 0;
}

.team-sched-shift-form-stack {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.team-sched-shift-form-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

/* Scroll region inherits .cum-preview-body (global margin-bottom); keep footer tight to last field. */
.team-sched-shift-form-scroll.cum-preview-body {
    margin-bottom: 0;
}

/* Slots + credits: one row, compact numeric columns (not full panel width). */
.cum-preview-grid-2.team-sched-shift-form-slots-credits {
    grid-template-columns: minmax(0, 7.5rem) minmax(0, 7.5rem);
    width: fit-content;
    max-width: 100%;
}

.cum-preview-grid-2.team-sched-shift-form-slots-credits .cum-preview-field {
    margin-bottom: 0;
}

.team-sched-shift-form-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-shrink: 0;
    margin: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding: 12px 0 8px;
    border-top: 1px solid var(--cum-border, #f0ebf2);
    background: var(--cum-card, #fff);
    box-shadow: 0 -6px 14px rgba(26, 20, 40, 0.05);
}

.team-sched-builder-shell .team-sched-shift-form-footer {
    background: var(--tsb-surface, #fff);
    box-shadow: 0 -6px 14px rgba(26, 20, 40, 0.05);
}

.team-sched-builder-checkin-section {
    padding-top: 8px;
}

.team-sched-role-swatch {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid var(--cum-border, #e8e0eb);
    flex-shrink: 0;
}

/* ========== Schedule builder shell (workspace chrome; pair with .team-sched-builder-shell) ========== */
.team-sched-builder-shell {
    --tsb-ink: #1a1428;
    --tsb-ink-muted: #5b5366;
    --tsb-line: #e3dce8;
    --tsb-surface: #fff;
    --tsb-surface-2: #fbf9fc;
    --tsb-canvas: var(--jbf-canvas);
    --tsb-segment-bg: #e8e2ef;
    --tsb-accent: #5c3d7a;
    --tsb-accent-soft: #ede6f5;
    --tsb-magenta: var(--jbf-magenta);
    --tsb-radius: 14px;
    --tsb-radius-sm: 10px;
    --tsb-shadow: 0 2px 12px rgba(26, 20, 40, 0.06);
    --tsb-shadow-card: 0 1px 3px rgba(26, 20, 40, 0.07);
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell.team-sched-builder-fullscreen-root {
    padding: 0 20px 16px;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell > .eem-checklist-dialog-titlebar {
    flex-shrink: 0;
    padding-left: 0;
    padding-right: 0;
    /* Align with shell horizontal padding (20px) and middle column content */
}

.team-sched-dialog-title-with-icon {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.team-sched-dialog-title-calendar {
    flex-shrink: 0;
    font-size: 26px;
    line-height: 1;
    /* Match Schedule tab grid “open builder” calendar_month icon */
    color: var(--jbf-magenta);
}

.team-sched-toolbar-actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    z-index: 5;
}

.team-sched-toolbar-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: transparent;
    cursor: default;
}

.team-sched-toolbar-dropdown-wrap {
    position: relative;
    z-index: 1201;
}

.team-sched-toolbar-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    min-width: 220px;
    padding: 6px 0;
    margin: 0;
    list-style: none;
    background: var(--tsb-surface, #fff);
    border: 1px solid var(--tsb-line, #e3dce8);
    border-radius: var(--tsb-radius-sm, 10px);
    box-shadow: var(--tsb-shadow, 0 2px 12px rgba(26, 20, 40, 0.12));
}

.team-sched-toolbar-dropdown-item {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 16px;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 14px;
    color: var(--tsb-ink, #1a1428);
    cursor: pointer;
}

.team-sched-toolbar-dropdown-item:hover {
    background: var(--tsb-surface-2, #fbf9fc);
}

.team-sched-week-pill-sub.is-muted {
    display: block;
    margin-top: 2px;
    color: var(--cum-muted-foreground, #6b7280);
    font-size: 10px;
}

.team-sched-builder-shell .team-sched-shift-card.team-sched-shift-card--row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0;
    cursor: default;
}

.team-sched-builder-shell .team-sched-shift-card-main {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 14px 8px 14px 14px;
    border: none;
    background: transparent;
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: pointer;
    border-radius: 0;
}

.team-sched-builder-shell .team-sched-shift-card-top--solo-title {
    justify-content: flex-start;
}

.team-sched-builder-shell .team-sched-shift-card-meta-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
    padding: 14px 14px 14px 4px;
}

.team-sched-builder-shell .team-sched-shift-card-delete {
    margin: 0;
    padding: 0;
    width: auto;
    min-width: 1.5rem;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #c5c2cc;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    line-height: 1;
    transition: color 0.12s ease, background 0.12s ease;
}

.team-sched-builder-shell .team-sched-shift-card-delete:hover {
    background: rgba(26, 20, 40, 0.04);
    color: #9d97a8;
}

.team-sched-builder-shell .team-sched-shift-card-delete:active {
    color: #7a7385;
}

.team-sched-builder-shell .team-sched-builder-list-table .team-sched-list-actions-col {
    width: 48px;
    text-align: center;
    vertical-align: middle;
    padding-left: 4px;
    padding-right: 8px;
}

.team-sched-builder-shell .team-sched-list-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
}

.team-sched-builder-shell .team-sched-list-delete-btn:hover {
    background: rgba(185, 28, 28, 0.08);
    color: #b91c1c;
}

.team-sched-builder-shell .team-sched-builder-titlebar:not(.team-sched-builder-titlebar--layout) {
    padding: 16px 4px 18px;
    margin-bottom: 0;
    border-bottom: none;
    background: linear-gradient(180deg, rgba(92, 61, 122, 0.07) 0%, transparent 100%);
    border-radius: 0 0 var(--tsb-radius-sm) var(--tsb-radius-sm);
}

/* Design layout: top title row + toolbar; date strip only in middle column */
.team-sched-builder-shell .team-sched-builder-titlebar--layout {
    align-items: center;
    padding: 14px 0 16px;
    margin-bottom: 0;
    border-bottom: 1px solid var(--tsb-line, #e3dce8);
    background: transparent;
    border-radius: 0;
}

.team-sched-builder-dialog-title--layout {
    flex: 1;
    min-width: 0;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: var(--tsb-ink, #1a1428) !important;
    margin: 0 !important;
    line-height: 1.25;
}

.team-sched-builder-titlebar-end--layout {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.team-sched-titlebar-location {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px 8px;
    font-size: 14px;
}

.team-sched-titlebar-location-k {
    color: var(--tsb-ink-muted, #5b5366);
    font-weight: 500;
}

.team-sched-titlebar-location-v {
    color: var(--tsb-ink, #1a1428);
    font-weight: 600;
}

.team-sched-toolbar-layout {
    display: grid;
    grid-template-columns: minmax(130px, auto) 1fr minmax(240px, max-content);
    align-items: center;
    gap: 12px 16px;
    padding: 4px 0 14px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.team-sched-toolbar-layout-left {
    min-width: 0;
}

.team-sched-view-toolbar-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
}

.team-sched-view-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--tsb-ink, #1a1428);
    white-space: nowrap;
}

.team-sched-toolbar-layout-center {
    min-width: 0;
    display: flex;
    justify-content: center;
}

.team-sched-status-tabs-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 0;
}

.team-sched-status-tab-layout {
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 16px 14px;
    margin: 0;
    border: none;
    background: transparent;
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    position: relative;
    border-radius: 0;
    white-space: nowrap;
}

.team-sched-status-tab-layout:hover {
    color: var(--tsb-ink, #1a1428);
}

.team-sched-status-tab-layout.active {
    color: var(--tsb-accent, #5c3d7a);
}

.team-sched-status-tab-layout.active::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 0;
    height: 3px;
    background: var(--tsb-accent, #5c3d7a);
    border-radius: 2px 2px 0 0;
}

.team-sched-toolbar-layout-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    justify-content: flex-end;
}

.team-sched-action-publish {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid var(--tsb-accent, #5c3d7a);
    background: #fff;
    color: var(--tsb-accent, #5c3d7a);
    cursor: pointer;
}

.team-sched-action-publish:hover {
    background: var(--tsb-accent-soft, #ede6f5);
}

.team-sched-action-print {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    border: none;
    background: linear-gradient(135deg, var(--jbf-magenta) 0%, #c0306a 100%);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(210, 60, 119, 0.35);
}

.team-sched-action-print:hover {
    filter: brightness(1.03);
}

.team-sched-action-add-shift {
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border-radius: 999px;
    border: none;
    background: var(--tsb-accent, #5c3d7a);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(92, 61, 122, 0.28);
}

.team-sched-action-add-shift:hover:not(:disabled) {
    filter: brightness(1.05);
}

.team-sched-action-add-shift:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-action-caret {
    font-size: 20px !important;
    line-height: 1 !important;
    opacity: 0.9;
}

.team-sched-builder-shell .team-sched-view-dropdown-layout.rz-dropdown,
.team-sched-builder-shell .team-sched-view-dropdown-layout {
    width: 100%;
    max-width: 200px;
}

.team-sched-builder-main--layout {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.team-sched-middle-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
    height: 100%;
    background: var(--tsb-surface, #fff);
}

.team-sched-date-strip-layout {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--tsb-line, #e3dce8);
    background: var(--tsb-surface, #fff);
}

.team-sched-date-strip-today {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 8px;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: #fff;
    color: var(--tsb-ink, #1a1428);
    cursor: pointer;
}

.team-sched-date-strip-today:hover:not(:disabled) {
    border-color: var(--tsb-accent, #5c3d7a);
    background: var(--tsb-accent-soft, #ede6f5);
}

.team-sched-date-strip-today:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-date-strip-stepper {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 10px;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: #fff;
}

.team-sched-date-strip-nav {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.team-sched-date-strip-nav:hover:not(:disabled) {
    background: var(--tsb-accent-soft, #ede6f5);
    color: var(--tsb-accent, #5c3d7a);
}

.team-sched-date-strip-nav:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.team-sched-date-strip-label {
    font-weight: 600;
    font-size: 15px;
    color: var(--tsb-ink, #1a1428);
    min-width: 13rem;
    text-align: center;
}

.team-sched-date-strip-tz {
    margin-left: auto;
    font-size: 12px;
    line-height: 1.35;
    color: var(--tsb-ink-muted, #5b5366);
    max-width: min(220px, 32vw);
}

.team-sched-middle-col .team-sched-builder-canvas {
    flex: 1;
    min-height: 0;
    border-left: none;
    border-right: none;
    border-top: none;
}

.team-sched-panel-chrome {
    flex-shrink: 0;
    padding-bottom: 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--tsb-line, #e3dce8);
}

.team-sched-panel-chrome-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.team-sched-panel-chrome-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--tsb-ink, #1a1428);
    min-width: 0;
}

.team-sched-panel-chrome-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}

.team-sched-panel-chrome-icon {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.team-sched-panel-chrome-icon:hover {
    background: var(--tsb-accent-soft, #ede6f5);
    color: var(--tsb-accent, #5c3d7a);
}

.team-sched-builder-shell .team-sched-builder-kicker {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--tsb-accent);
}

.team-sched-builder-shell .team-sched-builder-dialog-title {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--tsb-ink);
    margin: 0 0 6px;
}

.team-sched-builder-shell .team-sched-builder-dialog-sub {
    font-size: 14px;
    color: var(--tsb-ink-muted);
}

.team-sched-builder-dialog-dot {
    margin: 0 6px;
    opacity: 0.45;
}

.team-sched-builder-pill-btn {
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: var(--tsb-surface, #fff);
    color: var(--tsb-ink, #1a1428);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.team-sched-builder-pill-btn:hover {
    border-color: var(--tsb-accent, #5c3d7a);
    background: var(--tsb-surface-2, #fbf9fc);
}

.team-sched-builder-close-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: var(--tsb-surface, #fff);
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 4px;
    transition: background 0.15s, color 0.15s;
}

.team-sched-builder-close-btn:hover {
    background: var(--tsb-accent-soft, #ede6f5);
    color: var(--tsb-ink, #1a1428);
}

.team-sched-builder-controls {
    flex-shrink: 0;
    padding: 14px 4px 16px;
    border-bottom: 1px solid var(--tsb-line, #e3dce8);
    margin-bottom: 16px;
}

.team-sched-builder-controls-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
}

.team-sched-builder-controls-row--secondary {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(227, 220, 232, 0.85);
}

.team-sched-builder-date-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.team-sched-builder-chip-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: var(--tsb-radius-sm, 10px);
    border: 1px solid var(--tsb-line, #e3dce8);
    background: var(--tsb-surface, #fff);
    color: var(--tsb-ink, #1a1428);
    cursor: pointer;
}

.team-sched-builder-chip-btn:hover:not(:disabled) {
    border-color: var(--tsb-accent, #5c3d7a);
    background: var(--tsb-accent-soft, #ede6f5);
}

.team-sched-builder-chip-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.team-sched-date-stepper--shell {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 6px;
    border-radius: var(--tsb-radius-sm, 10px);
    border: 1px solid var(--tsb-line, #e3dce8);
    background: var(--tsb-surface, #fff);
}

.team-sched-builder-shell .team-sched-builder-date-label {
    min-width: 12rem;
    font-size: 15px;
    font-weight: 600;
    color: var(--tsb-ink, #1a1428);
}

.team-sched-builder-icon-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.team-sched-builder-icon-btn:hover:not(:disabled) {
    background: var(--tsb-accent-soft, #ede6f5);
    color: var(--tsb-accent, #5c3d7a);
}

.team-sched-builder-icon-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.team-sched-view-segments {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 4px;
    border-radius: 12px;
    background: var(--tsb-segment-bg, #e8e2ef);
    border: 1px solid rgba(92, 61, 122, 0.12);
    max-width: 100%;
}

.team-sched-view-seg {
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 12px;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: var(--tsb-ink-muted, #5b5366);
    cursor: pointer;
    white-space: nowrap;
}

.team-sched-view-seg:hover {
    color: var(--tsb-ink, #1a1428);
    background: rgba(255, 255, 255, 0.45);
}

.team-sched-view-seg.active {
    background: var(--tsb-surface, #fff);
    color: var(--tsb-accent, #5c3d7a);
    box-shadow: var(--tsb-shadow-card, 0 1px 3px rgba(26, 20, 40, 0.07));
}

.team-sched-status-tabs--shell {
    margin-top: 0;
    gap: 8px;
}

.team-sched-builder-shell .team-sched-status-tab {
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid var(--tsb-line, #e3dce8);
    background: var(--tsb-surface, #fff);
    color: var(--tsb-ink-muted, #5b5366);
}

.team-sched-builder-shell .team-sched-status-tab:hover {
    border-color: #c9bdd6;
    color: var(--tsb-ink, #1a1428);
}

.team-sched-builder-shell .team-sched-status-tab.active {
    background: var(--tsb-accent, #5c3d7a);
    border-color: var(--tsb-accent, #5c3d7a);
    color: #fff;
    box-shadow: 0 2px 8px rgba(92, 61, 122, 0.25);
}

.team-sched-builder-controls-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.team-sched-builder-tz {
    font-size: 13px;
    color: var(--tsb-ink-muted, #5b5366);
    max-width: min(280px, 40vw);
    line-height: 1.35;
}

.team-sched-builder-cta {
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--jbf-magenta) 0%, #c0306a 100%);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(210, 60, 119, 0.35);
    transition: transform 0.12s, box-shadow 0.12s;
}

.team-sched-builder-cta:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(210, 60, 119, 0.4);
}

.team-sched-builder-cta:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.team-sched-builder-cta .rzi,
.team-sched-builder-cta-rzi {
    font-size: 18px !important;
    line-height: 1 !important;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--3col:not(.team-sched-builder-body--grid-figma) {
    flex: 1;
    min-height: 0;
    gap: 0;
    border-radius: var(--tsb-radius, 14px);
    border: 1px solid var(--tsb-line, #e3dce8);
    overflow: hidden;
    box-shadow: var(--tsb-shadow, 0 2px 12px rgba(26, 20, 40, 0.06));
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(300px, 400px);
    background: var(--tsb-line, #e3dce8);
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--3col.team-sched-builder-body--grid-figma {
    flex: 1;
    min-height: 0;
    gap: 12px;
    padding: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    background: transparent;
}

.team-sched-builder-shell .team-sched-builder-body--3col.team-sched-builder-body--collapse-public {
    grid-template-columns: 0 minmax(0, 1fr) minmax(300px, 400px);
}

.team-sched-builder-shell .team-sched-builder-public-col {
    max-height: none;
    height: 100%;
    min-height: 0;
    border: none;
    border-radius: 0;
    background: var(--tsb-surface-2, #fbf9fc);
    padding: 16px 18px;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--grid-figma .team-sched-builder-public-col {
    border: 1px solid var(--tsb-line, #e3dce8);
    border-radius: var(--tsb-radius, 12px);
    box-shadow: var(--tsb-shadow, 0 2px 12px rgba(26, 20, 40, 0.06));
    background: var(--tsb-surface-2, #fbf9fc);
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--grid-figma .team-sched-middle-col {
    height: 100%;
    min-height: 0;
    border: 1px solid var(--tsb-line, #e3dce8);
    border-radius: var(--tsb-radius, 12px);
    box-shadow: var(--tsb-shadow, 0 2px 12px rgba(26, 20, 40, 0.06));
    overflow: hidden;
    background: var(--tsb-surface, #fff);
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--grid-figma .team-sched-builder-aside {
    border: 1px solid var(--tsb-line, #e3dce8);
    border-radius: var(--tsb-radius, 12px);
    box-shadow: var(--tsb-shadow, 0 2px 12px rgba(26, 20, 40, 0.06));
    overflow: hidden;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--grid-figma .cum-preview-root.team-sched-builder-aside-inner {
    border-radius: 0;
}

.jbf-team-schedule-builder-fullscreen .team-sched-builder-shell .team-sched-builder-body--grid-figma .team-sched-builder-canvas {
    border-left: none;
    border-right: none;
}

.team-sched-builder-shell .team-sched-builder-public-head h3 {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--tsb-ink-muted, #5b5366);
}

.team-sched-builder-shell .team-sched-builder-col-toggle.rz-button {
    min-width: 2rem;
    border-radius: 8px;
}

.team-sched-builder-canvas {
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--tsb-canvas, #f4f1f8);
    border-left: 1px solid var(--tsb-line, #e3dce8);
    border-right: 1px solid var(--tsb-line, #e3dce8);
}

.team-sched-builder-shell .team-sched-main-scroll {
    flex: 1;
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding: 18px 20px 24px;
}

.team-sched-builder-shell .team-sched-builder-main {
    min-height: 0;
    height: 100%;
    padding: 0;
}

.team-sched-builder-shell .team-sched-shift-card {
    border-radius: var(--tsb-radius-sm, 10px);
    box-shadow: var(--tsb-shadow-card, 0 1px 3px rgba(26, 20, 40, 0.07));
    border: 1px solid rgba(227, 220, 232, 0.95);
    position: relative;
    padding-left: 18px;
    overflow: hidden;
    background: var(--tsb-surface, #fff);
}

.team-sched-builder-shell .team-sched-shift-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--shift-accent, #6b4c9a);
}

.team-sched-builder-shell .team-sched-shift-card.selected {
    border-color: var(--tsb-accent, #5c3d7a);
    box-shadow: 0 0 0 2px rgba(92, 61, 122, 0.12), var(--tsb-shadow-card, 0 1px 3px rgba(26, 20, 40, 0.07));
}

.team-sched-builder-shell .team-sched-public-card {
    box-shadow: var(--tsb-shadow-card, 0 1px 3px rgba(26, 20, 40, 0.07));
    border-color: rgba(227, 220, 232, 0.6);
    background: var(--tsb-surface, #fff);
}

.team-sched-builder-shell .team-sched-builder-list-table {
    background: var(--tsb-surface, #fff);
    border-radius: var(--tsb-radius-sm, 10px);
    overflow: hidden;
    box-shadow: var(--tsb-shadow-card, 0 1px 3px rgba(26, 20, 40, 0.07));
}

.team-sched-builder-shell .team-sched-builder-list-table thead {
    background: var(--tsb-surface-2, #fbf9fc);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--tsb-ink-muted, #5b5366);
}

.team-sched-builder-shell .team-sched-builder-list-table tbody tr.selected {
    background: var(--tsb-accent-soft, #ede6f5);
    box-shadow: inset 3px 0 0 var(--tsb-accent, #5c3d7a);
}

.team-sched-builder-shell .team-sched-role-group-title {
    color: var(--tsb-accent, #5c3d7a);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.team-sched-builder-shell .team-sched-builder-aside {
    position: relative;
    top: auto;
    max-height: none;
    min-height: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--tsb-surface, #fff);
}

.team-sched-builder-shell .cum-preview-root.team-sched-builder-aside-inner {
    border: none;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    flex: 1;
    overflow: auto;
    padding: 20px 22px 24px;
}

.team-sched-builder-shell .cum-preview-root.team-sched-builder-aside-inner.team-sched-builder-aside-inner--shift-form {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding-bottom: 16px;
}

.team-sched-builder-aside-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 200px;
    padding: 24px 12px;
}

.team-sched-builder-empty-title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--tsb-ink, #1a1428);
}

.team-sched-builder-empty-hint {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--tsb-ink-muted, #5b5366);
    max-width: 240px;
}

.team-sched-builder-empty-add {
    margin-top: 20px;
}

.team-sched-builder-shell .cum-preview-root.team-sched-builder-aside-inner .cum-preview-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--tsb-ink-muted, #5b5366);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.team-sched-builder-shell .rz-textbox,
.team-sched-builder-shell .rz-dropdown,
.team-sched-builder-shell .rz-numeric,
.team-sched-builder-shell .rz-datepicker {
    border-radius: var(--tsb-radius-sm, 10px) !important;
}

/* Pill primary is for toolbar-style CTAs in the preview chrome, not form footers (use default Radzen). */
.team-sched-builder-shell .team-sched-builder-aside-actions:not(.team-sched-shift-form-footer) .rz-button.rz-primary {
    border-radius: 999px;
    font-weight: 700;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

/* xs/sm tier (<= --bp-md = 768). 767.98 mirrors --bp-md; @media can't deref vars. */
@media (max-width: 767.98px) {
    .team-sched-date-stepper,
    .team-sched-toolbar-right {
        width: 100%;
    }

    .team-sched-date-stepper .rz-button,
    .team-sched-toolbar-right .rz-button {
        flex: 1 1 calc(50% - 6px);
    }

    .team-sched-toolbar-right .rz-dropdown {
        width: 100% !important;
    }

    .team-sched-filter-chips {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .team-sched-chip {
        width: 100%;
        text-align: center;
    }

    .team-sched-shift-preview-inner.cum-preview-root {
        padding: 16px;
    }

    .team-sched-shift-preview-footer .rz-button {
        flex: 1 1 100%;
    }

    .team-sched-builder-body {
        grid-template-columns: 1fr;
    }

    .team-sched-builder-body--3col {
        grid-template-columns: 1fr;
    }

    .team-sched-builder-body--3col.team-sched-builder-body--collapse-public {
        grid-template-columns: 1fr;
    }

    .team-sched-builder-body--3col.team-sched-builder-body--collapse-public .team-sched-builder-public-col {
        display: none;
    }

    .team-sched-builder-body--3col.team-sched-builder-body--grid-figma {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        grid-template-areas:
            "date"
            "public"
            "main"
            "aside";
    }

    .team-sched-builder-body--grid-figma .team-sched-date-card-layout .team-sched-full-schedule-link {
        margin-left: 0;
        width: 100%;
        text-align: right;
    }

    .team-sched-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-sched-builder-aside {
        position: relative;
        max-height: none;
    }

    .team-sched-view-segments {
        width: 100%;
        justify-content: flex-start;
    }

    .team-sched-toolbar-layout {
        grid-template-columns: 1fr;
    }

    .team-sched-toolbar-layout-center {
        justify-content: flex-start;
    }

    .team-sched-toolbar-layout-right {
        justify-content: flex-start;
    }

    .team-sched-builder-controls-row {
        flex-direction: column;
        align-items: stretch;
    }

    .team-sched-builder-controls-meta {
        justify-content: space-between;
    }
}

/* ─── Assign Team Member panel (right-aside, schedule builder) ─────────── */

.team-sched-assign-subtitle {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.4;
}

.team-sched-assign-search-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
}

.team-sched-assign-search-input {
    flex: 1 1 200px;
    min-width: 180px;
}

.team-sched-assign-search-group {
    flex: 0 0 180px;
    min-width: 160px;
}

.team-sched-assign-empty {
    padding: 16px 0 4px;
}

.team-sched-assign-results {
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-top: 1px solid var(--cum-border, #f0ebf2);
    padding-top: 8px;
}

.team-sched-assign-row {
    display: grid;
    grid-template-columns: auto 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 8px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 120ms ease;
}

.team-sched-assign-row:hover {
    background: var(--cum-card-hover, #faf6fb);
}

.team-sched-assign-row.is-selected {
    background: var(--cum-card-active, #f3edf6);
}

.team-sched-assign-row.is-disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.team-sched-assign-row.is-disabled:hover {
    background: transparent;
}

.team-sched-assign-row-avatar {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: var(--cum-avatar-bg, #efe6f3);
    color: var(--cum-avatar-fg, #4b3675);
    font-weight: 600;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-sched-assign-row-meta {
    min-width: 0;
}

.team-sched-assign-row-name {
    font-weight: 600;
    color: var(--cum-text, #1c1430);
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-sched-assign-row-sub {
    font-size: 12px;
    color: var(--cum-muted, #6f6483);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.team-sched-assign-row-dot {
    margin: 0 4px;
}

.team-sched-assign-row-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--cum-badge-bg, #efe6f3);
    color: var(--cum-badge-fg, #4b3675);
    white-space: nowrap;
}

.team-sched-assign-row-badge.is-muted {
    background: var(--cum-badge-muted-bg, #f1eef5);
    color: var(--cum-muted, #6f6483);
}

.team-sched-assign-helper {
    flex: 1 1 100%;
    font-size: 12px;
    margin-bottom: 4px;
}

.team-sched-builder-shell .team-sched-builder-aside-actions.team-sched-shift-form-footer .team-sched-assign-helper {
    flex: 1 1 100%;
}

.team-sched-assign-body.cum-preview-body {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .team-sched-assign-search-group {
        flex: 1 1 100%;
    }

    .team-sched-assign-row {
        grid-template-columns: auto 36px minmax(0, 1fr);
    }

    .team-sched-assign-row-badge {
        grid-column: 2 / -1;
        justify-self: start;
        margin-top: 2px;
    }
}
