/* _content/CraftX.Web/Components/Components/HrOverviewWidget.razor.rz.scp.css */
.hr-overview-widget[b-ldynzo50ac] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--cx-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.widget-header[b-ldynzo50ac] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, var(--cx-content-bg-2, var(--sand)) 0%, var(--cx-card-bg) 100%);
    border-bottom: 1px solid var(--cx-content-bg-2, var(--sand));
}

.widget-title-section[b-ldynzo50ac] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.widget-icon[b-ldynzo50ac] {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, var(--cx-info) 0%, var(--cx-info) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.125rem;
}

.widget-title[b-ldynzo50ac] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.widget-subtitle[b-ldynzo50ac] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    margin: 0.125rem 0 0 0;
}

.widget-link[b-ldynzo50ac] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-info);
    text-decoration: none;
    padding: 0.5rem 0.875rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.widget-link:hover[b-ldynzo50ac] {
    background: rgba(31, 74, 130, 0.06);
    color: var(--cx-info);
}

.widget-link i[b-ldynzo50ac] {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.widget-link:hover i[b-ldynzo50ac] {
    transform: translateX(3px);
}

.widget-content[b-ldynzo50ac] {
    flex: 1;
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.loading-state[b-ldynzo50ac],
.error-state[b-ldynzo50ac] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    text-align: center;
    color: var(--cx-text-muted);
}

.error-icon[b-ldynzo50ac] {
    width: 48px;
    height: 48px;
    background: rgba(169, 117, 20, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--cx-warning);
}

.retry-btn[b-ldynzo50ac] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-text-muted);
    background: var(--cx-content-bg-2, var(--sand));
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.retry-btn:hover:not(:disabled)[b-ldynzo50ac] {
    background: var(--cx-border);
    color: var(--cx-text-secondary);
}

.retry-btn:disabled[b-ldynzo50ac] {
    cursor: not-allowed;
    opacity: 0.5;
}

/* Action rows */
.action-row[b-ldynzo50ac] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.875rem;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}

.action-row:hover[b-ldynzo50ac] {
    background: var(--cx-content-bg-2, var(--sand));
    transform: translateX(2px);
}

.action-icon-wrapper[b-ldynzo50ac] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
}

.action-icon-wrapper.present[b-ldynzo50ac] {
    background: rgba(63, 125, 91, 0.08);
    color: var(--cx-success);
}

.action-icon-wrapper.pending[b-ldynzo50ac] {
    background: rgba(169, 117, 20, 0.15);
    color: var(--cx-warning);
}

.action-icon-wrapper.correction[b-ldynzo50ac] {
    background: rgba(154, 59, 51, 0.10);
    color: var(--cx-danger);
}

.action-info[b-ldynzo50ac] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.action-label[b-ldynzo50ac] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ink);
}

.action-detail[b-ldynzo50ac] {
    font-size: 0.725rem;
    color: var(--cx-text-muted);
}

.action-count[b-ldynzo50ac] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--cx-text-secondary);
    min-width: 28px;
    text-align: center;
    padding: 0.25rem 0.5rem;
    border-radius: 8px;
    background: var(--cx-content-bg-2, var(--sand));
}

.action-count.warning[b-ldynzo50ac] {
    background: rgba(169, 117, 20, 0.15);
    color: var(--cx-warning);
}

.action-count.danger[b-ldynzo50ac] {
    background: rgba(154, 59, 51, 0.10);
    color: var(--cx-danger);
}

.all-clear[b-ldynzo50ac] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.5rem;
    color: var(--cx-success);
    font-size: 0.875rem;
    font-weight: 500;
}

.all-clear i[b-ldynzo50ac] {
    font-size: 1.125rem;
}

.widget-footer[b-ldynzo50ac] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background: var(--cx-content-bg-2, var(--sand));
    border-top: 1px solid var(--cx-content-bg-2, var(--sand));
}

.last-update[b-ldynzo50ac] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.last-update i[b-ldynzo50ac] {
    font-size: 0.6875rem;
}

.refresh-btn[b-ldynzo50ac] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--cx-text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
}

.refresh-btn:hover:not(:disabled)[b-ldynzo50ac] {
    background: var(--cx-content-bg-2, var(--sand));
    color: var(--cx-text-secondary);
}

.refresh-btn:disabled[b-ldynzo50ac] {
    cursor: not-allowed;
    opacity: 0.5;
}

[b-ldynzo50ac] .spinning {
    animation: spin-b-ldynzo50ac 1s linear infinite;
}

@keyframes spin-b-ldynzo50ac {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/* _content/CraftX.Web/Components/Components/MyAttendanceWidget.razor.rz.scp.css */
.my-attendance-widget[b-720foft3j6] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--cx-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.widget-header[b-720foft3j6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, var(--cx-content-bg-2, var(--sand)) 0%, var(--cx-card-bg) 100%);
    border-bottom: 1px solid var(--cx-content-bg-2, var(--sand));
}

.widget-title-section[b-720foft3j6] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.widget-icon[b-720foft3j6] {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, var(--cx-success) 0%, var(--cx-success) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.125rem;
}

.widget-title[b-720foft3j6] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.widget-subtitle[b-720foft3j6] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    margin: 0.125rem 0 0 0;
}

.widget-link[b-720foft3j6] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-success);
    text-decoration: none;
    padding: 0.5rem 0.875rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.widget-link:hover[b-720foft3j6] {
    background: rgba(63, 125, 91, 0.08);
    color: var(--cx-success);
}

.widget-link i[b-720foft3j6] {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.widget-link:hover i[b-720foft3j6] {
    transform: translateX(3px);
}

.widget-content[b-720foft3j6] {
    flex: 1;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.loading-state[b-720foft3j6],
.error-state[b-720foft3j6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    text-align: center;
    color: var(--cx-text-muted);
}

.error-icon[b-720foft3j6] {
    width: 48px;
    height: 48px;
    background: rgba(169, 117, 20, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--cx-warning);
}

.retry-btn[b-720foft3j6] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-text-muted);
    background: var(--cx-content-bg-2, var(--sand));
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.retry-btn:hover:not(:disabled)[b-720foft3j6] {
    background: var(--cx-border);
    color: var(--cx-text-secondary);
}

.retry-btn:disabled[b-720foft3j6] {
    cursor: not-allowed;
    opacity: 0.5;
}

.status-row[b-720foft3j6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1rem;
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 10px;
}

.status-indicator[b-720foft3j6] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.status-dot[b-720foft3j6] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--cx-border);
}

.status-indicator.present .status-dot[b-720foft3j6] {
    background: var(--cx-success);
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
    animation: pulse-dot-b-720foft3j6 2s ease-in-out infinite;
}

@keyframes pulse-dot-b-720foft3j6 {
    0%, 100% { box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2); }
    50% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.1); }
}

.status-text[b-720foft3j6] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--cx-text-secondary);
}

.status-indicator.present .status-text[b-720foft3j6] {
    color: var(--cx-success);
}

.clock-in-time[b-720foft3j6] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--cx-text-muted);
}

.clock-in-time i[b-720foft3j6] {
    font-size: 0.75rem;
}

.metrics-row[b-720foft3j6] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.metric-card[b-720foft3j6] {
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    border: 1px solid var(--cx-content-bg-2, var(--sand));
}

.metric-value[b-720foft3j6] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ink);
}

.metric-label[b-720foft3j6] {
    font-size: 0.75rem;
    color: var(--cx-text-muted);
    margin-top: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.widget-footer[b-720foft3j6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background: var(--cx-content-bg-2, var(--sand));
    border-top: 1px solid var(--cx-content-bg-2, var(--sand));
}

.last-update[b-720foft3j6] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.last-update i[b-720foft3j6] {
    font-size: 0.6875rem;
}

.refresh-btn[b-720foft3j6] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--cx-text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
}

.refresh-btn:hover:not(:disabled)[b-720foft3j6] {
    background: var(--cx-content-bg-2, var(--sand));
    color: var(--cx-text-secondary);
}

.refresh-btn:disabled[b-720foft3j6] {
    cursor: not-allowed;
    opacity: 0.5;
}

/* Clock In/Out Action */
.clock-action[b-720foft3j6] {
    margin-top: 0.25rem;
}

.clock-btn[b-720foft3j6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.625rem;
    border: none;
    border-radius: 10px;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.clock-btn:disabled[b-720foft3j6] {
    opacity: 0.6;
    cursor: not-allowed;
}

.clock-in[b-720foft3j6] {
    background: rgba(63, 125, 91, 0.08);
    color: var(--cx-success);
    border: 1px solid rgba(63, 125, 91, 0.25);
}

.clock-in:hover:not(:disabled)[b-720foft3j6] {
    background: rgba(63, 125, 91, 0.12);
    border-color: rgba(63, 125, 91, 0.40);
}

.clock-out[b-720foft3j6] {
    background: rgba(154, 59, 51, 0.06);
    color: var(--cx-danger);
    border: 1px solid rgba(154, 59, 51, 0.20);
}

.clock-out:hover:not(:disabled)[b-720foft3j6] {
    background: rgba(154, 59, 51, 0.10);
    border-color: rgba(154, 59, 51, 0.35);
}

/* Clock-Out Dialog */
.clockout-overlay[b-720foft3j6] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
}

.clockout-dialog[b-720foft3j6] {
    background: white;
    border-radius: 16px;
    width: 380px;
    max-width: 90vw;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

.clockout-header[b-720foft3j6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--cx-content-bg-2, var(--sand));
}

.clockout-header h4[b-720foft3j6] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
}

.clockout-close[b-720foft3j6] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 8px;
    color: var(--cx-text-muted);
    cursor: pointer;
    transition: all 0.15s;
}

.clockout-close:hover[b-720foft3j6] {
    background: var(--cx-border);
    color: var(--cx-text-secondary);
}

.clockout-body[b-720foft3j6] {
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.clockout-summary[b-720foft3j6] {
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 10px;
    padding: 0.875rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.clockout-row[b-720foft3j6] {
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
    color: var(--cx-text-muted);
}

.clockout-row strong[b-720foft3j6] {
    color: var(--ink);
}

.clockout-field[b-720foft3j6] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.clockout-field label[b-720foft3j6] {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-text-secondary);
}

.clockout-field small[b-720foft3j6] {
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.clockout-footer[b-720foft3j6] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--cx-content-bg-2, var(--sand));
    background: var(--cx-content-bg-2, var(--sand));
}

.clockout-cancel[b-720foft3j6] {
    padding: 0.5rem 1rem;
    border: 1px solid var(--cx-border);
    border-radius: 8px;
    background: white;
    color: var(--cx-text-muted);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.clockout-cancel:hover[b-720foft3j6] {
    background: var(--cx-content-bg-2, var(--sand));
    border-color: var(--cx-border);
}

.clockout-confirm[b-720foft3j6] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 8px;
    background: var(--cx-danger);
    color: white;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s;
}

.clockout-confirm:hover:not(:disabled)[b-720foft3j6] {
    background: var(--cx-danger);
}

.clockout-confirm:disabled[b-720foft3j6] {
    opacity: 0.6;
    cursor: not-allowed;
}

[b-720foft3j6] .spinning {
    animation: spin-b-720foft3j6 1s linear infinite;
}

@keyframes spin-b-720foft3j6 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/* _content/CraftX.Web/Components/Components/MyLeaveWidget.razor.rz.scp.css */
.my-leave-widget[b-xaz5vjytot] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--cx-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.widget-header[b-xaz5vjytot] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, var(--cx-content-bg-2, var(--sand)) 0%, var(--cx-card-bg) 100%);
    border-bottom: 1px solid var(--cx-content-bg-2, var(--sand));
}

.widget-title-section[b-xaz5vjytot] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.widget-icon[b-xaz5vjytot] {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, var(--cx-warning) 0%, var(--cx-warning) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.125rem;
}

.widget-title[b-xaz5vjytot] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.widget-subtitle[b-xaz5vjytot] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    margin: 0.125rem 0 0 0;
}

.widget-link[b-xaz5vjytot] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-warning);
    text-decoration: none;
    padding: 0.5rem 0.875rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.widget-link:hover[b-xaz5vjytot] {
    background: rgba(169, 117, 20, 0.06);
    color: var(--cx-warning);
}

.widget-link i[b-xaz5vjytot] {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.widget-link:hover i[b-xaz5vjytot] {
    transform: translateX(3px);
}

.widget-content[b-xaz5vjytot] {
    flex: 1;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.loading-state[b-xaz5vjytot],
.error-state[b-xaz5vjytot],
.empty-state[b-xaz5vjytot] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    text-align: center;
    color: var(--cx-text-muted);
}

.empty-state i[b-xaz5vjytot] {
    font-size: 1.5rem;
    color: var(--cx-border);
}

.error-icon[b-xaz5vjytot] {
    width: 48px;
    height: 48px;
    background: rgba(169, 117, 20, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--cx-warning);
}

.retry-btn[b-xaz5vjytot] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-text-muted);
    background: var(--cx-content-bg-2, var(--sand));
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.retry-btn:hover:not(:disabled)[b-xaz5vjytot] {
    background: var(--cx-border);
    color: var(--cx-text-secondary);
}

.retry-btn:disabled[b-xaz5vjytot] {
    cursor: not-allowed;
    opacity: 0.5;
}

/* Leave bar visualization */
.leave-bar-container[b-xaz5vjytot] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.leave-bar[b-xaz5vjytot] {
    position: relative;
    height: 8px;
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 4px;
    overflow: hidden;
}

.leave-bar-used[b-xaz5vjytot] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--cx-warning), var(--cx-warning));
    border-radius: 4px;
    transition: width 0.5s ease;
}

.leave-bar-pending[b-xaz5vjytot] {
    position: absolute;
    top: 0;
    height: 100%;
    background: repeating-linear-gradient(
        45deg,
        rgba(169, 117, 20, 0.45),
        rgba(169, 117, 20, 0.45) 3px,
        rgba(169, 117, 20, 0.25) 3px,
        rgba(169, 117, 20, 0.25) 6px
    );
    border-radius: 0 4px 4px 0;
    transition: width 0.5s ease, left 0.5s ease;
}

.leave-bar-labels[b-xaz5vjytot] {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.leave-available[b-xaz5vjytot] {
    font-weight: 600;
    color: var(--cx-success);
}

/* Metrics */
.metrics-row[b-xaz5vjytot] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
    gap: 0.75rem;
}

.metric-card[b-xaz5vjytot] {
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    border: 1px solid var(--cx-content-bg-2, var(--sand));
}

.metric-card.pending[b-xaz5vjytot] {
    background: rgba(169, 117, 20, 0.06);
    border-color: rgba(169, 117, 20, 0.25);
}

.metric-value[b-xaz5vjytot] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ink);
}

.metric-card.pending .metric-value[b-xaz5vjytot] {
    color: var(--cx-warning);
}

.metric-label[b-xaz5vjytot] {
    font-size: 0.75rem;
    color: var(--cx-text-muted);
    margin-top: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Footer */
.widget-footer[b-xaz5vjytot] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background: var(--cx-content-bg-2, var(--sand));
    border-top: 1px solid var(--cx-content-bg-2, var(--sand));
}

.last-update[b-xaz5vjytot] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.last-update i[b-xaz5vjytot] {
    font-size: 0.6875rem;
}

.refresh-btn[b-xaz5vjytot] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--cx-text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
}

.refresh-btn:hover:not(:disabled)[b-xaz5vjytot] {
    background: var(--cx-content-bg-2, var(--sand));
    color: var(--cx-text-secondary);
}

.refresh-btn:disabled[b-xaz5vjytot] {
    cursor: not-allowed;
    opacity: 0.5;
}

[b-xaz5vjytot] .spinning {
    animation: spin-b-xaz5vjytot 1s linear infinite;
}

@keyframes spin-b-xaz5vjytot {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/* _content/CraftX.Web/Components/Components/PendingPaymentsWidget.razor.rz.scp.css */
.pending-payments-widget[b-3n6bppgkxt] {
    background: white;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--cx-border);
    overflow: visible;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.widget-header[b-3n6bppgkxt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(135deg, var(--cx-content-bg-2, var(--sand)) 0%, var(--cx-card-bg) 100%);
    border-bottom: 1px solid var(--cx-content-bg-2, var(--sand));
    border-radius: 16px 16px 0 0;
}

.widget-title-section[b-3n6bppgkxt] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.widget-icon[b-3n6bppgkxt] {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, var(--cx-success) 0%, var(--cx-success) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.125rem;
}

.widget-title[b-3n6bppgkxt] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
}

.widget-subtitle[b-3n6bppgkxt] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    margin: 0.125rem 0 0 0;
}

.widget-link[b-3n6bppgkxt] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-success);
    text-decoration: none;
    padding: 0.5rem 0.875rem;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.widget-link:hover[b-3n6bppgkxt] {
    background: rgba(63, 125, 91, 0.08);
    color: var(--cx-success);
}

.widget-link i[b-3n6bppgkxt] {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.widget-link:hover i[b-3n6bppgkxt] {
    transform: translateX(3px);
}

.widget-content[b-3n6bppgkxt] {
    flex: 1;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.loading-state[b-3n6bppgkxt],
.error-state[b-3n6bppgkxt],
.empty-state[b-3n6bppgkxt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    text-align: center;
    color: var(--cx-text-muted);
}

.empty-icon[b-3n6bppgkxt] {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, rgba(63, 125, 91, 0.12) 0%, rgba(63, 125, 91, 0.25) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--cx-success);
    margin-bottom: 0.5rem;
}

.empty-title[b-3n6bppgkxt] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--ink);
}

.empty-subtitle[b-3n6bppgkxt] {
    font-size: 0.8125rem;
    color: var(--cx-text-muted);
}

.error-icon[b-3n6bppgkxt] {
    width: 48px;
    height: 48px;
    background: rgba(169, 117, 20, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--cx-warning);
}

.retry-btn[b-3n6bppgkxt] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cx-text-muted);
    background: var(--cx-content-bg-2, var(--sand));
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.retry-btn:hover:not(:disabled)[b-3n6bppgkxt] {
    background: var(--cx-border);
    color: var(--cx-text-secondary);
}

.retry-btn:disabled[b-3n6bppgkxt] {
    cursor: not-allowed;
    opacity: 0.5;
}

.metrics-row[b-3n6bppgkxt] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.metric-card[b-3n6bppgkxt] {
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    border: 1px solid var(--cx-content-bg-2, var(--sand));
}

.metric-card.highlight[b-3n6bppgkxt] {
    background: linear-gradient(135deg, rgba(154, 59, 51, 0.06) 0%, rgba(154, 59, 51, 0.10) 100%);
    border-color: rgba(154, 59, 51, 0.20);
}

.metric-value[b-3n6bppgkxt] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ink);
}

.metric-card.highlight .metric-value[b-3n6bppgkxt] {
    color: var(--cx-danger);
}

.metric-label[b-3n6bppgkxt] {
    font-size: 0.75rem;
    color: var(--cx-text-muted);
    margin-top: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
}

/* Info icon + tooltip */
.info-icon[b-3n6bppgkxt] {
    font-size: 0.6875rem;
    color: var(--cx-text-muted);
    cursor: help;
    line-height: 1;
    flex-shrink: 0;
}

.metric-card.highlight .info-icon[b-3n6bppgkxt] {
    color: rgba(154, 59, 51, 0.55);
}

.info-tooltip-wrapper[b-3n6bppgkxt] {
    position: relative;
    display: inline-flex;
    align-items: center;
    outline: none;
}

.info-tooltip[b-3n6bppgkxt] {
    display: none;
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--ink);
    color: var(--cx-content-bg-2, var(--sand));
    font-size: 0.75rem;
    padding: 0.625rem 0.875rem;
    border-radius: 10px;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    z-index: 1050;
    pointer-events: none;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    min-width: 180px;
    flex-direction: column;
    gap: 0.3rem;
}

.info-tooltip[b-3n6bppgkxt]::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--ink);
}

.info-tooltip strong[b-3n6bppgkxt] {
    display: block;
    font-weight: 600;
    font-size: 0.8rem;
    color: #fff;
    margin-bottom: 0.1rem;
}

.info-tooltip span[b-3n6bppgkxt] {
    display: block;
    color: var(--cx-border);
    font-size: 0.73rem;
}

.tooltip-divider[b-3n6bppgkxt] {
    display: block;
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin: 0.2rem 0 !important;
}

.tooltip-row[b-3n6bppgkxt] {
    display: flex !important;
    align-items: center;
    gap: 0.35rem;
    color: var(--cx-border) !important;
}

.tooltip-row strong[b-3n6bppgkxt] {
    display: inline !important;
    font-weight: 600;
    color: #fff;
    font-size: inherit;
    margin-bottom: 0;
}

.tooltip-overdue-icon[b-3n6bppgkxt] {
    color: rgba(154, 59, 51, 0.55) !important;
    font-size: 0.65rem;
    flex-shrink: 0;
}

.tooltip-pending-icon[b-3n6bppgkxt] {
    color: rgba(169, 117, 20, 0.70) !important;
    font-size: 0.65rem;
    flex-shrink: 0;
}

.tooltip-ok-icon[b-3n6bppgkxt] {
    color: var(--cx-success) !important;
    font-size: 0.65rem;
    flex-shrink: 0;
}

.info-tooltip-wrapper:hover .info-tooltip[b-3n6bppgkxt],
.info-tooltip-wrapper:focus .info-tooltip[b-3n6bppgkxt] {
    display: flex;
}

.overdue-alert[b-3n6bppgkxt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    background: linear-gradient(135deg, rgba(154, 59, 51, 0.06) 0%, rgba(154, 59, 51, 0.10) 100%);
    border-radius: 10px;
    border: 1px solid rgba(154, 59, 51, 0.20);
}

.alert-icon[b-3n6bppgkxt] {
    width: 36px;
    height: 36px;
    background: rgba(154, 59, 51, 0.20);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cx-danger);
    font-size: 1rem;
    flex-shrink: 0;
}

.alert-content[b-3n6bppgkxt] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.alert-title[b-3n6bppgkxt] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cx-danger);
}

.alert-amount[b-3n6bppgkxt] {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--cx-danger);
}

.oldest-info[b-3n6bppgkxt] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    font-size: 0.8125rem;
    color: var(--cx-text-muted);
    padding: 0.75rem;
    background: var(--cx-content-bg-2, var(--sand));
    border-radius: 8px;
}

.oldest-info i[b-3n6bppgkxt] {
    color: var(--cx-text-muted);
}

.oldest-info strong[b-3n6bppgkxt] {
    color: var(--cx-text-secondary);
}

.invoice-info[b-3n6bppgkxt] {
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.action-buttons[b-3n6bppgkxt] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: auto;
}

.action-btn[b-3n6bppgkxt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.action-btn.primary[b-3n6bppgkxt] {
    background: linear-gradient(135deg, var(--cx-success) 0%, var(--cx-success) 100%);
    color: white;
}

.action-btn.primary:hover[b-3n6bppgkxt] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

.action-btn.secondary[b-3n6bppgkxt] {
    background: var(--cx-content-bg-2, var(--sand));
    color: var(--cx-text-secondary);
}

.action-btn.secondary:hover[b-3n6bppgkxt] {
    background: var(--cx-border);
    color: var(--cx-text-secondary);
}

.widget-footer[b-3n6bppgkxt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1.5rem;
    background: var(--cx-content-bg-2, var(--sand));
    border-top: 1px solid var(--cx-content-bg-2, var(--sand));
    border-radius: 0 0 16px 16px;
}

.last-update[b-3n6bppgkxt] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--cx-text-muted);
}

.last-update i[b-3n6bppgkxt] {
    font-size: 0.6875rem;
}

.refresh-btn[b-3n6bppgkxt] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--cx-text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
}

.refresh-btn:hover:not(:disabled)[b-3n6bppgkxt] {
    background: var(--cx-content-bg-2, var(--sand));
    color: var(--cx-text-secondary);
}

.refresh-btn:disabled[b-3n6bppgkxt] {
    cursor: not-allowed;
    opacity: 0.5;
}

[b-3n6bppgkxt] .spinning {
    animation: spin-b-3n6bppgkxt 1s linear infinite;
}

@keyframes spin-b-3n6bppgkxt {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
/* _content/CraftX.Web/Components/InvoiceProcessing/EInvoiceDocumentView.razor.rz.scp.css */
/*
 * A structured e-invoice, rendered as the document it is.
 *
 * The layout borrows from paper on purpose: the reviewer's task is "read the invoice", and a
 * form-like presentation would compete with the actual form on the other side of the splitter.
 * White sheet on the paper background, one accent (the amount due), everything else typography.
 */

.eiv-container[b-n0dja94cvu] {
    height: 100%;
    overflow-y: auto;
    background: var(--paper-2);
    padding: 14px;
}

/* ── Loading / unreadable states ────────────────────────────────────── */

.eiv-empty[b-n0dja94cvu],
.eiv-unreadable[b-n0dja94cvu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    text-align: center;
    color: var(--cx-text-muted);
    padding: 2rem;
}

.eiv-empty > .bi[b-n0dja94cvu],
.eiv-unreadable > .bi[b-n0dja94cvu] {
    font-size: 34px;
    margin-bottom: 10px;
    opacity: 0.55;
}

.eiv-unreadable-title[b-n0dja94cvu] {
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
    margin: 0 0 4px;
}

.eiv-unreadable-hint[b-n0dja94cvu] {
    font-size: 13px;
    max-width: 42ch;
    margin: 0;
}

/* ── Toolbar above the sheet ────────────────────────────────────────── */

.eiv-toolbar[b-n0dja94cvu] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.eiv-format[b-n0dja94cvu] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline);
    font-size: 12px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-secondary);
    white-space: nowrap;
}

.eiv-filename[b-n0dja94cvu] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    color: var(--cx-text-muted);
    font-family: var(--font-mono);
}

.eiv-download[b-n0dja94cvu] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: var(--radius-md);
    border: 1px solid var(--cx-hairline);
    background: var(--cx-card-bg);
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-secondary);
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.eiv-download:hover[b-n0dja94cvu] {
    border-color: var(--cx-text-secondary);
    color: var(--cx-text-primary);
}

/* The same affordance as an anchor, for the state where there are no bytes to build a download
   from and only the stored original can still be offered. */
.eiv-download-link[b-n0dja94cvu] {
    margin-top: 14px;
    text-decoration: none;
}

/* ── Findings ───────────────────────────────────────────────────────── */

.eiv-findings[b-n0dja94cvu] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.eiv-finding[b-n0dja94cvu] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 8px 12px;
    border-radius: var(--radius-md);
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline);
    border-left-width: 3px;
    font-size: 13px;
}

.eiv-finding.is-warning[b-n0dja94cvu] {
    border-left-color: var(--cx-warning);
}

.eiv-finding.is-error[b-n0dja94cvu] {
    border-left-color: var(--cx-danger);
}

/* Recorded at import and since answered by the form: shown, not deleted, with what the field says
   now beside what the file said then. */
.eiv-finding.is-resolved[b-n0dja94cvu] {
    border-left-color: var(--cx-success);
}

.eiv-finding > .bi[b-n0dja94cvu] {
    flex: 0 0 auto;
    font-size: 14px;
    line-height: 1.4;
}

.eiv-finding.is-warning > .bi[b-n0dja94cvu] { color: var(--cx-warning); }
.eiv-finding.is-error > .bi[b-n0dja94cvu] { color: var(--cx-danger); }
.eiv-finding.is-resolved > .bi[b-n0dja94cvu] { color: var(--cx-success); }

.eiv-finding-body[b-n0dja94cvu] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.eiv-finding-text[b-n0dja94cvu] {
    color: var(--cx-text-primary);
}

.eiv-finding-resolution[b-n0dja94cvu] {
    color: var(--cx-success);
}

/* Touched, but not settled: the finding still applies, so it keeps the warning's colour. */
.eiv-finding-followup[b-n0dja94cvu] {
    color: var(--cx-warning);
}

.eiv-finding-term[b-n0dja94cvu] {
    font-size: 11px;
    color: var(--cx-text-muted);
    font-family: var(--font-mono);
}

/* ── The sheet ──────────────────────────────────────────────────────── */

.eiv-sheet[b-n0dja94cvu] {
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-lg);
    padding: 26px 30px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.eiv-head[b-n0dja94cvu] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--cx-hairline);
    margin-bottom: 18px;
    flex-wrap: wrap;
}

.eiv-doctype[b-n0dja94cvu] {
    margin: 0;
    font-size: 19px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
    letter-spacing: 0.01em;
}

.eiv-number[b-n0dja94cvu] {
    display: block;
    margin-top: 2px;
    font-size: 14px;
    color: var(--cx-text-secondary);
    font-family: var(--font-mono);
}

.eiv-dates[b-n0dja94cvu] {
    display: flex;
    gap: 20px;
    margin: 0;
    flex-wrap: wrap;
}

.eiv-dates div[b-n0dja94cvu] {
    display: flex;
    flex-direction: column;
}

.eiv-dates dt[b-n0dja94cvu] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cx-text-muted);
    font-weight: var(--fw-semibold);
}

.eiv-dates dd[b-n0dja94cvu] {
    margin: 1px 0 0;
    font-size: 13.5px;
    color: var(--cx-text-primary);
}

/* ── Parties ────────────────────────────────────────────────────────── */

.eiv-parties[b-n0dja94cvu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 18px;
}

.eiv-party h4[b-n0dja94cvu] {
    margin: 0 0 6px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cx-text-muted);
    font-weight: var(--fw-semibold);
}

.eiv-address[b-n0dja94cvu] {
    font-style: normal;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--cx-text-primary);
    display: flex;
    flex-direction: column;
}

.eiv-party-name[b-n0dja94cvu] {
    font-weight: var(--fw-semibold);
}

.eiv-party-meta[b-n0dja94cvu] {
    font-size: 12px;
    color: var(--cx-text-muted);
}

/* ── References ─────────────────────────────────────────────────────── */

.eiv-refs[b-n0dja94cvu] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    margin: 0 0 18px;
    padding: 10px 14px;
    background: var(--paper);
    border-radius: var(--radius-md);
}

.eiv-refs div[b-n0dja94cvu] {
    display: flex;
    flex-direction: column;
}

.eiv-refs dt[b-n0dja94cvu] {
    font-size: 11px;
    color: var(--cx-text-muted);
    font-weight: var(--fw-semibold);
}

.eiv-refs dd[b-n0dja94cvu] {
    margin: 0;
    font-size: 13px;
    color: var(--cx-text-primary);
    font-family: var(--font-mono);
}

/* ── Lines ──────────────────────────────────────────────────────────── */

.eiv-lines[b-n0dja94cvu] {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
    font-size: 13px;
}

.eiv-lines th[b-n0dja94cvu] {
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cx-text-muted);
    font-weight: var(--fw-semibold);
    padding: 0 8px 6px 0;
    border-bottom: 1px solid var(--cx-hairline);
    white-space: nowrap;
}

.eiv-lines td[b-n0dja94cvu] {
    padding: 7px 8px 7px 0;
    border-bottom: 1px solid var(--cx-hairline-soft);
    vertical-align: top;
    color: var(--cx-text-primary);
}

.eiv-lines .c-pos[b-n0dja94cvu] { width: 44px; color: var(--cx-text-muted); }
.eiv-lines .c-qty[b-n0dja94cvu],
.eiv-lines .c-price[b-n0dja94cvu],
.eiv-lines .c-tax[b-n0dja94cvu],
.eiv-lines .c-total[b-n0dja94cvu] {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.eiv-lines th.c-qty[b-n0dja94cvu],
.eiv-lines th.c-price[b-n0dja94cvu],
.eiv-lines th.c-tax[b-n0dja94cvu],
.eiv-lines th.c-total[b-n0dja94cvu] {
    text-align: right;
}

.eiv-line-name[b-n0dja94cvu] {
    display: block;
    font-weight: 500;
}

.eiv-line-desc[b-n0dja94cvu] {
    display: block;
    font-size: 12px;
    color: var(--cx-text-muted);
    margin-top: 1px;
    white-space: pre-line;
}

.eiv-nolines[b-n0dja94cvu] {
    font-size: 13px;
    color: var(--cx-text-muted);
    background: var(--paper);
    border-radius: var(--radius-md);
    padding: 10px 14px;
    margin: 0 0 16px;
}

/* ── Totals ─────────────────────────────────────────────────────────── */

.eiv-totals-wrap[b-n0dja94cvu] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.eiv-totals[b-n0dja94cvu] {
    min-width: 300px;
    max-width: 380px;
    margin: 0;
}

.eiv-totals div[b-n0dja94cvu] {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 3px 0;
    font-size: 13.5px;
}

.eiv-totals dt[b-n0dja94cvu] {
    color: var(--cx-text-secondary);
    font-weight: 400;
}

.eiv-totals dd[b-n0dja94cvu] {
    margin: 0;
    color: var(--cx-text-primary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.eiv-totals .eiv-grand[b-n0dja94cvu] {
    border-top: 1px solid var(--cx-hairline);
    margin-top: 4px;
    padding-top: 7px;
    font-weight: var(--fw-semibold);
}

.eiv-totals .eiv-grand dt[b-n0dja94cvu] { color: var(--cx-text-primary); }

.eiv-totals .eiv-due[b-n0dja94cvu] {
    font-weight: var(--fw-semibold);
    font-size: 14.5px;
}

.eiv-totals .eiv-due dd[b-n0dja94cvu] { color: var(--cx-success); }

/* ── Payment & notes ────────────────────────────────────────────────── */

.eiv-payment h4[b-n0dja94cvu] {
    margin: 0 0 6px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cx-text-muted);
    font-weight: var(--fw-semibold);
}

.eiv-payment dl[b-n0dja94cvu] {
    margin: 0 0 14px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.eiv-payment dl div[b-n0dja94cvu] {
    display: flex;
    gap: 10px;
    font-size: 13px;
}

.eiv-payment dt[b-n0dja94cvu] {
    flex: 0 0 110px;
    color: var(--cx-text-muted);
}

.eiv-payment dd[b-n0dja94cvu] {
    margin: 0;
    color: var(--cx-text-primary);
}

.eiv-mono[b-n0dja94cvu] {
    font-family: var(--font-mono);
    /* People compare the IBAN against master data — let one click select it whole. */
    user-select: all;
}

.eiv-notes[b-n0dja94cvu] {
    border-top: 1px solid var(--cx-hairline-soft);
    padding-top: 10px;
}

.eiv-notes p[b-n0dja94cvu] {
    font-size: 12.5px;
    color: var(--cx-text-secondary);
    margin: 0 0 6px;
    white-space: pre-line;
}

/* ── Narrow panes ───────────────────────────────────────────────────── */

@media (max-width: 720px) {
    .eiv-sheet[b-n0dja94cvu] {
        padding: 18px 16px;
    }

    .eiv-parties[b-n0dja94cvu] {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .eiv-totals[b-n0dja94cvu] {
        min-width: 0;
        width: 100%;
    }
}
/* _content/CraftX.Web/Components/InvoiceProcessing/EInvoiceFindingsStrip.razor.rz.scp.css */
/*
 * Stored e-invoice findings, shown where the document viewer cannot show them itself.
 * Same visual language as the findings block inside EInvoiceDocumentView: card rows with a
 * severity-coloured left edge — ochre for "check this", brick only for real errors.
 */

.efs-strip[b-d4brbqg4pb] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 12px 0;
}

.efs-finding[b-d4brbqg4pb] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 8px 12px;
    border-radius: var(--radius-md);
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline);
    border-left-width: 3px;
    font-size: 13px;
}

.efs-finding.is-warning[b-d4brbqg4pb] {
    border-left-color: var(--cx-warning);
}

.efs-finding.is-error[b-d4brbqg4pb] {
    border-left-color: var(--cx-danger);
}

/* The import finding still reads as it was recorded; the row states that the field it complains
   about has since been filled in, so the two are not read as contradicting each other. */
.efs-finding.is-resolved[b-d4brbqg4pb] {
    border-left-color: var(--cx-success);
}

.efs-finding > .bi[b-d4brbqg4pb] {
    flex: 0 0 auto;
    font-size: 14px;
    line-height: 1.4;
}

.efs-finding.is-warning > .bi[b-d4brbqg4pb] { color: var(--cx-warning); }
.efs-finding.is-error > .bi[b-d4brbqg4pb] { color: var(--cx-danger); }
.efs-finding.is-resolved > .bi[b-d4brbqg4pb] { color: var(--cx-success); }

.efs-body[b-d4brbqg4pb] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.efs-text[b-d4brbqg4pb] {
    color: var(--cx-text-primary);
}

.efs-resolution[b-d4brbqg4pb] {
    color: var(--cx-success);
}

/* The field was touched but the finding still stands — stated in the warning's own colour, not in
   the colour of an all-clear. */
.efs-followup[b-d4brbqg4pb] {
    color: var(--cx-warning);
}

.efs-term[b-d4brbqg4pb] {
    font-size: 11px;
    color: var(--cx-text-muted);
    font-family: var(--font-mono);
}
/* _content/CraftX.Web/Components/InvoiceProcessing/InvoiceApprovalHoldPanel.razor.rz.scp.css */
/*
 * Reservations standing in the way of releasing a document.
 *
 * Deliberately not an alert. An alert says "something is wrong"; this says "here is what is left to
 * do, and here is how". The ochre accent carries that: it is the palette's attention colour without
 * the finality of brick red, which in this product means an error the user cannot act on.
 *
 * The panel turns patina green once nothing is open, and resolved rows stay in place with a check —
 * the reviewer needs to see that the release button came alive for a reason they caused.
 */

.iah-panel[b-rhypnhm4vz] {
    margin-bottom: 16px;
    padding: 14px 16px;
    background: var(--paper-2);
    border: 1px solid var(--cx-hairline);
    border-left: 3px solid var(--cx-warning);
    border-radius: var(--radius-xl);
}

.iah-panel.is-clear[b-rhypnhm4vz] {
    border-left-color: var(--cx-success);
    background: var(--paper);
}

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

.iah-head[b-rhypnhm4vz] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
}

.iah-head > .bi[b-rhypnhm4vz] {
    font-size: 16px;
    color: var(--cx-warning);
    line-height: 1;
}

.iah-panel.is-clear .iah-head > .bi[b-rhypnhm4vz] {
    color: var(--cx-success);
}

.iah-title[b-rhypnhm4vz] {
    flex: 1 1 auto;
    font-size: 13.5px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
}

.iah-count[b-rhypnhm4vz] {
    flex: 0 0 auto;
    padding: 2px 9px;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--cx-warning) 16%, white);
    color: var(--cx-warning);
    font-size: 11px;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}

.iah-panel.is-clear .iah-count[b-rhypnhm4vz] {
    background: color-mix(in srgb, var(--cx-success) 14%, white);
    color: var(--cx-success);
}

/* ── Items ──────────────────────────────────────────────────────────── */

.iah-list[b-rhypnhm4vz] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.iah-item[b-rhypnhm4vz] {
    display: flex;
    gap: 10px;
    padding: 11px 12px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline-soft);
    border-radius: var(--radius-md);
}

.iah-item + .iah-item[b-rhypnhm4vz] {
    margin-top: 0;
}

.iah-marker[b-rhypnhm4vz] {
    flex: 0 0 auto;
    margin-top: 1px;
    font-size: 14px;
    color: var(--cx-warning);
    line-height: 1.4;
}

.iah-item.is-resolved[b-rhypnhm4vz] {
    /* Present but quiet: it is a record now, not a task. */
    opacity: 0.62;
}

.iah-item.is-resolved .iah-marker[b-rhypnhm4vz] {
    color: var(--cx-success);
}

.iah-body[b-rhypnhm4vz] {
    flex: 1 1 auto;
    min-width: 0;
}

.iah-item-title[b-rhypnhm4vz] {
    font-size: 13px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
    margin-bottom: 3px;
}

.iah-text[b-rhypnhm4vz] {
    margin: 0 0 5px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--cx-text-secondary, var(--cx-text-primary));
}

.iah-text:last-child[b-rhypnhm4vz] {
    margin-bottom: 0;
}

.iah-muted[b-rhypnhm4vz] {
    color: var(--cx-text-muted);
}

.iah-done[b-rhypnhm4vz] {
    color: var(--cx-success);
}

/*
 * The address is the thing the reviewer is actually being asked to judge, so it is set apart and
 * kept selectable — people copy it to compare against a supplier record or a previous mail.
 */
.iah-email[b-rhypnhm4vz] {
    display: inline-block;
    padding: 1px 7px;
    border-radius: var(--radius-sm);
    background: var(--paper-2);
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--cx-text-primary);
    word-break: break-all;
    user-select: all;
}

/* ── Resolution affordances ─────────────────────────────────────────── */

.iah-actions[b-rhypnhm4vz] {
    margin-top: 8px;
}

.iah-btn[b-rhypnhm4vz] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 13px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-warning);
    border-radius: var(--radius-md);
    color: var(--cx-warning);
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.iah-btn:hover:not(:disabled)[b-rhypnhm4vz] {
    background: var(--cx-warning);
    color: #fff;
}

.iah-btn:disabled[b-rhypnhm4vz] {
    opacity: 0.55;
    cursor: not-allowed;
}

.iah-btn:focus-visible[b-rhypnhm4vz] {
    outline: 2px solid var(--cx-warning);
    outline-offset: 2px;
}

.iah-check[b-rhypnhm4vz] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--cx-text-primary);
    cursor: pointer;
}

.iah-check input[b-rhypnhm4vz] {
    flex: 0 0 auto;
    margin-top: 2px;
    width: 15px;
    height: 15px;
    accent-color: var(--cx-warning);
    cursor: pointer;
}

.iah-check input:disabled[b-rhypnhm4vz] {
    cursor: not-allowed;
}

/* ── Failure of the resolution itself ───────────────────────────────── */

.iah-error[b-rhypnhm4vz] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0 0;
    font-size: 12.5px;
    color: var(--cx-danger);
}

@media (max-width: 640px) {
    .iah-panel[b-rhypnhm4vz] {
        padding: 12px;
    }

    .iah-count[b-rhypnhm4vz] {
        display: none; /* the header text already says what is open */
    }
}
/* _content/CraftX.Web/Components/InvoiceProcessing/InvoiceGridComponent.razor.rz.scp.css */
:host[b-kpbmekx21h] {
}

/* Ensure horizontal scrolling is available even with frozen right column */
:host[b-kpbmekx21h]  .invoice-validation-grid .e-gridcontent,
:host[b-kpbmekx21h]  .invoice-validation-grid .e-movablecontent {
    overflow-x: scroll !important;
    -webkit-overflow-scrolling: touch;
}

/* Provide a minimum width so outer wrappers can present a scrollbar if needed */
:host[b-kpbmekx21h]  .invoice-validation-grid {
    min-width: 1280px; /* prevents columns from collapsing too far and enables wrapper scroll */
}

/* Small padding to avoid frozen-right overlay covering the horizontal scrollbar */
:host[b-kpbmekx21h]  .invoice-validation-grid .e-movablecontent {
    padding-bottom: 2px;
}

:host[b-kpbmekx21h]  .skonto-payment-indicator {
    display: inline-flex;
    align-items: center;
    font-size: 0.85rem;
    opacity: 0.85;
}

/*
 * "Absender offen" — the document is ready for review but cannot be released yet.
 *
 * Sits under the processing status rather than replacing it: the two are different facts, and
 * folding them into one badge would either hide that the extraction succeeded or hide that the
 * release is blocked. Ochre, not red: nothing has gone wrong, something is simply still owed.
 */
.status-cell[b-kpbmekx21h] {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.sender-hold-chip[b-kpbmekx21h] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 7px;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--cx-warning) 15%, white);
    color: var(--cx-warning);
    font-size: 10.5px;
    font-weight: var(--fw-semibold);
    line-height: 1.6;
    white-space: nowrap;
    cursor: help;
}

.sender-hold-chip .bi[b-kpbmekx21h] {
    font-size: 11px;
}

/*
 * Error column: the whole first two lines of the message, then an ellipsis. Replaces a hard
 * 47-character cut that beheaded every German sentence right after its English prefix; the
 * full text stays on the tooltip.
 */
.error-cell-text[b-kpbmekx21h] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}
/* _content/CraftX.Web/Components/InvoiceProcessing/InvoiceReviewDialog.razor.rz.scp.css */
/* 
 * InvoiceReviewDialog specific styles with CSS isolation
 * Hides the dialog header completely and provides custom close button styling
 */

/* Hide the dialog header completely */
[b-vngnmr3hlh] .invoice-validation-dialog .e-dlg-header-content {
    display: none !important;
}

/* Since we're removing the header, adjust the content to use full height */
[b-vngnmr3hlh] .invoice-validation-dialog .e-dlg-content {
    height: 100%;
    padding: 0;
}

/* Ensure dialog container uses full viewport space on ultrawide too.
   The maintenance banner (z-index 12000) stays visible above all dialogs;
   offset the full-screen dialog so the action bar is not covered. */
[b-vngnmr3hlh] .invoice-validation-dialog.e-dialog.e-popup {
    display: flex;
    flex-direction: column;
    width: 100vw !important;
    height: calc(100vh - var(--cx-maintenance-banner-h, 0px)) !important;
    max-width: 100vw !important;
    max-height: calc(100vh - var(--cx-maintenance-banner-h, 0px)) !important;
    top: var(--cx-maintenance-banner-h, 0px) !important;
    left: 0 !important;
    transform: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Content should fill remaining space */
[b-vngnmr3hlh] .invoice-validation-dialog .e-dlg-content {
    height: 100% !important;
    max-height: 100% !important;
}

/* Custom close button styling in the action bar */
.dialog-action-bar[b-vngnmr3hlh] {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    display: flex;
    gap: 10px;
}

/*
 * Close button — must remain visually prominent because the fullscreen dialog
 * hides the native Syncfusion header, making this the only dismiss affordance.
 * Uses solid fill, visible border, and shadow to guarantee contrast against any
 * underlying content (white PDF pane, light form, etc.).
 */
.dialog-action-bar .btn-close[b-vngnmr3hlh] {
    background: var(--cx-card-bg);
    border: 1.5px solid var(--cx-card-border);
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cx-text-primary);
    cursor: pointer;
    transition: all 0.15s ease;
    font-size: 16px;
    padding: 0;
    opacity: 1;
}

.dialog-action-bar .btn-close:hover[b-vngnmr3hlh] {
    background: var(--paper-2);
    border-color: var(--cx-text-muted);
    color: var(--cx-text-primary);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
    transform: scale(1.05);
}

.dialog-action-bar .btn-close:active[b-vngnmr3hlh] {
    transform: scale(0.95);
    background: var(--paper-2);
}

.dialog-action-bar .btn-close:focus-visible[b-vngnmr3hlh] {
    outline: 2px solid var(--copper);
    outline-offset: 2px;
}

/*
 * Why the release button is dead, stated next to it.
 *
 * The reason used to live only in a title attribute on a wrapper span — invisible on touch, and on
 * a desktop only findable by hovering a button that looks unremarkable. The result was a control
 * whose refusal you could only discover by pressing it.
 */
.approve-hold-note[b-vngnmr3hlh] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    /* Its own line, so neither the sentence nor the buttons have to give way. */
    flex: 1 1 100%;
    max-width: 340px;
    margin-left: auto;
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--cx-warning);
    text-align: left;
}

.approve-hold-note .bi[b-vngnmr3hlh] {
    flex: 0 0 auto;
    font-size: 14px;
}

/*
 * E-Rechnung marker: the values in this form were read from the invoice's own XML, not
 * estimated. Patina, not ochre — this is reassurance, and it changes what "prüfen" means
 * for the reviewer (plausibility, not transcription).
 */
.digital-invoice-chip[b-vngnmr3hlh] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 7px 12px;
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--cx-success) 10%, white);
    border: 1px solid color-mix(in srgb, var(--cx-success) 30%, white);
    color: var(--cx-success);
    font-size: 12.5px;
    font-weight: var(--fw-semibold);
    cursor: help;
}

.digital-invoice-chip .bi[b-vngnmr3hlh] {
    flex: 0 0 auto;
    font-size: 14px;
}
/* _content/CraftX.Web/Components/InvoiceProcessing/VoucherReviewDialog.razor.rz.scp.css */
.voucher-review-dialog[b-95juhkuba0] {
    --bs-modal-padding: 0;
}

.voucher-review-dialog .e-dialog-content[b-95juhkuba0] {
    padding: 0;
    height: 100%;
}

.dialog-header[b-95juhkuba0] {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--cx-border-color);
    background-color: var(--paper-2);
}

.splitter-container[b-95juhkuba0] {
    height: calc(100vh - 120px);
}

.voucher-review-splitter[b-95juhkuba0] {
    height: 100%;
}

.pdf-panel[b-95juhkuba0],
.form-panel[b-95juhkuba0] {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.panel-header[b-95juhkuba0] {
    padding: 1rem;
    border-bottom: 1px solid var(--cx-border-color);
    background-color: var(--paper);
}

.pdf-viewer-section[b-95juhkuba0] {
    flex: 1;
    position: relative;
    overflow: hidden;
}

.form-content[b-95juhkuba0] {
    flex: 1;
    overflow-y: auto;
    max-height: calc(100vh - 200px);
}

.pdf-loading-overlay[b-95juhkuba0] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.skeleton-page[b-95juhkuba0] {
    width: 80%;
    height: 60%;
    background: linear-gradient(90deg, var(--paper-2) 25%, var(--cx-card-border) 50%, var(--paper-2) 75%);
    background-size: 200% 100%;
    animation: loading-b-95juhkuba0 1.5s infinite;
    border-radius: 8px;
}

.skeleton-loader[b-95juhkuba0] {
    width: 200px;
    height: 20px;
    background: linear-gradient(90deg, var(--paper-2) 25%, var(--cx-card-border) 50%, var(--paper-2) 75%);
    background-size: 200% 100%;
    animation: loading-b-95juhkuba0 1.5s infinite;
    border-radius: 4px;
}

@keyframes loading-b-95juhkuba0 {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.loading-overlay[b-95juhkuba0] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
}

.loading-content[b-95juhkuba0] {
    text-align: center;
}

.calculated-values[b-95juhkuba0] {
    background-color: var(--paper-2) !important;
    border: 1px solid var(--cx-card-border);
}

.calculated-values .fw-semibold[b-95juhkuba0] {
    font-size: 0.95rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .splitter-container[b-95juhkuba0] {
        height: calc(100vh - 100px);
    }
    
    .form-content[b-95juhkuba0] {
        max-height: calc(100vh - 180px);
    }
}

/* Form styling improvements */
.form-label[b-95juhkuba0] {
    font-weight: 600;
    color: var(--cx-text-primary);
    margin-bottom: 0.5rem;
}

.form-label .text-danger[b-95juhkuba0] {
    font-weight: 400;
}

/* Button styling */
.btn-success[b-95juhkuba0] {
    background-color: var(--cx-success);
    border-color: var(--cx-success);
}

.btn-success:hover[b-95juhkuba0] {
    background-color: var(--cx-success);
    border-color: var(--cx-success);
    opacity: 0.9;
}

/* Badge styling */
.badge[b-95juhkuba0] {
    font-size: 0.75rem;
    font-weight: 500;
}

/* SyncFusion overrides */
.voucher-review-dialog .e-splitter .e-split-bar[b-95juhkuba0] {
    background-color: var(--cx-border-color);
}

.voucher-review-dialog .e-splitter .e-split-bar:hover[b-95juhkuba0] {
    background-color: var(--cx-primary);
}
/* _content/CraftX.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-9bbx4omp1g] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-9bbx4omp1g] {
    flex: 1;
}
#blazor-error-ui[b-9bbx4omp1g] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-9bbx4omp1g] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/CraftX.Web/Components/Layout/MaintenanceBanner.razor.rz.scp.css */
.maintenance-banner[b-rccfvyeq4z] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 38px; /* must match --cx-maintenance-banner-h reserved by the shell */
    z-index: 12000; /* above the app bar, sidebar and Syncfusion dialogs */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0 1.25rem;
    background: linear-gradient(90deg, #b45309 0%, #d97706 100%);
    color: #fff;
    font-size: 0.875rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
    animation: maintenance-banner-slide-in-b-rccfvyeq4z 0.25s ease-out;
}

.maintenance-banner__icon[b-rccfvyeq4z] {
    font-size: 1.15rem;
    flex: 0 0 auto;
}

.maintenance-banner__text[b-rccfvyeq4z] {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: center;
    gap: 0.35rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.maintenance-banner__countdown[b-rccfvyeq4z] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.2);
    white-space: nowrap;
}

@keyframes maintenance-banner-slide-in-b-rccfvyeq4z {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}
/* _content/CraftX.Web/Components/Layout/SenderAccountBanner.razor.rz.scp.css */
/* Full-width notice above the page content while the tenant's own mailbox is unusable and mail
   falls back to the shared relay. Same shape as the trial banner, warning tone. */
.sender-banner[b-1fvbozhpx8] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1.25rem 0;
    padding: 0.75rem 1.1rem;
    border-radius: 10px;
    border: 1px solid #f1b8bd;
    background: #fbe9eb;
    color: #7a1c26;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
}

.sender-banner__icon[b-1fvbozhpx8] {
    font-size: 1.15rem;
    flex: 0 0 auto;
    color: #b02a37;
}

.sender-banner__text[b-1fvbozhpx8] {
    flex: 1 1 auto;
    min-width: 0;
}

.sender-banner__action[b-1fvbozhpx8] {
    flex: 0 0 auto;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    white-space: nowrap;
    background: #b02a37;
    color: #fff;
}

.sender-banner__action:hover[b-1fvbozhpx8] {
    background: #8f1f2b;
    color: #fff;
}

@media (max-width: 640px) {
    .sender-banner[b-1fvbozhpx8] {
        flex-wrap: wrap;
    }

    .sender-banner__action[b-1fvbozhpx8] {
        margin-left: auto;
    }
}
/* _content/CraftX.Web/Components/Layout/TrialStatusBanner.razor.rz.scp.css */
/* Full-width billing notice above the page content. Three tones: info (calm trial reminder,
   warm paper look matching the app), urgent (last trial days, amber), warning (failed payment). */
.trial-banner[b-626h28fkfi] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1.25rem 0;
    padding: 0.75rem 1.1rem;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.35;
}

.trial-banner__icon[b-626h28fkfi] {
    font-size: 1.15rem;
    flex: 0 0 auto;
}

.trial-banner__text[b-626h28fkfi] {
    flex: 1 1 auto;
    min-width: 0;
}

.trial-banner__action[b-626h28fkfi] {
    flex: 0 0 auto;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    white-space: nowrap;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

@media (max-width: 640px) {
    .trial-banner[b-626h28fkfi] {
        flex-wrap: wrap;
    }

    .trial-banner__action[b-626h28fkfi] {
        margin-left: auto;
    }
}

/* Urgent — trial ending within a few days. */
.trial-banner--urgent[b-626h28fkfi] {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #92400e;
}

.trial-banner--urgent .trial-banner__icon[b-626h28fkfi] {
    color: #b45309;
}

.trial-banner--urgent .trial-banner__action[b-626h28fkfi] {
    background: #b45309;
    color: #fff;
}

.trial-banner--urgent .trial-banner__action:hover[b-626h28fkfi] {
    background: #a04708;
}

/* Warning — payment failed, within the dunning grace window. */
.trial-banner--warning[b-626h28fkfi] {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

.trial-banner--warning .trial-banner__icon[b-626h28fkfi] {
    color: #b91c1c;
}

.trial-banner--warning .trial-banner__action[b-626h28fkfi] {
    background: #b91c1c;
    color: #fff;
}

.trial-banner--warning .trial-banner__action:hover[b-626h28fkfi] {
    background: #a11616;
}
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/AltdatenArchiv.razor.rz.scp.css */
.aa-page[b-tys65nfqft] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 4rem;
}

/* ── header ── */
.aa-head[b-tys65nfqft] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.aa-head h1[b-tys65nfqft] {
    font-size: 1.45rem;
    font-weight: 700;
    margin: 0;
    color: var(--cx-text, #1f2937);
}

.aa-head h1 i[b-tys65nfqft] { color: var(--copper, #b8601f); margin-right: .4rem; }

.aa-sub[b-tys65nfqft] { margin: .25rem 0 0; color: #6b7280; font-size: .9rem; }

.aa-total[b-tys65nfqft] {
    text-align: right;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: .5rem .9rem;
    min-width: 120px;
}

.aa-total b[b-tys65nfqft] { display: block; font-size: 1.4rem; color: var(--copper, #b8601f); line-height: 1.1; }
.aa-total span[b-tys65nfqft] { font-size: .72rem; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }

/* ── view toggle ── */
.aa-modes[b-tys65nfqft] {
    display: inline-flex;
    gap: .25rem;
    padding: .25rem;
    background: #f2efec;
    border-radius: 10px;
    margin-bottom: 1.1rem;
}
.aa-mode[b-tys65nfqft] {
    border: none;
    background: none;
    padding: .45rem .95rem;
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 600;
    color: #6b7280;
    cursor: pointer;
    transition: background .12s, color .12s;
}
.aa-mode i[b-tys65nfqft] { margin-right: .35rem; }
.aa-mode:hover[b-tys65nfqft] { color: var(--copper, #b8601f); }
.aa-mode.on[b-tys65nfqft] { background: #fff; color: var(--copper, #b8601f); box-shadow: 0 1px 3px rgba(0,0,0,.08); }

/* ── customer grid ── */
.aa-cust-grid[b-tys65nfqft] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: .6rem;
}
.aa-cust-card[b-tys65nfqft] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    text-align: left;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: .8rem .9rem;
    cursor: pointer;
    transition: border-color .12s, box-shadow .12s, transform .06s;
}
.aa-cust-card:hover[b-tys65nfqft] { border-color: var(--copper, #b8601f); box-shadow: 0 2px 12px rgba(0,0,0,.05); }
.aa-cust-card:active[b-tys65nfqft] { transform: translateY(1px); }

.aa-cust-top[b-tys65nfqft] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.aa-cust-name[b-tys65nfqft] { font-weight: 700; color: #1f2937; font-size: .96rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.aa-cust-meta[b-tys65nfqft] { display: flex; flex-wrap: wrap; gap: .1rem .8rem; font-size: .8rem; color: #6b7280; }
.aa-cust-meta i[b-tys65nfqft] { margin-right: .2rem; color: #9ca3af; }

.aa-cust-foot[b-tys65nfqft] { display: flex; flex-wrap: wrap; gap: .1rem .8rem; font-size: .78rem; color: #6b7280; border-top: 1px solid #f2f2f2; padding-top: .4rem; margin-top: .15rem; }
.aa-cust-count[b-tys65nfqft] { font-weight: 600; color: #374151; }
.aa-cust-count i[b-tys65nfqft] { margin-right: .25rem; color: #9ca3af; }
.aa-cust-open[b-tys65nfqft] { color: var(--copper, #b8601f); font-weight: 600; }

/* ── customer detail ── */
.aa-back[b-tys65nfqft] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 1px solid #e2e2e2;
    background: #fff;
    border-radius: 8px;
    padding: .4rem .8rem;
    font-size: .85rem;
    color: #374151;
    cursor: pointer;
    margin-bottom: .9rem;
}
.aa-back:hover[b-tys65nfqft] { border-color: var(--copper, #b8601f); color: var(--copper, #b8601f); }

.aa-vorg-h[b-tys65nfqft] {
    font-size: .9rem;
    font-weight: 700;
    color: #1f2937;
    margin: 1.1rem 0 .6rem;
}
.aa-vorg-h i[b-tys65nfqft] { color: var(--copper, #b8601f); margin-right: .35rem; }
.aa-vorg-h .aa-muted[b-tys65nfqft] { font-weight: 400; }

/* ── filters ── */
.aa-filters[b-tys65nfqft] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
    margin-bottom: 1.1rem;
}

.aa-search[b-tys65nfqft] {
    position: relative;
    flex: 1 1 320px;
    display: flex;
    align-items: center;
}

.aa-search i[b-tys65nfqft] { position: absolute; left: .75rem; color: #9ca3af; }

.aa-search input[b-tys65nfqft] {
    width: 100%;
    padding: .6rem .8rem .6rem 2.2rem;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    font-size: .92rem;
    background: #fff;
}

.aa-filters select[b-tys65nfqft] {
    padding: .6rem .7rem;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    background: #fff;
    font-size: .9rem;
    color: #374151;
}

.aa-search input:focus[b-tys65nfqft], .aa-filters select:focus[b-tys65nfqft] {
    outline: none;
    border-color: var(--copper, #b8601f);
    box-shadow: 0 0 0 3px rgba(184, 96, 31, .12);
}

.aa-clear[b-tys65nfqft] {
    border: none;
    background: none;
    color: #6b7280;
    font-size: .85rem;
    cursor: pointer;
    padding: .4rem .5rem;
}
.aa-clear:hover[b-tys65nfqft] { color: var(--copper, #b8601f); }

/* ── list ── */
.aa-list[b-tys65nfqft] { display: flex; flex-direction: column; gap: .55rem; }

.aa-card[b-tys65nfqft] {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    overflow: hidden;
    transition: border-color .12s, box-shadow .12s;
}
.aa-card:hover[b-tys65nfqft] { border-color: #dcdcdc; }
.aa-card.open[b-tys65nfqft] { border-color: var(--copper, #b8601f); box-shadow: 0 2px 12px rgba(0,0,0,.05); }

.aa-row[b-tys65nfqft] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .8rem 1rem;
    cursor: pointer;
}
.aa-row:focus-visible[b-tys65nfqft] {
    outline: 2px solid var(--copper, #b8601f);
    outline-offset: -2px;
    border-radius: 6px;
}

.aa-row-main[b-tys65nfqft] { flex: 1 1 auto; min-width: 0; }

.aa-row-top[b-tys65nfqft] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

.aa-num[b-tys65nfqft] { font-weight: 700; color: #1f2937; font-size: .95rem; }

.aa-party[b-tys65nfqft] { font-size: .9rem; color: #374151; margin-top: .15rem; }
.aa-title[b-tys65nfqft] { font-size: .82rem; color: #6b7280; margin-top: .1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 52ch; }

.aa-row-side[b-tys65nfqft] { text-align: right; flex: 0 0 auto; }
.aa-date[b-tys65nfqft] { font-size: .8rem; color: #6b7280; }
.aa-amount[b-tys65nfqft] { font-weight: 600; color: #1f2937; font-size: .95rem; }
.aa-docs-badge[b-tys65nfqft] { font-size: .75rem; color: #9ca3af; margin-top: .1rem; }

.aa-chev[b-tys65nfqft] { color: #c0c0c0; font-size: .85rem; }

.aa-muted[b-tys65nfqft] { color: #9ca3af; font-weight: 400; }

/* ── pills ── */
.aa-pill[b-tys65nfqft] {
    font-size: .7rem;
    font-weight: 600;
    padding: .12rem .5rem;
    border-radius: 999px;
    background: #f1f1f1;
    color: #555;
    white-space: nowrap;
}
.aa-mig[b-tys65nfqft] { background: rgba(63,125,91,.12); color: #2f6347; }

/* stage tints (by enum value) */
.aa-stage-2[b-tys65nfqft] { background: rgba(31,74,130,.12); color: #1f4a82; }   /* Quote */
.aa-stage-3[b-tys65nfqft] { background: rgba(63,125,91,.12); color: #2f6347; }   /* OrderConfirmed */
.aa-stage-4[b-tys65nfqft] { background: rgba(169,117,20,.14); color: #8a5e10; }  /* InProduction */
.aa-stage-5[b-tys65nfqft] { background: rgba(169,117,20,.14); color: #8a5e10; }  /* Delivered */
.aa-stage-6[b-tys65nfqft] { background: rgba(184,96,31,.14); color: #b8601f; }   /* PartiallyInvoiced */
.aa-stage-7[b-tys65nfqft] { background: rgba(63,125,91,.16); color: #2f6347; }   /* Invoiced */
.aa-stage-8[b-tys65nfqft] { background: rgba(91,75,138,.14); color: #5b4b8a; }   /* CreditNote */
.aa-stage-9[b-tys65nfqft] { background: #f1f1f1; color: #9ca3af; }               /* Lost */

/* ── customer rollup (the detail itself lives in LegacyVorgangDetail) ── */
.aa-stats[b-tys65nfqft] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1.75rem;
    padding: .75rem .9rem;
    margin-bottom: .75rem;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 10px;
}
.aa-stat[b-tys65nfqft] { display: flex; flex-direction: column; }
.aa-stat-label[b-tys65nfqft] { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; color: #9ca3af; }
.aa-stat-value[b-tys65nfqft] { font-weight: 700; color: #1f2937; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.aa-stat-value.aa-open[b-tys65nfqft] { color: var(--copper, #b8601f); }
.aa-stat-sm[b-tys65nfqft] { font-size: .9rem; font-weight: 600; }
.aa-stat-link[b-tys65nfqft] {
    margin-left: auto;
    font-size: .82rem;
    color: var(--copper, #b8601f);
    text-decoration: none;
    white-space: nowrap;
}
.aa-stat-link:hover[b-tys65nfqft] { text-decoration: underline; }

.aa-stage-counts[b-tys65nfqft] { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; }

.aa-tag[b-tys65nfqft] {
    font-size: .66rem;
    font-weight: 600;
    color: #fff;
    background: var(--tag, #9ca3af);
    padding: .1rem .4rem;
    border-radius: 5px;
    white-space: nowrap;
}

/* ── pager ── */
.aa-pager[b-tys65nfqft] { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.4rem; }
.aa-pager button[b-tys65nfqft] {
    border: 1px solid #d8d8d8;
    background: #fff;
    border-radius: 8px;
    padding: .45rem .8rem;
    font-size: .85rem;
    cursor: pointer;
    color: #374151;
}
.aa-pager button:disabled[b-tys65nfqft] { opacity: .45; cursor: default; }
.aa-pager span[b-tys65nfqft] { font-size: .85rem; color: #6b7280; }

/* ── empty / loading ── */
.aa-empty[b-tys65nfqft] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 3rem 1rem;
    color: #9ca3af;
    text-align: center;
}
.aa-error[b-tys65nfqft] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid #f3c2c2;
    border-radius: 8px;
    background: #fdecec;
    color: #b3261e;
    font-size: .9rem;
}

.aa-empty.sm[b-tys65nfqft] { padding: 1.25rem; }
.aa-empty i[b-tys65nfqft] { font-size: 1.8rem; }
.aa-empty small[b-tys65nfqft] { font-size: .8rem; }

.aa-spin[b-tys65nfqft] {
    width: 1rem; height: 1rem;
    border: 2px solid #ddd;
    border-top-color: var(--copper, #b8601f);
    border-radius: 50%;
    display: inline-block;
    animation: aa-spin-b-tys65nfqft .7s linear infinite;
}
@keyframes aa-spin-b-tys65nfqft { to { transform: rotate(360deg); } }

/* ── lightbox ── */
.aa-overlay[b-tys65nfqft] {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.6);
    display: flex; align-items: center; justify-content: center;
    z-index: 1080;
    padding: 2rem;
}
.aa-lightbox[b-tys65nfqft] {
    background: #fff;
    border-radius: 12px;
    width: min(900px, 95vw);
    height: min(90vh, 1100px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.aa-lb-head[b-tys65nfqft] { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; border-bottom: 1px solid #eee; }
.aa-lb-head .aa-muted[b-tys65nfqft] { font-size: .85rem; }
.aa-lb-head .aa-btn[b-tys65nfqft] { margin-left: auto; font-size: .8rem; color: #374151; text-decoration: none; border: 1px solid #d8d8d8; border-radius: 7px; padding: .3rem .6rem; }
.aa-lb-head .aa-btn:hover[b-tys65nfqft] { border-color: var(--copper, #b8601f); color: var(--copper, #b8601f); }
.aa-x[b-tys65nfqft] { border: none; background: none; font-size: 1.5rem; line-height: 1; color: #9ca3af; cursor: pointer; }
.aa-x:hover[b-tys65nfqft] { color: #1f2937; }
.aa-lb-body[b-tys65nfqft] { flex: 1 1 auto; overflow: auto; background: #f6f5f4; display: flex; }
.aa-lb-body img[b-tys65nfqft] { max-width: 100%; margin: auto; }
.aa-lb-body iframe[b-tys65nfqft] { width: 100%; height: 100%; border: none; }

@media (max-width: 640px) {
    .aa-row-side[b-tys65nfqft] { display: none; }
    .aa-title[b-tys65nfqft] { max-width: 30ch; }
}
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/AltdatenMigration.razor.rz.scp.css */
/* Altdaten-Migration — custom, Syncfusion-free cockpit UI */

.am-page[b-nmv0af9kli] {
    padding: 24px 28px 48px;
    max-width: 1500px;
}

/* ── header ───────────────────────────────────────────── */
.am-head[b-nmv0af9kli] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.am-title[b-nmv0af9kli] {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--cx-text-primary);
    margin: 0;
}
.am-subtitle[b-nmv0af9kli] {
    color: var(--cx-text-muted);
    font-size: 0.875rem;
    margin-top: 2px;
}
.am-head-actions[b-nmv0af9kli] { display: flex; gap: 8px; }

/* ── buttons ──────────────────────────────────────────── */
.am-btn[b-nmv0af9kli] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--cx-input-border);
    background: var(--cx-card-bg);
    color: var(--cx-text-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    padding: 7px 13px;
    border-radius: var(--radius-md, 8px);
    cursor: pointer;
    transition: background .12s, border-color .12s, color .12s;
    white-space: nowrap;
}
.am-btn:hover:not(:disabled)[b-nmv0af9kli] { background: var(--sand, #f3efe7); }
.am-btn:disabled[b-nmv0af9kli] { opacity: .5; cursor: default; }

.am-btn-primary[b-nmv0af9kli] {
    background: var(--cx-primary);
    border-color: var(--cx-primary);
    color: #fff;
}
.am-btn-primary:hover:not(:disabled)[b-nmv0af9kli] { background: var(--cx-primary-hover); }

.am-btn-success[b-nmv0af9kli] {
    background: var(--cx-success);
    border-color: var(--cx-success);
    color: #fff;
}
.am-btn-success:hover:not(:disabled)[b-nmv0af9kli] { filter: brightness(.94); background: var(--cx-success); }

.am-btn-ghost[b-nmv0af9kli] { background: transparent; border-color: transparent; color: var(--cx-text-secondary); }
.am-btn-ghost:hover:not(:disabled)[b-nmv0af9kli] { background: var(--sand, #f3efe7); }

.am-btn-sm[b-nmv0af9kli] { padding: 5px 10px; font-size: 0.78rem; }
.am-btn-lg[b-nmv0af9kli] { padding: 12px 22px; font-size: 0.98rem; font-weight: 600; }

/* get-started: numbered run-the-assistant steps */
.am-steps-list[b-nmv0af9kli] {
    text-align: left;
    max-width: 520px;
    margin: 4px auto 22px;
    padding-left: 22px;
    color: var(--cx-text-secondary);
    line-height: 1.7;
}
.am-steps-list li[b-nmv0af9kli] { margin-bottom: 4px; }
.am-steps-list b[b-nmv0af9kli] { color: var(--cx-text-primary); }

/* active state for the per-row decision buttons */
.am-btn-on-success[b-nmv0af9kli] { background: var(--success-50); border-color: var(--cx-success); color: var(--cx-success); }
.am-btn-on-primary[b-nmv0af9kli] { background: var(--cx-primary-soft); border-color: var(--cx-primary); color: var(--cx-primary); }
.am-btn-on-muted[b-nmv0af9kli]   { background: rgba(28,25,21,.06); border-color: var(--cx-text-muted); color: var(--cx-text-secondary); }

/* ── tabs ─────────────────────────────────────────────── */
.am-tabs[b-nmv0af9kli] {
    display: inline-flex;
    gap: 4px;
    background: rgba(28,25,21,.05);
    padding: 4px;
    border-radius: 10px;
    margin-bottom: 18px;
}
.am-tab[b-nmv0af9kli] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: none;
    background: transparent;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 7px;
    cursor: pointer;
    transition: background .12s, color .12s, box-shadow .12s;
}
.am-tab:hover[b-nmv0af9kli] { color: var(--cx-text-primary); }
.am-tab.active[b-nmv0af9kli] {
    background: var(--cx-card-bg);
    color: var(--cx-text-primary);
    box-shadow: var(--cx-shadow-sm, 0 1px 2px rgba(0,0,0,.06));
}
.am-tab-count[b-nmv0af9kli] {
    font-size: 0.72rem;
    font-weight: 700;
    background: rgba(28,25,21,.10);
    color: var(--cx-text-secondary);
    padding: 1px 8px;
    border-radius: 999px;
}
.am-tab.active .am-tab-count[b-nmv0af9kli] { background: var(--cx-primary-soft); color: var(--cx-primary); }

/* ── toolbar (per tab) ────────────────────────────────── */
.am-toolbar[b-nmv0af9kli] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.am-hint[b-nmv0af9kli] { color: var(--cx-text-muted); font-size: 0.82rem; max-width: 640px; }
.am-toolbar-actions[b-nmv0af9kli] { display: flex; gap: 8px; align-items: center; }

/* status summary chips */
.am-summary[b-nmv0af9kli] { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.am-sum-chip[b-nmv0af9kli] {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 0.78rem; font-weight: 600;
    padding: 4px 10px; border-radius: 999px;
    background: var(--cx-card-bg); border: 1px solid var(--cx-hairline);
    color: var(--cx-text-secondary);
}
.am-sum-dot[b-nmv0af9kli] { width: 8px; height: 8px; border-radius: 50%; }

/* ── card / table ─────────────────────────────────────── */
.am-card[b-nmv0af9kli] {
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--cx-card-radius, 14px);
    box-shadow: var(--cx-shadow-sm, 0 1px 2px rgba(0,0,0,.05));
    /* Safety net: a table wider than the viewport scrolls horizontally inside the card
       instead of being silently clipped (the right-hand action columns used to be cut off). */
    overflow-x: auto;
    overflow-y: hidden;
}
.am-table[b-nmv0af9kli] { width: 100%; border-collapse: collapse; }
/* The Vorgänge table carries many columns; keep it readable but let it scroll on
   narrow viewports rather than clip. */
.am-table-expand[b-nmv0af9kli] { min-width: 920px; }
.am-table thead th[b-nmv0af9kli] {
    text-align: left;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--cx-text-muted);
    padding: 12px 16px;
    background: var(--cx-content-bg);
    border-bottom: 1px solid var(--cx-hairline);
    white-space: nowrap;
}
.am-table tbody td[b-nmv0af9kli] {
    padding: 12px 16px;
    border-bottom: 1px solid var(--cx-hairline-soft);
    font-size: 0.875rem;
    color: var(--cx-text-primary);
    vertical-align: middle;
}
.am-table tbody tr:last-child td[b-nmv0af9kli] { border-bottom: none; }
.am-table tbody tr:hover[b-nmv0af9kli] { background: rgba(28,25,21,.02); }

.am-num[b-nmv0af9kli] { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.am-th-right[b-nmv0af9kli] { text-align: right; }
.am-muted[b-nmv0af9kli] { color: var(--cx-text-muted); }
.am-name[b-nmv0af9kli] { font-weight: 600; color: var(--cx-text-primary); }
.am-meta[b-nmv0af9kli] { font-size: 0.78rem; color: var(--cx-text-muted); margin-top: 2px; }

.am-title-cell[b-nmv0af9kli] {
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── pills ────────────────────────────────────────────── */
.am-pill[b-nmv0af9kli] {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 0.74rem; font-weight: 700;
    padding: 3px 10px; border-radius: 999px;
    white-space: nowrap;
}
.am-pill-success[b-nmv0af9kli] { background: var(--success-50); color: var(--cx-success); }
.am-pill-info[b-nmv0af9kli]    { background: var(--info-50);    color: var(--cx-info); }
.am-pill-warning[b-nmv0af9kli] { background: var(--warning-50); color: var(--cx-warning); }
.am-pill-primary[b-nmv0af9kli] { background: var(--cx-primary-soft); color: var(--cx-primary); }
.am-pill-muted[b-nmv0af9kli]   { background: rgba(28,25,21,.06); color: var(--cx-text-secondary); }
.am-pill-neutral[b-nmv0af9kli] { background: var(--cx-content-bg); color: var(--cx-text-secondary); border: 1px solid var(--cx-hairline); }

/* match suggestion cell */
.am-suggest[b-nmv0af9kli] { display: flex; align-items: center; gap: 8px; }
.am-conf[b-nmv0af9kli] {
    font-size: 0.72rem; font-weight: 700;
    color: var(--cx-text-muted);
    background: rgba(28,25,21,.05);
    padding: 1px 7px; border-radius: 999px;
}

/* row action group */
.am-actions[b-nmv0af9kli] { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: nowrap; }

/* segmented decision toggle (Vorgänge) */
.am-seg[b-nmv0af9kli] {
    display: inline-flex;
    border: 1px solid var(--cx-input-border);
    border-radius: 8px;
    overflow: hidden;
}
.am-seg button[b-nmv0af9kli] {
    border: none; background: var(--cx-card-bg);
    color: var(--cx-text-secondary);
    font-size: 0.78rem; font-weight: 600;
    padding: 5px 12px; cursor: pointer;
    transition: background .12s, color .12s;
}
.am-seg button + button[b-nmv0af9kli] { border-left: 1px solid var(--cx-input-border); }
.am-seg button:hover[b-nmv0af9kli] { background: var(--sand, #f3efe7); }
.am-seg button.on-yes[b-nmv0af9kli] { background: var(--success-50); color: var(--cx-success); }
.am-seg button.on-no[b-nmv0af9kli]  { background: rgba(28,25,21,.07); color: var(--cx-text-primary); }
/* Compact icon-only variant for dense tables (Vorgänge decision column) — saves the
   horizontal space the "Übernehmen / Nicht" text labels used to take. */
.am-seg-icon button[b-nmv0af9kli] { padding: 5px 11px; font-size: 0.95rem; line-height: 1; }
.am-seg-icon button i[b-nmv0af9kli] { display: block; }

/* ── state blocks ─────────────────────────────────────── */
.am-banner[b-nmv0af9kli] {
    display: flex; align-items: center; gap: 10px;
    background: var(--info-50); color: var(--cx-info);
    border: 1px solid color-mix(in srgb, var(--cx-info) 20%, transparent);
    border-radius: 10px; padding: 12px 16px; margin-bottom: 16px;
    font-size: 0.875rem; font-weight: 500;
}
.am-banner-ok[b-nmv0af9kli] {
    background: var(--success-50, #ecfdf3); color: var(--cx-success, #157347);
    border-color: color-mix(in srgb, var(--cx-success, #157347) 22%, transparent);
}
.am-banner-error[b-nmv0af9kli] {
    background: var(--danger-50, #fef3f2); color: var(--cx-danger, #b42318);
    border-color: color-mix(in srgb, var(--cx-danger, #b42318) 22%, transparent);
}
.am-btn-danger[b-nmv0af9kli] {
    background: var(--cx-danger, #b42318); border-color: var(--cx-danger, #b42318); color: #fff;
}
.am-btn-danger:hover:not(:disabled)[b-nmv0af9kli] { filter: brightness(.94); }
.am-warn-box[b-nmv0af9kli] {
    background: var(--danger-50, #fef3f2); color: var(--cx-danger, #b42318);
    border: 1px solid color-mix(in srgb, var(--cx-danger, #b42318) 22%, transparent);
    border-radius: 8px; padding: 10px 12px; font-size: 0.85rem; margin-top: 10px;
}
.am-spinner[b-nmv0af9kli] {
    width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid currentColor; border-right-color: transparent;
    animation: am-spin-b-nmv0af9kli .7s linear infinite;
}
@keyframes am-spin-b-nmv0af9kli { to { transform: rotate(360deg); } }
.am-empty[b-nmv0af9kli] { padding: 48px; text-align: center; color: var(--cx-text-muted); }

/* ── modal ────────────────────────────────────────────── */
.am-overlay[b-nmv0af9kli] {
    position: fixed; inset: 0;
    background: rgba(28,25,21,.45);
    display: flex; align-items: center; justify-content: center;
    z-index: 1080; padding: 24px;
}
.am-modal[b-nmv0af9kli] {
    background: var(--cx-card-bg);
    border-radius: var(--cx-card-radius, 14px);
    box-shadow: var(--cx-shadow-md, 0 12px 40px rgba(0,0,0,.18));
    width: 100%; max-width: 480px;
    display: flex; flex-direction: column;
    max-height: 86vh;
}
.am-modal.am-modal-lg[b-nmv0af9kli] { max-width: 760px; }
.am-modal-head[b-nmv0af9kli] {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 20px; border-bottom: 1px solid var(--cx-hairline);
}
.am-modal-head h4[b-nmv0af9kli] { margin: 0; font-size: 1.05rem; font-weight: 700; color: var(--cx-text-primary); }
.am-modal-body[b-nmv0af9kli] { padding: 20px; overflow: auto; }
.am-modal-foot[b-nmv0af9kli] {
    display: flex; justify-content: flex-end; gap: 8px;
    padding: 16px 20px; border-top: 1px solid var(--cx-hairline);
}
.am-x[b-nmv0af9kli] {
    border: none; background: transparent; cursor: pointer;
    color: var(--cx-text-muted); font-size: 1.2rem; line-height: 1;
    width: 30px; height: 30px; border-radius: 7px;
}
.am-x:hover[b-nmv0af9kli] { background: var(--sand, #f3efe7); color: var(--cx-text-primary); }

/* customer picker */
.am-search[b-nmv0af9kli] {
    width: 100%;
    border: 1px solid var(--cx-input-border);
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 0.9rem;
    color: var(--cx-text-primary);
    background: var(--cx-card-bg);
}
.am-search:focus[b-nmv0af9kli] { outline: none; border-color: var(--cx-primary); box-shadow: var(--cx-focus-ring); }
.am-picker-list[b-nmv0af9kli] {
    margin-top: 8px;
    border: 1px solid var(--cx-hairline);
    border-radius: 8px;
    max-height: 280px; overflow: auto;
}
.am-picker-item[b-nmv0af9kli] {
    display: block; width: 100%; text-align: left;
    border: none; background: transparent; cursor: pointer;
    padding: 9px 12px; font-size: 0.875rem; color: var(--cx-text-primary);
    border-bottom: 1px solid var(--cx-hairline-soft);
}
.am-picker-item:last-child[b-nmv0af9kli] { border-bottom: none; }
.am-picker-item:hover[b-nmv0af9kli] { background: var(--sand, #f3efe7); }
.am-picker-item.selected[b-nmv0af9kli] { background: var(--cx-primary-soft); color: var(--cx-primary); font-weight: 600; }

/* ── stepper ───────────────────────────────────────────── */
.am-steps[b-nmv0af9kli] {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 2px 0 24px;
    padding: 14px 18px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--cx-card-radius, 14px);
    box-shadow: var(--cx-shadow-sm, 0 1px 2px rgba(0,0,0,.05));
}
.am-step[b-nmv0af9kli] { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.am-step-num[b-nmv0af9kli] {
    width: 28px; height: 28px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 0.82rem;
    background: var(--cx-content-bg); color: var(--cx-text-muted);
    border: 1.5px solid var(--cx-hairline); flex: none;
    transition: background .15s, border-color .15s, color .15s, box-shadow .15s;
}
.am-step-lbl[b-nmv0af9kli] { font-size: 0.86rem; font-weight: 600; color: var(--cx-text-muted); white-space: nowrap; }
.am-step.done .am-step-num[b-nmv0af9kli] { background: var(--cx-success); border-color: var(--cx-success); color: #fff; }
.am-step.done .am-step-lbl[b-nmv0af9kli] { color: var(--cx-text-secondary); }
.am-step.active .am-step-num[b-nmv0af9kli] { background: var(--cx-primary); border-color: var(--cx-primary); color: #fff; box-shadow: 0 0 0 4px var(--cx-primary-soft); }
.am-step.active .am-step-lbl[b-nmv0af9kli] { color: var(--cx-text-primary); }
.am-step-con[b-nmv0af9kli] { flex: 1; height: 2px; min-width: 24px; margin: 0 14px; background: var(--cx-hairline); border-radius: 2px; transition: background .15s; }
.am-step-con.done[b-nmv0af9kli] { background: var(--cx-success); }

/* ── hero (pre-analysis) ──────────────────────────────── */
.am-hero[b-nmv0af9kli] {
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--cx-card-radius, 14px);
    box-shadow: var(--cx-shadow-sm, 0 1px 2px rgba(0,0,0,.05));
    padding: 40px;
    max-width: 720px;
    margin: 8px auto;
    text-align: center;
}
.am-hero-icon[b-nmv0af9kli] {
    width: 60px; height: 60px; border-radius: 16px;
    background: var(--cx-primary-soft); color: var(--cx-primary);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.7rem; margin-bottom: 18px;
}
.am-hero h2[b-nmv0af9kli] { font-size: 1.3rem; font-weight: 700; margin: 0 0 10px; color: var(--cx-text-primary); }
.am-hero p[b-nmv0af9kli] { color: var(--cx-text-secondary); font-size: 0.92rem; line-height: 1.6; margin: 0 auto 24px; max-width: 560px; }
.am-hero-counts[b-nmv0af9kli] { display: flex; gap: 14px; justify-content: center; margin-bottom: 26px; flex-wrap: wrap; }
.am-hero-count[b-nmv0af9kli] {
    background: var(--cx-content-bg); border: 1px solid var(--cx-hairline);
    border-radius: 12px; padding: 14px 26px; min-width: 110px;
}
.am-hero-count b[b-nmv0af9kli] { display: block; font-size: 1.6rem; font-weight: 700; color: var(--cx-text-primary); line-height: 1; }
.am-hero-count span[b-nmv0af9kli] { font-size: 0.76rem; color: var(--cx-text-muted); }
.am-hero .am-btn-primary[b-nmv0af9kli] { font-size: 0.95rem; padding: 11px 24px; }
.am-reassure[b-nmv0af9kli] { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }
.am-reassure span[b-nmv0af9kli] { font-size: 0.78rem; color: var(--cx-text-muted); display: inline-flex; align-items: center; gap: 6px; }
.am-reassure i[b-nmv0af9kli] { color: var(--cx-success); }

/* ── guide / next-step banners ────────────────────────── */
.am-guide[b-nmv0af9kli] {
    display: flex; align-items: flex-start; gap: 10px;
    background: var(--info-50); color: var(--cx-text-secondary);
    border: 1px solid color-mix(in srgb, var(--cx-info) 18%, transparent);
    border-radius: 10px; padding: 11px 15px; margin-bottom: 14px;
    font-size: 0.84rem; line-height: 1.5;
}
.am-guide i[b-nmv0af9kli] { color: var(--cx-info); margin-top: 1px; flex: none; }
.am-guide b[b-nmv0af9kli] { color: var(--cx-text-primary); }

.am-nextbar[b-nmv0af9kli] {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    margin-top: 16px; padding: 14px 18px;
    background: var(--success-50);
    border: 1px solid color-mix(in srgb, var(--cx-success) 24%, transparent);
    border-radius: 12px;
}
.am-nextbar-text[b-nmv0af9kli] { font-size: 0.88rem; color: var(--cx-text-primary); font-weight: 500; display: inline-flex; align-items: center; gap: 8px; }
.am-nextbar-text i[b-nmv0af9kli] { color: var(--cx-success); }

/* report summary tiles */
.am-report-tiles[b-nmv0af9kli] { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.am-tile[b-nmv0af9kli] {
    flex: 1; min-width: 120px;
    border: 1px solid var(--cx-hairline); border-radius: 10px;
    padding: 12px 14px; text-align: center;
}
.am-tile-num[b-nmv0af9kli] { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.am-tile-lbl[b-nmv0af9kli] { font-size: 0.74rem; color: var(--cx-text-muted); margin-top: 4px; }

/* ── warning variant of the guide banner ──────────────── */
.am-guide-warn[b-nmv0af9kli] {
    background: var(--warning-50);
    border-color: color-mix(in srgb, var(--cx-warning) 26%, transparent);
    align-items: center;
}
.am-guide-warn i[b-nmv0af9kli] { color: var(--cx-warning); }
.am-guide-warn .am-btn[b-nmv0af9kli] { margin-left: auto; flex: none; white-space: nowrap; }

/* ── expandable Vorgänge table ─────────────────────────── */
.am-th-expand[b-nmv0af9kli] { width: 36px; }
.am-expand-cell[b-nmv0af9kli] { width: 36px; text-align: center; }
.am-expand[b-nmv0af9kli] {
    border: none; background: transparent; cursor: pointer;
    color: var(--cx-text-muted); width: 26px; height: 26px;
    border-radius: 7px; display: inline-flex; align-items: center; justify-content: center;
    transition: background .12s, color .12s;
}
.am-expand:hover:not(:disabled)[b-nmv0af9kli] { background: var(--sand, #f3efe7); color: var(--cx-text-primary); }
.am-expand:disabled[b-nmv0af9kli] { opacity: .3; cursor: default; }
.am-table-expand tbody tr.am-row-open[b-nmv0af9kli] { background: var(--cx-content-bg); }
.am-table-expand tbody tr.am-row-open:hover[b-nmv0af9kli] { background: var(--cx-content-bg); }
.am-detail-row td[b-nmv0af9kli] { padding: 0 !important; background: var(--cx-content-bg); border-bottom: 1px solid var(--cx-hairline) !important; }
.am-detail-row:hover td[b-nmv0af9kli] { background: var(--cx-content-bg); }

/* clickable Belege pill */
.am-pill-btn[b-nmv0af9kli] { border: none; cursor: pointer; font: inherit; }
.am-pill-btn:hover[b-nmv0af9kli] { filter: brightness(.96); }

/* soft customer gate hint */
.am-gate-hint[b-nmv0af9kli] {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 0.72rem; color: var(--cx-warning); margin-top: 4px; font-weight: 600;
}

/* ── document gallery (detail grid body) ──────────────── */
.am-gallery[b-nmv0af9kli] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 16px;
    padding: 18px 20px 22px;
}
.am-doc[b-nmv0af9kli] {
    position: relative;
    border: 1px solid var(--cx-card-border);
    border-radius: 12px;
    background: var(--cx-card-bg);
    box-shadow: var(--cx-shadow-sm, 0 1px 2px rgba(0,0,0,.05));
    /* overflow visible so an open tag menu can escape the card; inner parts round themselves */
    transition: box-shadow .14s, opacity .14s;
}
.am-doc:hover[b-nmv0af9kli] { box-shadow: var(--cx-shadow-md, 0 8px 24px rgba(0,0,0,.12)); }
.am-doc.excluded[b-nmv0af9kli] { opacity: .5; }
.am-doc.excluded .am-doc-preview[b-nmv0af9kli] { filter: grayscale(.6); }

/* floating select checkbox (top-left) */
.am-doc-check[b-nmv0af9kli] {
    position: absolute; top: 8px; left: 8px; z-index: 3;
    width: 26px; height: 26px; border-radius: 7px;
    background: rgba(255,255,255,.92); box-shadow: 0 1px 4px rgba(0,0,0,.18);
    display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.am-doc-check input[b-nmv0af9kli] { width: 15px; height: 15px; cursor: pointer; accent-color: var(--cx-primary); margin: 0; }

/* preview surface */
.am-doc-preview[b-nmv0af9kli] {
    position: relative;
    height: 230px; background: #f5f3ee;
    cursor: zoom-in; overflow: hidden;
    border-radius: 12px 12px 0 0;
    display: flex; align-items: center; justify-content: center;
}
.am-doc-preview iframe[b-nmv0af9kli] { width: 100%; height: 100%; border: none; pointer-events: none; background: #fff; }
.am-doc-preview img[b-nmv0af9kli] { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.am-doc-zoom[b-nmv0af9kli] {
    position: absolute; top: 8px; right: 8px;
    width: 26px; height: 26px; border-radius: 7px;
    background: rgba(28,25,21,.6); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .8rem; opacity: 0; transition: opacity .14s;
}
.am-doc-preview:hover .am-doc-zoom[b-nmv0af9kli] { opacity: 1; }
.am-doc-noprev[b-nmv0af9kli] {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    color: var(--cx-text-muted); font-size: .78rem;
}
.am-doc-noprev i[b-nmv0af9kli] { font-size: 1.5rem; }

/* tag row (bottom of preview) */
.am-doc-tags[b-nmv0af9kli] {
    position: absolute; left: 8px; right: 8px; bottom: 42px;
    display: flex; gap: 6px; flex-wrap: wrap;
}
.am-tagwrap[b-nmv0af9kli] { position: relative; }
.am-tag[b-nmv0af9kli] {
    --tag: #9ca3af;
    display: inline-flex; align-items: center; gap: 5px;
    border: none; cursor: pointer;
    background: color-mix(in srgb, var(--tag) 16%, #fff);
    color: color-mix(in srgb, var(--tag) 72%, #000);
    border: 1px solid color-mix(in srgb, var(--tag) 40%, transparent);
    font-size: .72rem; font-weight: 700; padding: 3px 8px; border-radius: 999px;
    box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.am-tag i[b-nmv0af9kli] { font-size: .6rem; opacity: .7; }
.am-tag.paid[b-nmv0af9kli] { --tag: var(--cx-success); }
.am-tag.open[b-nmv0af9kli] { --tag: var(--cx-warning); }

/* tag dropdown menu */
.am-tagmenu[b-nmv0af9kli] {
    position: absolute; bottom: calc(100% + 5px); left: 0; z-index: 30;
    min-width: 170px; padding: 5px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border); border-radius: 10px;
    box-shadow: var(--cx-shadow-md, 0 12px 40px rgba(0,0,0,.18));
}
.am-tagmenu button[b-nmv0af9kli] {
    display: block; width: 100%; text-align: left;
    border: none; background: transparent; cursor: pointer;
    padding: 7px 10px; font-size: .8rem; border-radius: 7px;
    color: var(--cx-text-primary);
}
.am-tagmenu button:hover[b-nmv0af9kli] { background: var(--sand, #f3efe7); }
.am-tagmenu button.sel[b-nmv0af9kli] { background: var(--cx-primary-soft); color: var(--cx-primary); font-weight: 600; }
.am-menu-backdrop[b-nmv0af9kli] { position: fixed; inset: 0; z-index: 20; background: transparent; }

/* filename strip */
.am-doc-name[b-nmv0af9kli] {
    padding: 9px 12px; font-size: .76rem; color: var(--cx-text-secondary);
    border-top: 1px solid var(--cx-hairline-soft);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    background: var(--cx-card-bg); position: relative; z-index: 1;
    border-radius: 0 0 12px 12px;
}

/* ── lightbox ──────────────────────────────────────────── */
.am-lightbox[b-nmv0af9kli] { z-index: 1100; padding: 32px; }
.am-lightbox-inner[b-nmv0af9kli] {
    background: var(--cx-card-bg); border-radius: 14px;
    box-shadow: var(--cx-shadow-md, 0 12px 40px rgba(0,0,0,.3));
    width: 100%; max-width: 900px; height: 90vh;
    display: flex; flex-direction: column; overflow: hidden;
}
.am-lightbox-head[b-nmv0af9kli] {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 16px; border-bottom: 1px solid var(--cx-hairline);
}
.am-lightbox-title[b-nmv0af9kli] { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; }
.am-lightbox-body[b-nmv0af9kli] { flex: 1; background: #525659; }
.am-lightbox-body iframe[b-nmv0af9kli] { width: 100%; height: 100%; border: none; }
.am-lightbox-body img[b-nmv0af9kli] { width: 100%; height: 100%; object-fit: contain; }
.am-lightbox-body .am-doc-noprev[b-nmv0af9kli] { height: 100%; justify-content: center; color: #cfcfcf; }

/* ---- background document ingest progress banner ---- */
.am-ingest[b-nmv0af9kli] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 16px;
    border: 1px solid #e6cdb4;
    border-radius: 10px;
    background: #fbf3ea;
    color: #5b4632;
    font-size: 0.9rem;
}
.am-ingest.is-error[b-nmv0af9kli] {
    border-color: #f3c2c2;
    background: #fdecec;
    color: #b3261e;
}
.am-ingest-body[b-nmv0af9kli] { flex: 1 1 auto; min-width: 0; }
.am-ingest-label[b-nmv0af9kli] { margin-bottom: 6px; }
.am-ingest-label b[b-nmv0af9kli] { color: #b8601f; }
.am-ingest-bar[b-nmv0af9kli] {
    height: 7px;
    border-radius: 999px;
    background: #ecdcc9;
    overflow: hidden;
}
.am-ingest-fill[b-nmv0af9kli] {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #c97a2f, #b8601f);
    transition: width 0.4s ease;
}
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/LegacyContactCard.razor.rz.scp.css */
.aa-contact[b-obyrj4ibdb] {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 10px;
    padding: .8rem .9rem;
    margin-bottom: 1rem;
}
.aa-contact h4[b-obyrj4ibdb] { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; margin: 0 0 .55rem; }
.aa-contact h4 i[b-obyrj4ibdb] { color: var(--copper, #b8601f); margin-right: .3rem; }

.aa-contact-name[b-obyrj4ibdb] { font-size: .95rem; font-weight: 600; color: #1f2937; }
.aa-contact-name .aa-muted[b-obyrj4ibdb] { font-weight: 400; font-size: .85rem; margin-left: .3rem; color: #9ca3af; }
.aa-contact-addr[b-obyrj4ibdb] { font-size: .82rem; color: #6b7280; margin-top: .2rem; }
.aa-contact-addr i[b-obyrj4ibdb] { margin-right: .25rem; }
.aa-contact-none[b-obyrj4ibdb] { font-size: .82rem; color: #9ca3af; margin-top: .5rem; font-style: italic; }

.aa-contact-grid[b-obyrj4ibdb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .45rem .9rem;
    margin-top: .6rem;
}
.aa-contact-item[b-obyrj4ibdb] { display: flex; flex-direction: column; min-width: 0; }
.aa-contact-label[b-obyrj4ibdb] { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; color: #9ca3af; }
.aa-contact-label i[b-obyrj4ibdb] { margin-right: .25rem; }
.aa-contact-val[b-obyrj4ibdb] {
    font-size: .92rem;
    font-weight: 600;
    color: #1f2937;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
a.aa-contact-val[b-obyrj4ibdb] { color: var(--copper, #b8601f); }
a.aa-contact-val:hover[b-obyrj4ibdb] { text-decoration: underline; }

.aa-contact-salut[b-obyrj4ibdb] { font-size: .82rem; color: #6b7280; margin-top: .35rem; font-style: italic; }

/* billing / delivery address, only rendered when it deviates from the main address */
.aa-contact-alt[b-obyrj4ibdb] { margin-top: .7rem; padding-top: .6rem; border-top: 1px solid #f4f4f4; }
.aa-contact-alt .aa-contact-label i[b-obyrj4ibdb] { margin-right: .25rem; }
.aa-contact-alt-body[b-obyrj4ibdb] { font-size: .85rem; color: #4b5563; display: flex; flex-wrap: wrap; gap: .1rem .7rem; }
.aa-contact-alt-name[b-obyrj4ibdb] { font-weight: 600; color: #1f2937; }
.aa-contact-alt-extra[b-obyrj4ibdb] { color: #6b7280; font-size: .8rem; }
.aa-contact-alt-extra i[b-obyrj4ibdb] { color: #9ca3af; margin-right: .2rem; }
.aa-contact-alt-extra a[b-obyrj4ibdb] { color: var(--copper, #b8601f); text-decoration: none; }
.aa-contact-alt-extra a:hover[b-obyrj4ibdb] { text-decoration: underline; }

/* verbatim source columns */
.aa-contact-raw[b-obyrj4ibdb] { margin-top: .7rem; padding-top: .6rem; border-top: 1px solid #f4f4f4; }
.aa-contact-raw > summary[b-obyrj4ibdb] { cursor: pointer; font-size: .76rem; color: #9ca3af; }
.aa-contact-raw > summary[b-obyrj4ibdb]::marker { color: #c0c0c0; }
.aa-contact-raw > summary:hover[b-obyrj4ibdb] { color: var(--copper, #b8601f); }
.aa-contact-raw-list[b-obyrj4ibdb] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: .45rem .9rem;
    margin: .6rem 0 0;
}
.aa-contact-raw-list div[b-obyrj4ibdb] { display: flex; flex-direction: column; min-width: 0; }
.aa-contact-raw-list dt[b-obyrj4ibdb] { font-size: .64rem; text-transform: uppercase; letter-spacing: .03em; color: #9ca3af; }
.aa-contact-raw-list dd[b-obyrj4ibdb] { margin: 0; font-size: .82rem; color: #374151; overflow-wrap: anywhere; }

/* loading / empty (component-local copies so the card is self-contained) */
.aa-empty[b-obyrj4ibdb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 1.25rem;
    color: #9ca3af;
    text-align: center;
}
.aa-empty i[b-obyrj4ibdb] { font-size: 1.4rem; }

.aa-spin[b-obyrj4ibdb] {
    width: 1rem; height: 1rem;
    border: 2px solid #ddd;
    border-top-color: var(--copper, #b8601f);
    border-radius: 50%;
    display: inline-block;
    animation: aa-cc-spin-b-obyrj4ibdb .7s linear infinite;
}
@keyframes aa-cc-spin-b-obyrj4ibdb { to { transform: rotate(360deg); } }
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/LegacyVorgangDetail.razor.rz.scp.css */
/* Expanded Vorgang detail. Self-contained (CSS isolation scopes these to this component only), so the
   few shared primitives — empty state, spinner, tag, muted text — exist here as local copies, the same
   way LegacyContactCard keeps its own. */

.aa-detail[b-lz55rp5wkj] { border-top: 1px solid #f0f0f0; padding: 1rem; background: #fcfbfa; }

.aa-muted[b-lz55rp5wkj] { color: #9ca3af; font-weight: 400; }
.aa-open[b-lz55rp5wkj] { color: var(--copper, #b8601f); }

.aa-section[b-lz55rp5wkj] { margin-bottom: 1.25rem; }
.aa-section h4[b-lz55rp5wkj] {
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #6b7280;
    margin: 0 0 .6rem;
}

/* ── the office's note from the old system ── */
.aa-note[b-lz55rp5wkj] {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    background: #fffaf4;
    border: 1px solid #f0dcc6;
    border-left: 3px solid var(--copper, #b8601f);
    border-radius: 8px;
    padding: .7rem .85rem;
    margin-bottom: 1rem;
}
.aa-note-icon[b-lz55rp5wkj] { color: var(--copper, #b8601f); font-size: .95rem; line-height: 1.35; flex: 0 0 auto; }
.aa-note-body[b-lz55rp5wkj] { min-width: 0; }
.aa-note-subject[b-lz55rp5wkj] { font-size: .88rem; font-weight: 600; color: #1f2937; }
.aa-note-text[b-lz55rp5wkj] { font-size: .88rem; color: #4b5563; white-space: pre-wrap; overflow-wrap: anywhere; }
.aa-note-subject + .aa-note-text[b-lz55rp5wkj] { margin-top: .2rem; }

/* ── lifecycle ── */
.aa-timeline[b-lz55rp5wkj] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .5rem;
    margin-bottom: 1rem;
}
.aa-tl-step[b-lz55rp5wkj] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 999px;
    padding: .22rem .6rem .22rem .45rem;
    font-size: .78rem;
    white-space: nowrap;
}
.aa-tl-dot[b-lz55rp5wkj] {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--copper, #b8601f);
    flex: 0 0 auto;
}
.aa-tl-label[b-lz55rp5wkj] { color: #6b7280; }
.aa-tl-date[b-lz55rp5wkj] { color: #1f2937; font-weight: 600; font-variant-numeric: tabular-nums; }

/* ── key figures ── */
.aa-meta[b-lz55rp5wkj] { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 0 0 1rem; }
.aa-meta div[b-lz55rp5wkj] { display: flex; flex-direction: column; }
.aa-meta dt[b-lz55rp5wkj] { font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; color: #9ca3af; }
.aa-meta dd[b-lz55rp5wkj] { margin: 0; font-weight: 600; color: #1f2937; font-size: .95rem; }
.aa-docnum[b-lz55rp5wkj] { font-variant-numeric: tabular-nums; }

/* ── deviating addresses ── */
.aa-addr-grid[b-lz55rp5wkj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: .7rem;
    margin-bottom: 1.25rem;
}
.aa-addr[b-lz55rp5wkj] {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 10px;
    padding: .7rem .8rem;
}
.aa-addr h5[b-lz55rp5wkj] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #9ca3af;
    font-weight: 600;
    margin: 0 0 .4rem;
}
.aa-addr h5 i[b-lz55rp5wkj] { color: var(--copper, #b8601f); margin-right: .25rem; }
.aa-addr-name[b-lz55rp5wkj] { font-size: .88rem; font-weight: 600; color: #1f2937; }
.aa-addr-lines[b-lz55rp5wkj] { font-size: .85rem; color: #4b5563; }
.aa-addr-contacts[b-lz55rp5wkj] { display: flex; flex-wrap: wrap; gap: .15rem .7rem; margin-top: .4rem; }
.aa-addr-contact[b-lz55rp5wkj] { font-size: .8rem; color: #6b7280; }
.aa-addr-contact i[b-lz55rp5wkj] { color: #9ca3af; margin-right: .25rem; }
.aa-addr-contact a[b-lz55rp5wkj] { color: var(--copper, #b8601f); text-decoration: none; }
.aa-addr-contact a:hover[b-lz55rp5wkj] { text-decoration: underline; }

/* ── tables (Positionen + Rechnungen) ── */
.aa-pos-wrap[b-lz55rp5wkj] { overflow-x: auto; border: 1px solid #ececec; border-radius: 10px; background: #fff; }
.aa-pos-table[b-lz55rp5wkj] { width: 100%; border-collapse: collapse; font-size: .85rem; min-width: 520px; }
.aa-pos-table th[b-lz55rp5wkj] {
    text-align: left;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #9ca3af;
    font-weight: 600;
    padding: .5rem .7rem;
    border-bottom: 1px solid #ececec;
    white-space: nowrap;
}
.aa-pos-table td[b-lz55rp5wkj] { padding: .5rem .7rem; border-bottom: 1px solid #f4f4f4; color: #1f2937; vertical-align: top; }
.aa-pos-table tbody tr:last-child td[b-lz55rp5wkj] { border-bottom: none; }
.aa-pos-nr[b-lz55rp5wkj] { width: 3rem; color: #9ca3af; font-variant-numeric: tabular-nums; }
.aa-pos-num[b-lz55rp5wkj] { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.aa-pos-cost[b-lz55rp5wkj] { color: #6b7280; }
.aa-pos-info td[b-lz55rp5wkj] { color: #6b7280; font-style: italic; background: #fbfaf9; }
.aa-pos-table tfoot td[b-lz55rp5wkj] { border-top: 1px solid #ececec; padding: .55rem .7rem; }
.aa-pos-sumlbl[b-lz55rp5wkj] { text-align: right; font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: #9ca3af; }
.aa-pos-sum[b-lz55rp5wkj] { font-weight: 700; color: var(--copper, #b8601f); }
.aa-inv-cancelled td[b-lz55rp5wkj] { color: #9ca3af; text-decoration: line-through; }
.aa-inv-cancelled td:first-child[b-lz55rp5wkj] { text-decoration: none; }

/* ── hours ── */
.aa-hours[b-lz55rp5wkj] { background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: .7rem .8rem; }
.aa-hours-head[b-lz55rp5wkj] { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; font-size: .82rem; }
.aa-hours-total[b-lz55rp5wkj] { font-size: 1.05rem; font-weight: 700; color: var(--copper, #b8601f); }
.aa-hours-people[b-lz55rp5wkj] { display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin-top: .6rem; }
.aa-hours-person[b-lz55rp5wkj] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    background: #f7f6f5;
    border-radius: 999px;
    padding: .2rem .6rem;
    font-size: .78rem;
    color: #4b5563;
}
.aa-hours-person i[b-lz55rp5wkj] { color: #9ca3af; }
.aa-hours-person b[b-lz55rp5wkj] { color: #1f2937; font-variant-numeric: tabular-nums; }

/* ── documents ── */
.aa-doc-grid[b-lz55rp5wkj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .7rem;
}
.aa-doc[b-lz55rp5wkj] { border: 1px solid #ececec; border-radius: 10px; overflow: hidden; background: #fff; }
.aa-doc-prev[b-lz55rp5wkj] {
    display: block;
    width: 100%;
    height: 170px;
    border: none;
    padding: 0;
    background: #f6f5f4;
    cursor: pointer;
    overflow: hidden;
}
.aa-doc-prev[disabled][b-lz55rp5wkj] { cursor: default; }
.aa-doc-prev img[b-lz55rp5wkj], .aa-doc-prev iframe[b-lz55rp5wkj] { width: 100%; height: 100%; border: none; object-fit: cover; pointer-events: none; }
.aa-doc-noprev[b-lz55rp5wkj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: .35rem;
    color: #b0b0b0;
    font-size: .75rem;
}
.aa-doc-noprev i[b-lz55rp5wkj] { font-size: 1.4rem; }
.aa-doc-foot[b-lz55rp5wkj] { display: flex; align-items: center; gap: .4rem; padding: .45rem .55rem; border-top: 1px solid #f0f0f0; }
.aa-doc-name[b-lz55rp5wkj] { font-size: .76rem; color: #555; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 auto; }
.aa-doc-dl[b-lz55rp5wkj] { color: #9ca3af; font-size: .8rem; flex: 0 0 auto; }
.aa-doc-dl:hover[b-lz55rp5wkj] { color: var(--copper, #b8601f); }
.aa-doc-sent[b-lz55rp5wkj] {
    font-size: .72rem;
    color: #6b7280;
    padding: 0 .55rem .45rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aa-doc-sent i[b-lz55rp5wkj] { color: #9ca3af; margin-right: .2rem; }

.aa-tag[b-lz55rp5wkj] {
    font-size: .66rem;
    font-weight: 600;
    color: #fff;
    background: var(--tag, #9ca3af);
    padding: .1rem .4rem;
    border-radius: 5px;
    white-space: nowrap;
}

/* ── verbatim source columns ── */
.aa-raw[b-lz55rp5wkj] { border-top: 1px solid #f0f0f0; padding-top: .8rem; }
.aa-raw > summary[b-lz55rp5wkj] { cursor: pointer; font-size: .78rem; color: #6b7280; }
.aa-raw > summary[b-lz55rp5wkj]::marker { color: #c0c0c0; }
.aa-raw > summary:hover[b-lz55rp5wkj] { color: var(--copper, #b8601f); }
.aa-raw-list[b-lz55rp5wkj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .5rem .9rem;
    margin: .7rem 0 0;
}
.aa-raw-list div[b-lz55rp5wkj] { display: flex; flex-direction: column; min-width: 0; }
.aa-raw-list dt[b-lz55rp5wkj] { font-size: .66rem; text-transform: uppercase; letter-spacing: .03em; color: #9ca3af; }
.aa-raw-list dd[b-lz55rp5wkj] { margin: 0; font-size: .84rem; color: #374151; overflow-wrap: anywhere; }

/* ── loading / empty (component-local copies so the detail is self-contained) ── */
.aa-empty[b-lz55rp5wkj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 1.25rem;
    color: #9ca3af;
    text-align: center;
}
.aa-empty i[b-lz55rp5wkj] { font-size: 1.4rem; }

.aa-spin[b-lz55rp5wkj] {
    width: 1rem; height: 1rem;
    border: 2px solid #ddd;
    border-top-color: var(--copper, #b8601f);
    border-radius: 50%;
    display: inline-block;
    animation: aa-vd-spin-b-lz55rp5wkj .7s linear infinite;
}
@keyframes aa-vd-spin-b-lz55rp5wkj { to { transform: rotate(360deg); } }

.aa-full-text[b-lz55rp5wkj] { white-space: pre-wrap; overflow-wrap: anywhere; }
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/Wiso/UmzugWiso.razor.rz.scp.css */
.wiso-page[b-158tyc6293] { max-width: 1320px; margin: 0 auto; padding: 2rem; color: var(--cx-text-primary, #252b30); }
.wiso-page header[b-158tyc6293] { margin-bottom: 2rem; }
.wiso-eyebrow[b-158tyc6293] { color: var(--cx-primary, #a45c32); text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; font-weight: 700; }
.wiso-page h1[b-158tyc6293] { font-size: 2rem; margin: .4rem 0 1rem; }
.wiso-panel[b-158tyc6293] { background: var(--cx-surface, #fff); border: 1px solid var(--cx-border, #dfe4e8); border-radius: 14px; padding: 1.5rem; margin: 1.5rem 0; }
.wiso-page[b-158tyc6293]  h2 { font-size: 1.25rem; margin: 0 0 1rem; }
.wiso-page[b-158tyc6293]  p { line-height: 1.6; margin: .5rem 0; }
.wiso-page[b-158tyc6293]  fieldset { border: 0; padding: 0; margin: 1rem 0; min-width: 0; }
.wiso-page[b-158tyc6293]  input:not([type=checkbox]):not([type=radio]), .wiso-page[b-158tyc6293]  select, .wiso-page[b-158tyc6293]  textarea { border: 1px solid var(--cx-border, #ccd3d9); background: var(--cx-surface, #fff); color: inherit; border-radius: 7px; padding: .65rem; max-width: 100%; }
.wiso-page[b-158tyc6293]  textarea { width: 100%; }
.wiso-page[b-158tyc6293]  input[type=checkbox] { width: 1.1rem; height: 1.1rem; vertical-align: middle; margin-right: .45rem; }
.wiso-page[b-158tyc6293]  button { cursor: pointer; }
.wiso-page[b-158tyc6293]  button:disabled { opacity: .5; cursor: not-allowed; }
.wiso-page[b-158tyc6293]  a { color: var(--cx-primary, #91502c); text-underline-offset: .2em; }
.wiso-page[b-158tyc6293]  .wiso-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 1rem 0; }
.wiso-page[b-158tyc6293]  .wiso-row { padding: 1.25rem 0; border-bottom: 1px solid var(--cx-border, #dfe4e8); overflow-wrap: anywhere; }
.wiso-page[b-158tyc6293]  .wiso-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; padding: .75rem 0; }
.wiso-page[b-158tyc6293]  .wiso-warning { background: #fff5df; color: #674915; padding: .8rem 1rem; border-radius: 8px; margin: .8rem 0; }
.wiso-page[b-158tyc6293]  .wiso-success { background: #edf7f0; color: #25553c; padding: .8rem 1rem; border-radius: 8px; }
.wiso-page[b-158tyc6293]  .wiso-muted { color: var(--cx-text-secondary, #626d76); font-size: .9rem; }
.wiso-page[b-158tyc6293]  .wiso-document { display: flex; flex-wrap: wrap; gap: .75rem; margin: .65rem 0; }
.wiso-page[b-158tyc6293]  .wiso-source-text { white-space: pre-wrap; }
.wiso-page[b-158tyc6293]  .wiso-target { display: block; margin: .4rem 0; text-align: left; }
.wiso-page[b-158tyc6293]  .wiso-scrim { position: fixed; inset: 0; z-index: 1100; background: #17212db3; display: grid; place-items: center; padding: 1.5rem; }
.wiso-page[b-158tyc6293]  .wiso-dialog { width: min(820px, 100%); max-height: 90vh; overflow-y: auto; padding: 1.75rem; border-radius: 14px; background: var(--cx-surface, #fff); box-shadow: 0 20px 80px #0004; }
.wiso-page[b-158tyc6293]  .wiso-dialog label { display: flex; flex-direction: column; gap: .35rem; margin: .8rem 0; }
.wiso-page[b-158tyc6293]  .wiso-dialog small { color: var(--cx-text-secondary, #626d76); }
.wiso-page progress[b-158tyc6293] { width: 100%; margin-top: 1rem; }
@media (max-width: 700px) { .wiso-page[b-158tyc6293] { padding: 1rem; } .wiso-panel[b-158tyc6293] { padding: 1rem; } .wiso-page[b-158tyc6293]  .wiso-compare { grid-template-columns: 1fr; gap: .5rem; } .wiso-page[b-158tyc6293]  .wiso-scrim { padding: .5rem; } }

.wiso-page.wiso-page-embedded[b-158tyc6293] { max-width: none; margin: 1rem 0 0; padding: 0; }

.wiso-transfer-options[b-158tyc6293] { border: 0; padding: 1rem 0; margin: 0; }
.wiso-transfer-options legend[b-158tyc6293] { font-size: 1.2rem; padding: 0; }
.wiso-transfer-options label[b-158tyc6293] { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; font-weight: 600; }
.wiso-transfer-options input[b-158tyc6293] { width: auto; }
.wiso-panel[hidden][b-158tyc6293] { display: none; }
.wiso-stages[b-158tyc6293] { display: flex; gap: 1rem; flex-wrap: wrap; padding: 0 0 1rem; margin: 0 0 1.25rem; list-style: none; border-bottom: 1px solid #eee8df; font-size: .85rem; color: #8a8276; }
.wiso-stages .done[b-158tyc6293] { color: #397859; }
.wiso-stages .current[b-158tyc6293] { color: #b8601b; font-weight: 700; }
.wiso-counts[b-158tyc6293] { display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; margin: 1.2rem 0; }
.wiso-counts span[b-158tyc6293] { display: flex; flex-direction: column; font-size: .9rem; color: #746c61; }
.wiso-counts strong[b-158tyc6293] { font-size: 1.65rem; color: #2b2721; }
.wiso-import-details[b-158tyc6293] { padding-top: .8rem; border-top: 1px solid #eee8df; }
.wiso-import-details summary[b-158tyc6293] { cursor: pointer; color: #71685d; font-size: .9rem; }
.wiso-import-details details[b-158tyc6293] { margin-top: .8rem; }
.wiso-overview progress[b-158tyc6293] { height: .4rem; accent-color: #b8601b; }

.wiso-overview.is-complete[b-158tyc6293] { padding: 1rem 1.25rem; }
.wiso-overview.is-complete .wiso-stages[b-158tyc6293] { display: none; }
.wiso-overview.is-complete .wiso-counts[b-158tyc6293] { margin: .5rem 0; gap: 1.25rem; }
.wiso-overview.is-complete .wiso-counts span[b-158tyc6293] { flex-direction: row; align-items: baseline; gap: .4rem; }
.wiso-overview.is-complete .wiso-counts strong[b-158tyc6293] { font-size: 1.1rem; }
.wiso-overview.is-complete h2[b-158tyc6293] { margin-bottom: .4rem; }
.wiso-overview.is-complete .wiso-actions[b-158tyc6293] { margin: .5rem 0; }

.wiso-back-link[b-158tyc6293] { display: inline-block; font-size: .85rem; margin-top: .4rem; }
.wiso-guide-steps[b-158tyc6293] { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 0 1.2rem; margin: 0; border-bottom: 1px solid #eee8df; gap: 1rem; }
.wiso-guide-steps li[b-158tyc6293] { display: flex; align-items: center; gap: .6rem; color: #797269; font-size: .85rem; }
.wiso-guide-steps li > span[b-158tyc6293] { display: grid; place-items: center; flex-shrink: 0; width: 1.65rem; height: 1.65rem; border-radius: 50%; border: 1px solid #dcd6ce; font-size: .8rem; }
.wiso-guide-steps li.active[b-158tyc6293] { color: #9a4e17; font-weight: 700; }
.wiso-guide-steps li.active > span[b-158tyc6293] { color: white; background: #b8601b; border-color: #b8601b; }
.wiso-step-heading[b-158tyc6293] { padding: 1.3rem 0 .5rem; max-width: 850px; }
.wiso-step-heading h2[b-158tyc6293] { font-size: 1.5rem; font-weight: 650; margin: .4rem 0; }
.wiso-step-heading > p:not(.wiso-eyebrow):not(.wiso-case-count)[b-158tyc6293] { color: #70685f; font-size: .95rem; }
.wiso-case-count[b-158tyc6293] { font-size: .85rem; font-weight: 600; color: #8b5b2c; }
.wiso-page[b-158tyc6293]  .wiso-text-button { border: 0; background: transparent; padding: .55rem 0; font: inherit; font-size: .9rem; color: #766656; text-decoration: underline; text-underline-offset: .25rem; box-shadow: none; }
.wiso-page[b-158tyc6293]  button:focus-visible, .wiso-page[b-158tyc6293]  a:focus-visible { outline: 2px solid #9a4e17; outline-offset: 4px; }
.wiso-page[b-158tyc6293]  input[type=radio] { accent-color: #b8601b; width: 1.1rem; height: 1.1rem; flex-shrink: 0; margin: .15rem 0 0; }
.wiso-page[b-158tyc6293]  .wiso-customer-case { background: #faf9f6; border: 1px solid #e9e4dd; border-radius: 12px; padding: 1.25rem; }
.wiso-page[b-158tyc6293]  .wiso-customer-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: .6rem 1rem; }
.wiso-page[b-158tyc6293]  .wiso-customer-title h3 { margin: 0; font-size: 1.15rem; font-weight: 700; }
.wiso-page[b-158tyc6293]  .wiso-customer-title > span { font-size: .85rem; color: #837b70; }
.wiso-page[b-158tyc6293]  .wiso-customer-case .wiso-compare { padding: .8rem 0; font-size: .9rem; }
.wiso-page[b-158tyc6293]  .wiso-decision-options { margin-bottom: 0; }
.wiso-page[b-158tyc6293]  .wiso-decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.wiso-page[b-158tyc6293]  .wiso-decision-options legend { font-weight: 600; font-size: .95rem; margin-bottom: .75rem; }
.wiso-page[b-158tyc6293]  .wiso-decision { display: flex; align-items: flex-start; gap: .65rem; border: 1px solid #ded8cf; padding: .9rem; border-radius: 9px; background: white; cursor: pointer; }
.wiso-page[b-158tyc6293]  .wiso-decision.chosen { border-color: #bb692a; background: #fdf2e9; box-shadow: 0 0 0 1px #bb692a; }
.wiso-page[b-158tyc6293]  .wiso-decision strong { display: block; font-size: .9rem; line-height: 1.4; }
.wiso-page[b-158tyc6293]  .wiso-decision small { display: block; color: #786e62; font-size: .8rem; line-height: 1.45; margin-top: .3rem; }
.wiso-page[b-158tyc6293]  .wiso-submit-row { display: flex; justify-content: flex-end; margin-top: 1.2rem; }
.wiso-guide-footer[b-158tyc6293] { position: sticky; bottom: 0; z-index: 3; box-shadow: 0 -8px 16px #ffffffed; border-top: 1px solid #eee8df; background: white; padding-top: 1rem; margin-top: 1rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.wiso-guide-footer > div[b-158tyc6293] { margin-left: auto; text-align: right; }
.wiso-guide-footer small[b-158tyc6293] { display: block; color: #8b8378; font-size: .75rem; margin-top: .35rem; max-width: 420px; }
.wiso-pagination[b-158tyc6293] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1rem 0; color: #81796e; font-size: .85rem; }
.wiso-guide-finish[b-158tyc6293] { text-align: center; padding: 3rem 1.5rem; }
.wiso-guide-finish > .btn[b-158tyc6293], .wiso-guide-finish > button[b-158tyc6293] { display: block; width: fit-content; margin: 1rem auto 0; }
.wiso-finish-icon[b-158tyc6293] { display: grid; place-items: center; width: 3rem; height: 3rem; margin: 0 auto 1rem; background: #edf7f0; color: #397859; border-radius: 50%; font-size: 1.4rem; }
@media (max-width: 800px) {
    .wiso-guide-steps[b-158tyc6293] { gap: .6rem; }
    .wiso-guide-steps li[b-158tyc6293] { flex-direction: column; align-items: flex-start; font-size: .75rem; }
    .wiso-page[b-158tyc6293]  .wiso-decision-grid { grid-template-columns: 1fr; }
    .wiso-page[b-158tyc6293]  .wiso-customer-case { padding: 1rem; }
    .wiso-guide-footer[b-158tyc6293] { flex-wrap: wrap; }
    .wiso-guide-footer > div[b-158tyc6293] { flex: 1; min-width: 190px; }
}

.wiso-panel[tabindex="-1"]:focus[b-158tyc6293] { outline: none; }
.wiso-guide-finish > a.btn.primary[b-158tyc6293] { color: white; text-decoration: none; }

.wiso-page[b-158tyc6293]  .wiso-selection-toolbar { position: sticky; top: 0; z-index: 2; background: white; padding: .7rem 0; border-bottom: 1px solid #eee8df; }

/* The application shell owns the available height. Only the current step scrolls. */
.wiso-page-standalone[b-158tyc6293] { height: 100%; min-height: 0; box-sizing: border-box; display: flex; flex-direction: column; padding: 1.25rem 2rem; overflow: hidden; }
.wiso-page-standalone > header[b-158tyc6293] { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.wiso-page-standalone > header > .wiso-eyebrow[b-158tyc6293] { display: none; }
.wiso-page-standalone > header h1[b-158tyc6293] { margin: 0; font-size: 1.65rem; }
.wiso-page-standalone .wiso-workspace[b-158tyc6293] { flex: 1; min-height: 0; overflow-y: auto; scrollbar-gutter: stable; }
.wiso-page-standalone .wiso-workspace.has-guide[b-158tyc6293] { display: flex; flex-direction: column; overflow: hidden; }
.wiso-overview-trigger[b-158tyc6293] { flex-shrink: 0; align-self: flex-start; }
.wiso-page.wiso-overview-content[b-158tyc6293] { padding: 0; margin: 0; max-width: none; }
.wiso-overview-content .wiso-overview[b-158tyc6293] { border: 0; margin: 0; padding: 0; }
.wiso-page-standalone .has-guide > .wiso-review[b-158tyc6293] { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; margin: .5rem 0 0; padding: 1.2rem 1.4rem 0; }
.wiso-page-standalone .wiso-guide-steps[b-158tyc6293] { flex-shrink: 0; padding-bottom: 1rem; }
.wiso-page-standalone .wiso-step-content[b-158tyc6293] { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; padding: 0 .8rem 1rem 0; }
.wiso-step-content:focus-visible[b-158tyc6293] { outline: 2px solid var(--cx-primary, #b8601b); outline-offset: -2px; }
.wiso-page-standalone .wiso-guide-footer[b-158tyc6293] { position: static; flex-shrink: 0; margin: 0; padding: .75rem 0; box-shadow: none; }
.wiso-page-standalone .wiso-guide-footer small[b-158tyc6293] { max-width: none; }
@media (max-width: 700px) {
    .wiso-page-standalone[b-158tyc6293] { padding: .75rem; }
    .wiso-page-standalone > header[b-158tyc6293] { gap: .5rem; margin-bottom: .5rem; }
    .wiso-page-standalone > header h1[b-158tyc6293] { font-size: 1.25rem; }
    .wiso-page-standalone > header .wiso-back-link[b-158tyc6293] { font-size: .75rem; margin: 0; }
    .wiso-page-standalone .has-guide > .wiso-review[b-158tyc6293] { padding: .8rem .8rem 0; }
    .wiso-page-standalone .wiso-guide-steps[b-158tyc6293] { padding-bottom: .65rem; }
    .wiso-page-standalone .wiso-step-content[b-158tyc6293] { padding-right: .3rem; }
    .wiso-page-standalone .wiso-guide-footer[b-158tyc6293] { gap: .5rem; }
    .wiso-page-standalone .wiso-guide-footer small[b-158tyc6293] { font-size: .7rem; }
}
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/Wiso/WisoCatalogBlock.razor.rz.scp.css */
.catalog-status[b-mx55s8kuma] { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 1rem; background: #f8f6f2; border-radius: 10px; margin: 1rem 0; }
.catalog-status progress[b-mx55s8kuma] { width: 100%; height: .5rem; appearance: none; border: 0; border-radius: 999px; overflow: hidden; background: #e9e3da; accent-color: #b8601b; }
.catalog-status progress[b-mx55s8kuma]::-webkit-progress-bar { background: #e9e3da; border-radius: 999px; }
.catalog-status progress[b-mx55s8kuma]::-webkit-progress-value { background: #b8601b; border-radius: 999px; }
.catalog-status progress[b-mx55s8kuma]::-moz-progress-bar { background: #b8601b; border-radius: 999px; }
.catalog-status progress:indeterminate[b-mx55s8kuma] { background: linear-gradient(90deg, #e9e3da 25%, #b8601b 50%, #e9e3da 75%); background-size: 200% 100%; animation: catalog-progress-b-mx55s8kuma 2s linear infinite; }
.catalog-status progress:indeterminate[b-mx55s8kuma]::-webkit-progress-bar { background: transparent; }
.catalog-status-running[b-mx55s8kuma] { display: grid; gap: .8rem; padding: 1.5rem; }
.catalog-status-running strong[b-mx55s8kuma] { font-size: 1.1rem; }
.catalog-status-running p[b-mx55s8kuma], .catalog-retry p:last-child[b-mx55s8kuma] { margin-bottom: 0; }
@keyframes catalog-progress-b-mx55s8kuma { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .catalog-status progress:indeterminate[b-mx55s8kuma] { animation: none; } }
.catalog-status span[b-mx55s8kuma] { color: #655f57; }
.catalog-notes[b-mx55s8kuma] { border: 1px solid #eadcc5; border-radius: 9px; padding: .75rem 1rem; margin: 1rem 0; background: #fffbf2; }
summary[b-mx55s8kuma] { cursor: pointer; font-weight: 600; font-size: .9rem; }
.catalog-notes li[b-mx55s8kuma] { margin: .6rem 0; }
.catalog-toolbar[b-mx55s8kuma], .catalog-pagination[b-mx55s8kuma] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1.25rem 0; }
.catalog-toolbar label[b-mx55s8kuma] { display: flex; align-items: center; gap: .7rem; }
.catalog-cards[b-mx55s8kuma] { display: grid; gap: 1rem; }
.catalog-card[b-mx55s8kuma] { border: 1px solid #e5e0d8; border-radius: 12px; padding: 1.25rem; min-width: 0; }
.catalog-card-head[b-mx55s8kuma] { display: flex; justify-content: space-between; gap: 1rem; margin: 0; }
.catalog-choice[b-mx55s8kuma] { display: flex; align-items: flex-start; gap: .6rem; min-width: 0; flex: 1; }
.catalog-choice input[b-mx55s8kuma] { margin-top: .3rem; flex-shrink: 0; }
.catalog-choice span[b-mx55s8kuma] { min-width: 0; }
.catalog-choice strong[b-mx55s8kuma] { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 1.05rem; line-height: 1.45; }
.catalog-choice small[b-mx55s8kuma] { display: block; color: #806744; margin-bottom: .3rem; }
.catalog-price[b-mx55s8kuma] { text-align: right; flex-shrink: 0; }
.catalog-price strong[b-mx55s8kuma] { display: block; font-size: 1.2rem; }
.catalog-price small[b-mx55s8kuma] { color: #706b63; }
.catalog-text[b-mx55s8kuma] { padding: 1rem; border-radius: 8px; background: #f8f7f4; margin: .8rem 0; }
.catalog-text > small[b-mx55s8kuma] { font-size: .7rem; letter-spacing: .08em; color: #706b63; font-weight: 600; }
.catalog-preview[b-mx55s8kuma] { margin-top: .6rem; line-height: 1.5; overflow-wrap: anywhere; }
.catalog-preview-collapsed[b-mx55s8kuma] { max-height: 7.5rem; overflow: hidden; mask-image: linear-gradient(to bottom, black 65%, transparent); }
.catalog-text-toggle[b-mx55s8kuma] { display: block; border: 0; background: transparent; color: #9a4e17; font-weight: 600; padding: .5rem 0 0; cursor: pointer; }
.catalog-preview[b-mx55s8kuma]  mark { border-radius: 4px; padding: .1rem .25rem; background: #efe8fa; color: #65449a; }
.catalog-preview[b-mx55s8kuma]  p { margin: .4rem 0; }
.catalog-variables[b-mx55s8kuma] { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: .8rem 0; }
.catalog-variables span[b-mx55s8kuma] { padding: .4rem .6rem; background: #f3eef9; border-radius: 6px; font-size: .85rem; }
.catalog-card-foot[b-mx55s8kuma] { border-top: 1px solid #eee9e3; padding-top: .8rem; margin-top: .8rem; }
.catalog-evidence[b-mx55s8kuma] { color: #6e675c; }
.catalog-review-hint[b-mx55s8kuma] { font-size: .85rem; color: #84643b; }
.catalog-plan[b-mx55s8kuma] { border: 1px solid #e5e0d8; border-radius: 12px; padding: 1.25rem; margin: 1rem 0; }
.catalog-plan h3[b-mx55s8kuma] { margin: 0 0 1rem; font-size: 1.1rem; }
.catalog-folders[b-mx55s8kuma] { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .5rem 1.5rem; }
.catalog-folders li[b-mx55s8kuma] { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid #eee9e3; }
.catalog-folders strong[b-mx55s8kuma] { color: #9a4e17; }
.catalog-details[b-mx55s8kuma] { margin: 1rem 0; }
.catalog-details > summary[b-mx55s8kuma] { padding: .75rem 0; color: #655f57; }
.catalog-evidence p[b-mx55s8kuma] { overflow-wrap: anywhere; }
@media (max-width: 650px) { .catalog-card-head[b-mx55s8kuma] { flex-direction: column; } .catalog-price[b-mx55s8kuma] { text-align: left; margin-left: 1.7rem; } .catalog-card[b-mx55s8kuma] { padding: 1rem; } .catalog-toolbar label[b-mx55s8kuma] { flex-direction: column; align-items: flex-start; } }
/* _content/CraftX.Web/Components/Pages/Admin/Altdaten/Wiso/WisoOpenItemsBlock.razor.rz.scp.css */
.invoice-heading[b-ofna7tmwm8] { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.invoice-heading input[b-ofna7tmwm8] { margin-top: 4px; flex-shrink: 0; }
.invoice-heading strong[b-ofna7tmwm8] { font-size: 16px; }
.invoice-reference[b-ofna7tmwm8] { display: block; color: var(--cx-text-secondary); font-size: 13px; margin-top: 3px; }
.invoice-meta[b-ofna7tmwm8] { color: var(--cx-text-muted); font-size: 13px; margin: 8px 0; }
.invoice-amounts[b-ofna7tmwm8] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 16px 0; }
.invoice-amounts dt[b-ofna7tmwm8] { font-size: 12px; color: var(--cx-text-secondary); font-weight: 400; margin-bottom: 4px; }
.invoice-amounts dd[b-ofna7tmwm8] { margin: 0; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.invoice-outstanding dd[b-ofna7tmwm8] { color: var(--copper, var(--cx-primary)); }
.invoice-original[b-ofna7tmwm8] { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; margin-right: 16px; font-size: 13px; }
@media (max-width: 600px) {
    .invoice-amounts[b-ofna7tmwm8] { grid-template-columns: 1fr; gap: 10px; }
    .invoice-amounts > div[b-ofna7tmwm8] { display: flex; justify-content: space-between; gap: 12px; }
    .invoice-amounts dd[b-ofna7tmwm8] { text-align: right; }
}
/* _content/CraftX.Web/Components/Pages/Admin/DocumentDesigner.razor.rz.scp.css */
/* ── Dokumentdesign studio: full-width two-pane layout ─────────────────── */

.dd-page[b-ztldtt83we] {
    padding: 1.25rem 1.5rem 2rem;
    max-width: 1500px;
    margin: 0 auto;
}

/* Topbar */
.dd-topbar[b-ztldtt83we] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.dd-back[b-ztldtt83we] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--cx-border);
    border-radius: 0.5rem;
    background: var(--cx-card-bg);
    color: var(--cx-text-primary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.dd-back:hover[b-ztldtt83we] {
    border-color: var(--cx-text-muted);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.dd-topbar-title[b-ztldtt83we] {
    flex: 1 1 auto;
    min-width: 0;
}

.dd-topbar-title h1[b-ztldtt83we] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--cx-text-primary);
}

.dd-topbar-title p[b-ztldtt83we] {
    margin: 0.125rem 0 0;
    font-size: 0.875rem;
    color: var(--cx-text-secondary);
}

.dd-topbar-actions[b-ztldtt83we] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
}

.dd-dirty-hint[b-ztldtt83we] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--cx-text-secondary);
    white-space: nowrap;
}

.dd-dirty-hint i[b-ztldtt83we] {
    font-size: 0.45rem;
    color: var(--cx-warning, #f59e0b);
}

.dd-loading[b-ztldtt83we] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40vh;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
}

/* Two-pane layout: fixed controls column, preview takes the rest */
.dd-layout[b-ztldtt83we] {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

/* Controls column */
.dd-variant-group[b-ztldtt83we] {
    margin-bottom: 1.25rem;
}

.dd-variant-group-label[b-ztldtt83we] {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--cx-text-primary);
    margin-bottom: 0.625rem;
}

.dd-variant-group-label i[b-ztldtt83we] {
    color: var(--cx-text-secondary);
}

.dd-variant-options[b-ztldtt83we] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.dd-variant-card[b-ztldtt83we] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
    padding: 0.75rem 0.875rem;
    border: 2px solid var(--cx-border);
    border-radius: 0.625rem;
    background: var(--cx-card-bg);
    cursor: pointer;
    transition: all 0.15s ease;
}

.dd-variant-card:hover[b-ztldtt83we] {
    border-color: var(--cx-text-muted);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.dd-variant-card.selected[b-ztldtt83we] {
    border-color: var(--cx-primary);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.dd-variant-card-icon[b-ztldtt83we] {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--cx-primary-light), var(--cx-border));
    color: var(--cx-primary-hover);
    font-size: 1.05rem;
}

.dd-variant-card-text[b-ztldtt83we] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.dd-variant-card-title[b-ztldtt83we] {
    font-weight: 600;
    color: var(--cx-text-primary);
    font-size: 0.9rem;
}

.dd-variant-card-desc[b-ztldtt83we] {
    font-size: 0.8rem;
    color: var(--cx-text-secondary);
    line-height: 1.3;
}

.dd-variant-card-check[b-ztldtt83we] {
    margin-left: auto;
    color: var(--cx-primary);
    font-size: 1.1rem;
}

.dd-controls-note[b-ztldtt83we] {
    display: flex;
    align-items: flex-start;
    padding: 0.75rem 0.875rem;
    border-radius: 0.625rem;
    background: var(--cx-primary-light, rgba(59, 130, 246, 0.08));
    color: var(--cx-text-secondary);
    font-size: 0.8rem;
    line-height: 1.4;
}

.dd-controls-note i[b-ztldtt83we] {
    color: var(--cx-primary);
    margin-top: 0.1rem;
}

/* Preview pane */
.dd-preview[b-ztldtt83we] {
    position: sticky;
    top: 1rem;
    border: 1px solid var(--cx-hairline);
    border-radius: 0.75rem;
    background: var(--cx-card-bg);
    overflow: hidden;
}

.dd-preview-header[b-ztldtt83we] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--cx-border);
}

.dd-preview-title[b-ztldtt83we] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--cx-text-primary);
    margin-right: auto;
}

.dd-preview-kind[b-ztldtt83we] {
    display: inline-flex;
    border: 1px solid var(--cx-border);
    border-radius: 0.5rem;
    overflow: hidden;
}

.dd-kind-btn[b-ztldtt83we] {
    padding: 0.35rem 0.9rem;
    border: none;
    background: var(--cx-card-bg);
    color: var(--cx-text-secondary);
    font-size: 0.825rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
}

.dd-kind-btn + .dd-kind-btn[b-ztldtt83we] {
    border-left: 1px solid var(--cx-border);
}

.dd-kind-btn.active[b-ztldtt83we] {
    background: var(--cx-primary);
    color: #fff;
}

.dd-preview-body[b-ztldtt83we] {
    padding: 1rem;
    background: var(--light-gray, #f3f4f6);
    display: flex;
    justify-content: center;
}

/* True A4 proportions (210:297); width comes from the pane, height follows. */
.dd-preview-frame[b-ztldtt83we] {
    width: 100%;
    max-width: 900px;
    aspect-ratio: 210 / 297;
    height: auto;
    border: 1px solid var(--cx-border);
    border-radius: 0.375rem;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.dd-preview-placeholder[b-ztldtt83we] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
}

/* Stack on narrow screens; preview stops being sticky */
@media (max-width: 1100px) {
    .dd-layout[b-ztldtt83we] {
        grid-template-columns: 1fr;
    }

    .dd-preview[b-ztldtt83we] {
        position: static;
    }
}
/* _content/CraftX.Web/Components/Pages/Admin/TenantSettings.razor.rz.scp.css */
.tenant-settings-container[b-oghdthv88j] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

.tenant-settings-header[b-oghdthv88j] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.tenant-settings-title h1[b-oghdthv88j] {
    margin: 0 0 0.5rem 0;
    font-weight: 600;
    color: var(--cx-text-primary);
}

.tenant-settings-title p.lead[b-oghdthv88j] {
    margin: 0;
    color: var(--cx-text-secondary);
}

.tenant-completion[b-oghdthv88j] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background-color: var(--cx-card-bg);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.progress-circle[b-oghdthv88j] {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: conic-gradient(var(--cx-primary) calc(var(--completion) * 1%), var(--cx-border) 0);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.progress-circle[b-oghdthv88j]::before {
    content: '';
    position: absolute;
    width: 80%;
    height: 80%;
    background-color: var(--cx-card-bg);
    border-radius: 50%;
}

.progress-text[b-oghdthv88j] {
    position: relative;
    font-weight: bold;
    font-size: 1rem;
    color: var(--cx-text-primary);
}

.completion-text[b-oghdthv88j] {
    display: flex;
    flex-direction: column;
}

.completion-title[b-oghdthv88j] {
    font-weight: 600;
    margin: 0;
    color: var(--cx-text-primary);
}

.completion-status[b-oghdthv88j] {
    font-size: 0.9rem;
    margin: 0;
    color: var(--cx-text-secondary);
}

.tenant-settings-content[b-oghdthv88j] {
    background-color: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
}

.tenant-settings-content[b-oghdthv88j]  .e-tab-header {
    overflow: visible;
}

.tenant-settings-content[b-oghdthv88j]  .e-content {
    overflow: hidden;
}

.tab-content[b-oghdthv88j] {
    padding: 2rem;
}

.form-section[b-oghdthv88j] {
    margin-bottom: 2rem;
}

/* Section headers: a lightweight icon-chip treatment so every tab reads as
   consistently as the polished Design tab, without per-tab markup changes. */
.form-section h3[b-oghdthv88j] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 1.5rem;
    padding-bottom: 0.875rem;
    color: var(--cx-text-primary);
    border-bottom: 1px solid var(--cx-hairline);
}

.form-section h3 i[b-oghdthv88j] {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    font-size: 1.05rem;
    color: var(--cx-primary);
    background: var(--cx-primary-light);
    border-radius: var(--radius-md);
}

/* Tint icons on section sub-headers (e.g. "NFC Tag", "Rechnungsverarbeitung").
   Targets only h4s that actually carry an icon, so the icon-less logo heading
   is untouched; excludes the AI tab's .category-title (its own purple icon). */
.form-section h4:not(.category-title) i[b-oghdthv88j] {
    color: var(--cx-primary);
}

/* Form controls: a brand-colored focus ring across all tabs (native inputs,
   selects, textareas). Label weight is intentionally left to Bootstrap/utility
   classes so existing fw-semibold labels keep their emphasis. */
.tab-content .form-control:focus[b-oghdthv88j],
.tab-content .form-select:focus[b-oghdthv88j],
.tab-content textarea.form-control:focus[b-oghdthv88j] {
    border-color: var(--cx-primary);
    box-shadow: 0 0 0 3px var(--cx-primary-light);
}

.tab-content .form-check-input:checked[b-oghdthv88j] {
    background-color: var(--cx-primary);
    border-color: var(--cx-primary);
}

.tab-content .form-check-input:focus[b-oghdthv88j] {
    border-color: var(--cx-primary);
    box-shadow: 0 0 0 3px var(--cx-primary-light);
}

.form-actions[b-oghdthv88j] {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--cx-hairline);
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
}

.company-logo-container[b-oghdthv88j] {
    border: 1px solid var(--cx-border);
    border-radius: 10px;
    padding: 1.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.company-logo-container h4[b-oghdthv88j] {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--cx-text-primary);
}

.logo-preview[b-oghdthv88j] {
    width: 150px;
    height: 150px;
    border: 2px dashed var(--cx-border);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 1rem;
}

.logo-preview img[b-oghdthv88j] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.logo-placeholder[b-oghdthv88j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--cx-text-muted);
}

.logo-placeholder i[b-oghdthv88j] {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.color-preview[b-oghdthv88j] {
    width: 40px;
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .tenant-settings-container[b-oghdthv88j] {
        padding: 1.5rem;
    }

    .tab-content[b-oghdthv88j] {
        padding: 1.5rem;
    }
}

@media (max-width: 640px) {
    .tenant-settings-container[b-oghdthv88j] {
        padding: 1rem;
    }

    .tenant-settings-header[b-oghdthv88j] {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.5rem;
    }

    .tenant-completion[b-oghdthv88j] {
        width: 100%;
    }

    .tab-content[b-oghdthv88j] {
        padding: 1rem;
    }

    .form-actions[b-oghdthv88j] {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .form-actions[b-oghdthv88j]  .e-btn {
        min-height: 44px;
    }
}

/* SyncFusion Tab styling */
[b-oghdthv88j] .tenant-tabs .e-tab-header {
    background-color: var(--light-gray);
    border-bottom: 1px solid var(--cx-border);
}

[b-oghdthv88j] .tenant-tabs .e-tab-header .e-toolbar-item .e-tab-text {
    font-size: 1rem;
    font-weight: 500;
    color: var(--cx-text-secondary);
    padding: 0.75rem 1.25rem;
    transition: color 0.15s ease;
}

[b-oghdthv88j] .tenant-tabs .e-tab-header .e-toolbar-item:not(.e-active):hover .e-tab-text {
    color: var(--cx-text-primary);
}

[b-oghdthv88j] .tenant-tabs .e-tab-header .e-toolbar-item.e-active .e-tab-text {
    color: var(--cx-primary);
    font-weight: 600;
    position: relative;
}

[b-oghdthv88j] .tenant-tabs .e-tab-header .e-toolbar-item.e-active .e-tab-text:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--cx-primary);
}

/* ===================================================================
   Page-wide polish — shared surfaces so every tab feels consistent
   =================================================================== */

/* Completion card: subtle lift on hover */
.tenant-completion[b-oghdthv88j] {
    transition: box-shadow 0.2s ease;
}

.tenant-completion:hover[b-oghdthv88j] {
    box-shadow: var(--shadow-md);
}

/* Bootstrap cards used in the NFC, GoBD and AI-usage tabs — align with the
   design system (radius + soft shadow + tinted header). Border-color is left
   untouched so semantic utilities like .border-success keep working. */
.tab-content .card[b-oghdthv88j] {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.tab-content .card-header[b-oghdthv88j] {
    background: var(--light-gray);
    border-bottom: 1px solid var(--cx-hairline);
    font-weight: 600;
    color: var(--cx-text-primary);
}

/* Info banners: re-tint to the brand so the many "alert-info" hints across
   tabs read as part of the product rather than raw Bootstrap blue. */
.tab-content .alert[b-oghdthv88j] {
    border-radius: var(--radius-lg);
}

.tab-content .alert-info[b-oghdthv88j] {
    background: var(--cx-primary-light);
    border-color: color-mix(in srgb, var(--cx-primary) 18%, transparent);
    color: var(--cx-text-primary);
}

.tab-content .alert-info i[b-oghdthv88j] {
    color: var(--cx-primary);
}

/* Unified stat cards. Previously defined in two competing, unscoped <style>
   blocks (and leaking app-wide). Consolidated here, scoped to this page. */
.ai-stats-summary[b-oghdthv88j] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem;
}

.stat-card[b-oghdthv88j] {
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-border);
    border-radius: var(--radius-lg);
    padding: 1rem 1.25rem;
    text-align: center;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.stat-card:hover[b-oghdthv88j] {
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
}

.stat-card .stat-value[b-oghdthv88j] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--cx-text-primary);
}

.stat-card .stat-label[b-oghdthv88j],
.stat-card .stat-title[b-oghdthv88j] {
    font-size: 0.8rem;
    color: var(--cx-text-secondary);
}

.stat-card.success[b-oghdthv88j],
.stat-card.stat-ok[b-oghdthv88j] {
    background: var(--success-50);
    border-color: color-mix(in srgb, var(--cx-success) 35%, transparent);
}

.stat-card.error[b-oghdthv88j],
.stat-card.stat-danger[b-oghdthv88j] {
    background: var(--danger-50);
    border-color: color-mix(in srgb, var(--cx-danger) 35%, transparent);
}

.stat-card.success .stat-value[b-oghdthv88j],
.stat-card.stat-ok .stat-value[b-oghdthv88j] {
    color: var(--cx-success);
}

.stat-card.error .stat-value[b-oghdthv88j],
.stat-card.stat-danger .stat-value[b-oghdthv88j] {
    color: var(--cx-danger);
}

/* Tables (Ausgabenkategorien): lighter, more modern grid */
.tab-content .table > thead > tr > th[b-oghdthv88j] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--cx-text-secondary);
    border-bottom: 1px solid var(--cx-border);
}

.tab-content .table > tbody > tr > td[b-oghdthv88j] {
    vertical-align: middle;
}
/* _content/CraftX.Web/Components/Pages/Catalog/CatalogManager.razor.rz.scp.css */
.catalog-management[b-vklinchr19] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

/* Content area: only this part scrolls. The catalog table is wide (folder tree + ~9 columns),
   so the page uses the full width instead of the shared 1400px cap — header aligned with it. */
[b-vklinchr19] .cx-header-content {
    max-width: none;
}

[b-vklinchr19] .cx-content-section {
    max-width: none;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Stat card icon colors — semantic tokens */
.stat-total[b-vklinchr19]  .cx-stat-icon    { background: var(--cx-primary-soft); color: var(--cx-primary); }
.stat-material[b-vklinchr19]  .cx-stat-icon { background: var(--warning-50);      color: var(--cx-warning); }
.stat-labor[b-vklinchr19]  .cx-stat-icon    { background: var(--success-50);      color: var(--cx-success); }
.stat-product[b-vklinchr19]  .cx-stat-icon  { background: var(--info-50);         color: var(--cx-info); }
.stat-bundle[b-vklinchr19]  .cx-stat-icon   { background: var(--ai-50);           color: var(--ai); }

/* Empty State */
.empty-state[b-vklinchr19] {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    border: 2px dashed var(--cx-hairline);
}

.empty-icon[b-vklinchr19] {
    font-size: 4rem;
    color: var(--cx-text-muted);
    margin-bottom: 1rem;
}

.empty-state h3[b-vklinchr19] {
    color: var(--cx-text-primary);
    margin: 0 0 0.5rem 0;
}

.empty-state p[b-vklinchr19] {
    color: var(--cx-text-muted);
    margin: 0 0 1.5rem 0;
}

/* Catalog List View — fills remaining space, SfGrid scrolls internally */
.catalog-grid-shell[b-vklinchr19] {
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    flex: 1;
    min-height: 0;
}

[b-vklinchr19] .catalog-data-grid {
    border: 0;
}

[b-vklinchr19] .catalog-data-grid .e-gridheader {
    border-bottom: 1px solid var(--cx-hairline-soft);
}

[b-vklinchr19] .catalog-data-grid .e-headercell {
    background: var(--light-gray);
    color: var(--cx-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.55rem 0.65rem;
}

[b-vklinchr19] .catalog-data-grid .e-rowcell {
    padding: 0.35rem 0.65rem;
    vertical-align: middle;
}

[b-vklinchr19] .catalog-data-grid .e-gridcontent .e-row:hover {
    background: rgba(184, 96, 31, 0.04);
}

.catalog-grid-type[b-vklinchr19] {
    font-size: 0.66rem;
    font-weight: 600;
    padding: 0.18rem 0.5rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    white-space: nowrap;
}

.catalog-grid-link[b-vklinchr19] {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--cx-text-primary);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
}

.catalog-grid-link:hover[b-vklinchr19] {
    color: var(--cx-primary);
}

.catalog-grid-input[b-vklinchr19] {
    min-height: 32px;
    padding: 0.22rem 0.45rem;
    font-size: 0.82rem;
    line-height: 1.2;
}

.catalog-grid-readonly[b-vklinchr19] {
    display: inline-block;
    color: var(--cx-text-secondary);
    font-size: 0.82rem;
    font-weight: 500;
    white-space: nowrap;
}

.catalog-grid-status[b-vklinchr19] {
    min-height: 22px;
    display: flex;
    align-items: center;
}

.catalog-grid-actions[b-vklinchr19] {
    display: flex;
    justify-content: center;
    gap: 0.25rem;
}

.catalog-list[b-vklinchr19] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.catalog-card[b-vklinchr19] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 0.85rem 1rem;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
    align-items: center;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--cx-card-border);
    box-shadow: var(--shadow-xs);
}

.catalog-card:hover[b-vklinchr19] {
    border-color: rgba(184, 96, 31, 0.30);
    box-shadow: var(--shadow-md);
}

.catalog-card.inactive[b-vklinchr19] {
    opacity: 0.7;
    background: var(--paper-2, var(--paper-2));
}

.catalog-header[b-vklinchr19] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
    flex-wrap: wrap;
}

.catalog-type-badge[b-vklinchr19] {
    font-size: 0.66rem;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: var(--radius-pill);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.type-position[b-vklinchr19] { background: var(--success-50); color: var(--cx-success); }
.type-bundle[b-vklinchr19]   { background: var(--ai-50);      color: var(--ai); }

.bundle-badge[b-vklinchr19] {
    font-size: 0.66rem;
    padding: 0.2rem 0.45rem;
    background: var(--light-gray);
    border-radius: var(--radius-sm);
    color: var(--cx-text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.status-badge[b-vklinchr19] {
    font-size: 0.66rem;
    padding: 0.2rem 0.45rem;
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.status-archived[b-vklinchr19] {
    background: var(--light-gray);
    color: var(--cx-text-secondary);
}

.status-archived-small[b-vklinchr19] {
    background: var(--light-gray);
    color: var(--cx-text-secondary);
    padding: 0.25rem;
    border-radius: var(--radius-sm);
}

.catalog-title[b-vklinchr19] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--cx-text-primary);
    margin: 0 0 0.2rem 0;
    line-height: 1.3;
}

.catalog-description[b-vklinchr19] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    margin: 0 0 0.35rem 0;
    line-height: 1.4;
    max-width: 500px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-inline-edit[b-vklinchr19] {
    margin-bottom: 0.45rem;
}

.catalog-inline-fields[b-vklinchr19] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.35rem;
    margin-top: 0.1rem;
}

.inline-field[b-vklinchr19] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.inline-label[b-vklinchr19] {
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--cx-text-muted);
    line-height: 1.1;
}

.inline-save-status[b-vklinchr19] {
    min-height: 1rem;
    margin-top: 0.25rem;
    font-size: 0.72rem;
    color: var(--cx-text-muted);
}

.inline-save-status.saving[b-vklinchr19] {
    color: var(--cx-primary);
}

.inline-save-status.saved[b-vklinchr19] {
    color: var(--cx-success);
}

.inline-save-status.error[b-vklinchr19] {
    color: var(--cx-danger);
}

.catalog-meta[b-vklinchr19] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.catalog-tags[b-vklinchr19] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.tag[b-vklinchr19] {
    font-size: 0.66rem;
    padding: 0.15rem 0.4rem;
    background: var(--light-gray);
    border-radius: var(--radius-sm);
    color: var(--cx-text-secondary);
}

.tag-more[b-vklinchr19] {
    background: var(--cx-hairline);
    color: var(--cx-text-muted);
}

.catalog-card-side[b-vklinchr19] {
    text-align: right;
    min-width: 120px;
}

.catalog-price[b-vklinchr19] {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--cx-success);
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
}

.price-unit[b-vklinchr19] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--cx-text-muted);
}

.catalog-details[b-vklinchr19] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    margin-top: 0.15rem;
}

.detail-item[b-vklinchr19] {
    font-size: 0.74rem;
    color: var(--cx-text-muted);
}

.detail-item small[b-vklinchr19] {
    color: var(--cx-text-muted);
    opacity: 0.7;
}

.catalog-card-actions[b-vklinchr19] {
    display: flex;
    gap: 0.35rem;
}

.action-btn[b-vklinchr19] {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-md);
    border: 1px solid var(--cx-card-border);
    background: var(--cx-card-bg);
    color: var(--cx-text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.action-btn:hover[b-vklinchr19] {
    background: var(--cx-primary);
    color: white;
    border-color: var(--cx-primary);
}

.action-btn.action-archive:hover[b-vklinchr19] {
    background: var(--cx-danger);
    border-color: var(--cx-danger);
}

.action-btn.action-restore:hover[b-vklinchr19] {
    background: var(--cx-success);
    border-color: var(--cx-success);
}

/* Grid/Tile View — scrolls independently */
.catalog-grid-view[b-vklinchr19] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 1px;
}

.catalog-tile[b-vklinchr19] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--cx-card-border);
    box-shadow: var(--shadow-xs);
    display: flex;
    flex-direction: column;
    min-height: 160px;
}

.catalog-tile:hover[b-vklinchr19] {
    border-color: rgba(184, 96, 31, 0.30);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.catalog-tile.inactive[b-vklinchr19] {
    opacity: 0.7;
    background: var(--paper-2, var(--paper-2));
}

.catalog-tile .tile-header[b-vklinchr19] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.tile-title[b-vklinchr19] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
    color: var(--cx-text-primary);
    line-height: 1.3;
}

.tile-description[b-vklinchr19] {
    color: var(--cx-text-muted);
    font-size: 0.85rem;
    margin: 0;
    flex: 1;
    line-height: 1.4;
}

.tile-footer[b-vklinchr19] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid var(--cx-hairline-soft);
}

.tile-price[b-vklinchr19] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--cx-success);
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
}

.tile-type[b-vklinchr19] {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
    background: var(--light-gray);
    border-radius: var(--radius-sm);
    color: var(--cx-text-secondary);
}

/* Result info */
.result-info[b-vklinchr19] {
    text-align: center;
    padding: 1.5rem;
}

.showing-text[b-vklinchr19] {
    color: var(--cx-text-muted);
    font-size: 0.9rem;
    margin: 0;
}

/* Responsive (page-specific) */
@media (max-width: 992px) {
    .catalog-card[b-vklinchr19] {
        grid-template-columns: 1fr;
        gap: 1rem;
        position: relative;
    }

    .catalog-card-side[b-vklinchr19] {
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap: 0.5rem;
    }

    .catalog-card-actions[b-vklinchr19] {
        position: absolute;
        top: 1rem;
        right: 1rem;
    }

    .catalog-inline-fields[b-vklinchr19] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .catalog-grid-view[b-vklinchr19] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .catalog-card[b-vklinchr19] {
        padding: 0.75rem;
    }

    .empty-state[b-vklinchr19] {
        padding: 2.5rem 1rem;
    }

    .action-btn[b-vklinchr19] {
        width: 36px;
        height: 36px;
    }
}

/* Folder tree + list */
.cx-catalog-layout[b-vklinchr19] { display: flex; gap: 16px; flex: 1; min-height: 0; }
.cx-catalog-layout__tree[b-vklinchr19] { width: 248px; flex-shrink: 0; overflow-y: auto; }
.cx-catalog-layout__main[b-vklinchr19] { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.cx-catalog-scope[b-vklinchr19] { font-size: 12px; color: var(--cx-text-muted); padding: 0 2px 8px; }

@media (max-width: 767.98px) {
    .cx-catalog-layout[b-vklinchr19] { flex-direction: column; gap: 4px; }
    .cx-catalog-layout__tree[b-vklinchr19] { width: auto; overflow: visible; }
}

.cx-catalog-namecell[b-vklinchr19] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.cx-catalog-namecell[draggable="true"][b-vklinchr19] { cursor: grab; }
.cx-catalog-badge[b-vklinchr19] {
    flex-shrink: 0; display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 999px;
    font-size: 11px; font-weight: 600; line-height: 1; background: var(--paper-2, #F5F1E8); color: var(--cx-text-secondary);
}
.cx-catalog-badge.is-vars[b-vklinchr19] { background: var(--info-50); color: var(--cx-info); }
.cx-catalog-badge.is-bundle[b-vklinchr19] { background: var(--ai-50); color: var(--ai); }
.cx-catalog-badge.is-source[b-vklinchr19] { background: var(--warning-50); color: var(--cx-warning); }
.cx-catalog-path[b-vklinchr19] {
    min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: 11px; color: var(--cx-text-muted);
}
/* _content/CraftX.Web/Components/Pages/Contacts/ContactsOverview.razor.rz.scp.css */
.contacts-page[b-yf1xtnyuam] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

[b-yf1xtnyuam] .cx-content-section {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-yf1xtnyuam] .tab-panel {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}
/* _content/CraftX.Web/Components/Pages/Contacts/Customers/CustomerLettersManager.razor.rz.scp.css */
.cx-letters[b-qz6wj4v8k2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.cx-letters__head[b-qz6wj4v8k2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.cx-letters__title[b-qz6wj4v8k2] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.cx-letters__loading[b-qz6wj4v8k2] {
    display: flex;
    align-items: center;
    padding: 1rem 0;
}

.cx-letters__list[b-qz6wj4v8k2] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cx-letters__item[b-qz6wj4v8k2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--bs-border-color, #e2e2e2);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #fff);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cx-letters__item:hover[b-qz6wj4v8k2] {
    border-color: #b9803d;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.cx-letters__main[b-qz6wj4v8k2] {
    min-width: 0;
    flex: 1 1 auto;
}

.cx-letters__subject[b-qz6wj4v8k2] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cx-letters__meta[b-qz6wj4v8k2] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.2rem;
    font-size: 0.85rem;
    color: var(--bs-secondary-color, #6c757d);
}

.cx-letters__sep[b-qz6wj4v8k2] {
    opacity: 0.5;
}

.cx-letters__actions[b-qz6wj4v8k2],
.cx-letters__confirm[b-qz6wj4v8k2] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}
/* _content/CraftX.Web/Components/Pages/Expenditures/CashBookPage.razor.rz.scp.css */
/* ===== Page Wrapper ===== */
/*
 * Read-only notice for a user without Vollzugriff on Finanzen.
 *
 * Informational, not an error: nothing has gone wrong, this is simply what the page is for them.
 * Stated once at the top so the disabled controls below read as expected rather than as breakage.
 */
.cashbook-readonly-note[b-o0u3pph7ql] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: var(--paper-2);
    border: 1px solid var(--cx-hairline);
    border-left: 3px solid var(--cx-text-muted);
    border-radius: var(--radius-lg);
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--cx-text-secondary);
}

.cashbook-readonly-note > .bi[b-o0u3pph7ql] {
    flex: 0 0 auto;
    margin-top: 1px;
    font-size: 15px;
    color: var(--cx-text-muted);
}

.cashbook-readonly-note strong[b-o0u3pph7ql] {
    color: var(--cx-text-primary);
}

/* Month-close status band: one line about the previous month, with the closing action
   inline — closing happens where the book is kept. */
.cb-month-close[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: var(--paper-2);
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-lg);
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--cx-text-secondary);
}

.cb-month-close.is-closed[b-o0u3pph7ql] {
    border-left: 3px solid var(--cx-success);
}

.cb-month-close.is-open[b-o0u3pph7ql] {
    border-left: 3px solid var(--cx-primary);
}

.cb-month-close > .bi[b-o0u3pph7ql] {
    flex: 0 0 auto;
    font-size: 16px;
    color: var(--cx-text-muted);
}

.cb-month-close.is-closed > .bi[b-o0u3pph7ql] {
    color: var(--cx-success);
}

.cb-month-close-text[b-o0u3pph7ql] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.cb-month-close-text strong[b-o0u3pph7ql] {
    color: var(--cx-text-primary);
}

/* The way out of a sender hold, offered on the row that is held. */
.cashbook-sender-hold-btn.e-btn[b-o0u3pph7ql] {
    border-color: var(--cx-warning);
    color: var(--cx-warning);
}

.cashbook-sender-hold-btn.e-btn:hover[b-o0u3pph7ql] {
    background: var(--cx-warning);
    color: #fff;
}

.cash-book-page[b-o0u3pph7ql] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

/* ===== Upload Area (header) ===== */
.cb-upload-area[b-o0u3pph7ql] {
    position: relative;
    display: inline-block;
    transition: all 0.2s ease;
    border-radius: 4px;
    overflow: hidden;
}

.cb-upload-area:hover[b-o0u3pph7ql] {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

[b-o0u3pph7ql] .cb-upload-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}

/* ===== Stat Icon Colors ===== */
.cb-stat-balance[b-o0u3pph7ql]  .cx-stat-icon { background: var(--ai-50); color: var(--ai); }
.cb-stat-today[b-o0u3pph7ql]  .cx-stat-icon { background: var(--success-50); color: var(--cx-success); }
.cb-stat-pending[b-o0u3pph7ql]  .cx-stat-icon { background: var(--warning-50); color: var(--cx-warning); }

.cb-negative[b-o0u3pph7ql] {
    color: var(--cx-danger) !important;
}

.cb-pending[b-o0u3pph7ql] {
    color: var(--cx-warning) !important;
}

.cb-highlight[b-o0u3pph7ql] {
    border-left: 3px solid var(--cx-warning);
}

/* ===== Date Range Filter in Toolbar ===== */
/* Native <input type="date"> is used instead of SfDatePicker to avoid Syncfusion
   binding-timing issues when changes must trigger a grid reload. */
.cx-filter-date[b-o0u3pph7ql] {
    height: 34px;
    padding: 0 0.5rem;
    border-radius: 8px;
    border: 1px solid var(--cx-border);
    background: var(--cx-card-bg);
    font-size: 0.8rem;
    color: var(--cx-text-primary);
    min-width: 140px;
    font-family: inherit;
    transition: border-color 0.15s;
}

.cx-filter-date:focus[b-o0u3pph7ql],
.cx-filter-date:focus-within[b-o0u3pph7ql] {
    outline: none;
    border-color: var(--cx-primary);
    box-shadow: 0 0 0 2px rgba(44, 82, 130, 0.1);
}

.cx-filter-date-separator[b-o0u3pph7ql] {
    color: var(--cx-text-muted);
    font-weight: 500;
    padding: 0 0.25rem;
}

/* Quick month picker — give the month label room and a touch of emphasis so it reads
   as the primary, fast way to jump between months. */
.cx-filter-month[b-o0u3pph7ql] {
    min-width: 148px;
    font-weight: 500;
}

/* Free-text search: same chrome as the date inputs, wide enough for the placeholder. */
.cx-filter-search[b-o0u3pph7ql] {
    height: 34px;
    padding: 0 0.6rem;
    border-radius: 8px;
    border: 1px solid var(--cx-border);
    background: var(--cx-card-bg);
    font-size: 0.8rem;
    color: var(--cx-text-primary);
    min-width: 260px;
    font-family: inherit;
    transition: border-color 0.15s;
}

.cx-filter-search:focus[b-o0u3pph7ql] {
    outline: none;
    border-color: var(--cx-primary);
    box-shadow: 0 0 0 2px rgba(44, 82, 130, 0.1);
}

.cx-filter-date:disabled[b-o0u3pph7ql],
.cx-filter-month:disabled[b-o0u3pph7ql] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Search result line above the ledger — tells the reader the month filter is off. */
.cashbook-search-hint[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    background: var(--cx-card-bg);
    border-left: 3px solid var(--cx-primary);
    font-size: 0.85rem;
    color: var(--cx-text-primary);
}

.cashbook-search-hint .cx-clear-btn[b-o0u3pph7ql] {
    margin-left: auto;
}

/* ===== Collapsible Pending Vouchers ===== */
.pending-vouchers-section[b-o0u3pph7ql] {
    margin-bottom: 1rem;
    background: var(--cx-card-bg);
    border-radius: 10px;
    box-shadow: var(--shadow-xs);
    overflow: hidden;
    border-left: 3px solid var(--cx-warning);
}

.pending-header[b-o0u3pph7ql] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1.25rem;
    cursor: pointer;
    transition: background 0.15s;
}

.pending-header:hover[b-o0u3pph7ql] {
    background: var(--warning-50);
}

.pending-toggle[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 500;
    color: var(--cx-text-primary);
}

.pending-toggle i[b-o0u3pph7ql] {
    color: var(--cx-warning);
}

.pending-badge[b-o0u3pph7ql] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--cx-warning);
    color: white;
    font-size: 0.7rem;
    font-weight: 600;
}

.pending-content[b-o0u3pph7ql] {
    padding: 0 1.25rem 1.25rem;
    border-top: 1px solid var(--warning-50);
}

/* ===== Entries Grid Section ===== */
.entries-section[b-o0u3pph7ql] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: var(--cx-card-bg);
    border-radius: 10px;
    box-shadow: var(--shadow-xs);
    overflow: hidden;
}

/* ===== Ledger Table ===== */
.cashbook-ledger[b-o0u3pph7ql] {
    flex: 1;
    min-height: 0;
    overflow: auto;
}

.cashbook-table[b-o0u3pph7ql] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
    table-layout: fixed;
}

.cashbook-table thead th[b-o0u3pph7ql] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--light-gray);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--cx-text-secondary);
    text-align: left;
    padding: 0.75rem 0.5rem;
    border-bottom: 1px solid var(--cx-hairline);
}

.cashbook-table tbody td[b-o0u3pph7ql] {
    padding: 0.625rem 0.5rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--cx-hairline);
}

.cashbook-table tbody tr.cashbook-row:hover td[b-o0u3pph7ql] {
    background-color: var(--light-gray);
}

/* Column widths (table-layout: fixed) */
.cb-col-nr[b-o0u3pph7ql]       { width: 56px; text-align: center; }
.cb-col-date[b-o0u3pph7ql]     { width: 84px; white-space: nowrap; }
.cb-col-kind[b-o0u3pph7ql]     { width: 116px; }
.cb-col-desc[b-o0u3pph7ql]     { width: auto; }
.cb-col-amount[b-o0u3pph7ql]   { width: 110px; text-align: right; }
.cb-col-balance[b-o0u3pph7ql]  { width: 112px; text-align: right; }
.cb-col-category[b-o0u3pph7ql] { width: 120px; }
.cb-col-status[b-o0u3pph7ql]   { width: 160px; }
.cb-col-actions[b-o0u3pph7ql]  { width: 96px; text-align: center; }

.cb-col-nr[b-o0u3pph7ql] { color: var(--cx-text-muted); font-variant-numeric: tabular-nums; }

/* Storno indent marker in the description cell */
.storno-indent[b-o0u3pph7ql] {
    color: var(--cx-text-muted);
    margin-right: 0.25rem;
    font-size: 0.8rem;
}

/* ===== Description Cell ===== */
.description-cell[b-o0u3pph7ql] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    line-height: 1.3;
}

.description-text[b-o0u3pph7ql] {
    font-weight: 500;
    color: var(--cx-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 280px;
}

.vendor-hint[b-o0u3pph7ql] {
    font-size: 0.7rem;
    color: var(--cx-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}

/* ===== Amount + Balance Values ===== */
.amount-value[b-o0u3pph7ql],
.balance-value[b-o0u3pph7ql] {
    font-family: 'SF Mono', 'Consolas', monospace;
    font-weight: 500;
    font-size: 0.8125rem;
    white-space: nowrap;
}

.amount-positive[b-o0u3pph7ql] { color: var(--cx-success); }
.amount-negative[b-o0u3pph7ql] { color: var(--cx-danger); }

/* The Saldo is a neutral running total, not a gain/loss — keep it ink-coloured so it
   doesn't read as "good/bad"; only flag a (problematic) negative cash balance in red. */
.balance-value[b-o0u3pph7ql] { font-weight: 600; }
.balance-positive[b-o0u3pph7ql] { color: var(--cx-text-primary); }
.balance-negative[b-o0u3pph7ql] { color: var(--cx-danger); }

/* ===== Entry Kind Badges ===== */
.entry-kind-badge[b-o0u3pph7ql] {
    display: inline-block;
    padding: 0.2rem 0.4rem;
    font-size: 0.7rem;
    font-weight: 500;
    border-radius: 4px;
    text-align: center;
    min-width: 45px;
}

.kind-expense[b-o0u3pph7ql] { background: var(--danger-50); color: var(--cx-danger); }
.kind-revenue[b-o0u3pph7ql] { background: var(--success-50); color: var(--cx-success); }
/* A Storno is a counter-booking, not a business transaction of its own — neutral, not red/green */
.kind-storno[b-o0u3pph7ql] { background: var(--light-gray); color: var(--cx-text-secondary); }

/* ===== Correction context line (replaces the vendor hint on paired rows) ===== */
.correction-line[b-o0u3pph7ql] {
    font-size: 0.7rem;
    color: var(--cx-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 420px;
}

.cb-entry-link[b-o0u3pph7ql] {
    color: var(--cx-text-primary);
    font-weight: 600;
    text-decoration: underline dotted;
    text-underline-offset: 2px;
}

.cb-entry-link:hover[b-o0u3pph7ql] { color: var(--cx-primary, var(--cx-text-primary)); text-decoration-style: solid; }

/* Target row after a jump from a correction link */
.cashbook-table tbody tr.cashbook-row-highlight td[b-o0u3pph7ql] {
    box-shadow: inset 0 0 0 1px var(--cx-primary, #8a5a2b);
}

.cashbook-table tbody tr.cashbook-row-highlight td:first-child[b-o0u3pph7ql] {
    box-shadow: inset 3px 0 0 0 var(--cx-primary, #8a5a2b), inset 0 0 0 1px var(--cx-primary, #8a5a2b);
}

/* The Storno amount only undoes another line — it is neither income nor a real expense */
.cashbook-table tbody tr.cashbook-row-storno td .amount-value[b-o0u3pph7ql] {
    color: var(--cx-text-muted);
}
.kind-banktransaction[b-o0u3pph7ql] { background: var(--info-50); color: var(--cx-info); }
.kind-bankdeposit[b-o0u3pph7ql] { background: var(--info-50); color: var(--cx-info); }
.kind-bankwithdrawal[b-o0u3pph7ql] { background: var(--info-50); color: var(--cx-info); }
.kind-employeeadvance[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.kind-employeerepayment[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.kind-privatedeposit[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.kind-privatewithdrawal[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.kind-internaltransfer[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.kind-initialbalance[b-o0u3pph7ql] { background: var(--warning-50); color: var(--cx-warning); }

/* ===== Category Badge ===== */
.category-badge[b-o0u3pph7ql] {
    display: inline-block;
    padding: 0.15rem 0.4rem;
    font-size: 0.7rem;
    background: transparent;
    color: var(--cx-text-secondary);
    border-radius: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* ===== Status Badges ===== */
.status-cell[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.35rem;
}

.status-badge[b-o0u3pph7ql] {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 500;
    border-radius: 9999px;
}

.status-draft[b-o0u3pph7ql] { background: var(--warning-50); color: var(--cx-warning); }
.status-finalized[b-o0u3pph7ql] { background: var(--success-50); color: var(--cx-success); }
.status-corrected[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.status-correctionentry[b-o0u3pph7ql] { background: var(--danger-50); color: var(--cx-danger); }

/* ===== Pending Voucher Processing Status (KI pipeline) ===== */
.voucher-status[b-o0u3pph7ql] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 500;
    border-radius: 9999px;
    white-space: nowrap;
}

.voucher-status i[b-o0u3pph7ql] {
    font-size: 0.75rem;
}

.vstatus-queued[b-o0u3pph7ql] { background: var(--paper-2); color: var(--cx-text-secondary); }
.vstatus-processing[b-o0u3pph7ql] { background: var(--ai-50); color: var(--ai); }
.vstatus-ready[b-o0u3pph7ql] { background: var(--success-50); color: var(--cx-success); }
.vstatus-failed[b-o0u3pph7ql] { background: var(--danger-50); color: var(--cx-danger); }

.voucher-status-spin[b-o0u3pph7ql] {
    animation: spin-b-o0u3pph7ql 1.2s linear infinite;
}

/* Upload button spinner — icon element is generated by Syncfusion, so ::deep */
[b-o0u3pph7ql] .cb-upload-area .cb-upload-spin {
    display: inline-block;
    animation: spin-b-o0u3pph7ql 1s linear infinite;
}

.doc-warning[b-o0u3pph7ql] {
    color: var(--cx-warning);
    font-size: 0.875rem;
}

.doc-replacement-icon[b-o0u3pph7ql] {
    color: var(--ai);
    font-size: 0.8rem;
}

.doc-invoice-icon[b-o0u3pph7ql] {
    color: var(--cx-info);
    font-size: 0.8rem;
}

/* ===== Action Buttons in Ledger ===== */
.action-buttons[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
}

[b-o0u3pph7ql] .cashbook-ledger .e-btn.e-small {
    padding: 0.25rem 0.4rem;
    font-size: 0.75rem;
    min-width: unset;
}

[b-o0u3pph7ql] .cashbook-ledger .e-btn.e-small .e-btn-icon {
    font-size: 0.8rem;
}

/* ===== Loading States ===== */
.loading-overlay[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
}

.loading-spinner[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
}

.spinning[b-o0u3pph7ql] {
    animation: spin-b-o0u3pph7ql 1s linear infinite;
}

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

.grid-loading[b-o0u3pph7ql] {
    opacity: 0.6;
    pointer-events: none;
}

/* ===== Empty State ===== */
.empty-grid-message[b-o0u3pph7ql] {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--cx-text-secondary);
}

.empty-grid-message i[b-o0u3pph7ql] {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.3;
}

.empty-grid-message h4[b-o0u3pph7ql] {
    margin: 0 0 0.5rem;
    font-weight: 600;
    color: var(--cx-text-primary);
}

.empty-grid-message p[b-o0u3pph7ql] {
    margin: 0;
    font-size: 0.875rem;
}

/* ===== Document Badges ===== */
.doc-badge[b-o0u3pph7ql] {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 600;
}

.doc-missing[b-o0u3pph7ql] {
    background-color: var(--warning-50);
    color: var(--cx-warning);
}

.doc-invoice[b-o0u3pph7ql] {
    background-color: var(--info-50);
    color: var(--cx-info);
}

.doc-replacement[b-o0u3pph7ql] {
    background-color: var(--ai-50);
    color: var(--ai);
}

/* ===== Month Section Header Band ===== */
.cb-month-band td[b-o0u3pph7ql] {
    background: var(--ai-50);
    border-bottom: 2px solid var(--cx-hairline) !important;
    padding: 0.5rem 0.75rem !important;
    position: sticky;
    top: 38px; /* sits just under the sticky column header row */
    z-index: 1;
}

.cb-month-band-inner[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.8125rem;
    color: var(--cx-text-primary);
}

.cb-month-title[b-o0u3pph7ql] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    text-transform: capitalize;
}

.cb-month-title i[b-o0u3pph7ql] {
    color: var(--ai);
    font-size: 0.875rem;
}

.cb-month-count[b-o0u3pph7ql] {
    font-weight: 400;
    color: var(--cx-text-muted);
    font-size: 0.75rem;
}

/* Monatssaldo (net change for the month) */
.cb-month-net[b-o0u3pph7ql] {
    font-family: 'SF Mono', 'Consolas', monospace;
    font-size: 0.75rem;
    font-weight: 600;
}

.cb-month-net.is-positive[b-o0u3pph7ql] { color: var(--cx-success); }
.cb-month-net.is-negative[b-o0u3pph7ql] { color: var(--cx-danger); }

/* Drafts of this month: shown next to the net, but visibly outside the balance. */
.cb-month-pending[b-o0u3pph7ql] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--cx-warning);
    background: var(--warning-50);
    border-radius: 999px;
    padding: 0.05rem 0.45rem;
    white-space: nowrap;
}

/* Finalized non-cash entries: never part of the Kassenbestand, so visibly neutral. */
.cb-month-noncash[b-o0u3pph7ql] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--cx-text-secondary, #6c757d);
    background: var(--cx-surface-2, #f1f3f5);
    border-radius: 999px;
    padding: 0.05rem 0.45rem;
    white-space: nowrap;
}

/* Anfangsbestand -> Endbestand (opening / closing cash balance) */
.cb-month-balances[b-o0u3pph7ql] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.75rem;
    color: var(--cx-text-secondary);
    white-space: nowrap;
}

.cb-month-balances i[b-o0u3pph7ql] {
    color: var(--cx-text-muted);
}

.cb-mb strong[b-o0u3pph7ql] {
    font-family: 'SF Mono', 'Consolas', monospace;
    color: var(--cx-text-primary);
}

.cb-mb-end strong[b-o0u3pph7ql] {
    color: var(--cx-text-primary);
    font-weight: 700;
}

/* ===== Responsive ===== */
@media (max-width: 992px) {
    .description-text[b-o0u3pph7ql] {
        max-width: 200px;
    }
}

@media (max-width: 640px) {
    .entries-section[b-o0u3pph7ql],
    .pending-vouchers-section[b-o0u3pph7ql] {
        border-radius: 0;
    }

    .pending-header[b-o0u3pph7ql] {
        padding: 0.75rem 1rem;
    }

    .pending-content[b-o0u3pph7ql] {
        padding: 0 1rem 1rem;
    }

    .description-text[b-o0u3pph7ql] {
        max-width: 140px;
    }

    .vendor-hint[b-o0u3pph7ql] {
        max-width: 120px;
    }

    /* Touch targets for in-grid action buttons */
    [b-o0u3pph7ql] .cashbook-ledger .e-btn.e-small {
        min-height: 36px;
    }
}

/* ===== Entry-kind badge: full words ===== */
.entry-kind-badge[b-o0u3pph7ql] {
    white-space: nowrap;
}

/* ===== Legend / "how to read your cash book" ===== */
.cashbook-legend[b-o0u3pph7ql] {
    background: var(--ai-50);
    border: 1px solid var(--cx-hairline);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.cashbook-legend-head[b-o0u3pph7ql] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--cx-text-primary);
    margin-bottom: 0.35rem;
}

.cashbook-legend-head > i[b-o0u3pph7ql] {
    color: var(--ai);
}

.cashbook-legend-close[b-o0u3pph7ql] {
    margin-left: auto;
    background: transparent;
    border: none;
    color: var(--cx-text-muted);
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0.1rem 0.3rem;
    border-radius: 6px;
}

.cashbook-legend-close:hover[b-o0u3pph7ql] {
    background: rgba(0, 0, 0, 0.06);
    color: var(--cx-text-primary);
}

.cashbook-legend-list[b-o0u3pph7ql] {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.82rem;
    color: var(--cx-text-secondary);
    line-height: 1.5;
}

.cashbook-legend-list li[b-o0u3pph7ql] {
    margin-bottom: 0.15rem;
}

/* ===== Correction pairing chip ===== */
.correction-link[b-o0u3pph7ql] {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--cx-text-secondary);
    background: var(--light-gray);
    border: 1px solid var(--cx-hairline);
    border-radius: 9999px;
    padding: 0.05rem 0.4rem;
    white-space: nowrap;
}

/* ===== De-emphasized correction rows (Storno + corrected original) =====
   These rows cancel each other out and must not compete with live bookings.
   A muted fill + a left accent bar + muted text make the pair unmistakably
   "settled / inactive" without hiding it (GoBD: entries are never removed). */
.cashbook-table tbody tr.cashbook-row-storno td[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected td[b-o0u3pph7ql] {
    background-color: var(--paper-2, #f6f6f4);
    color: var(--cx-text-muted);
}

.cashbook-table tbody tr.cashbook-row-storno td:first-child[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected td:first-child[b-o0u3pph7ql] {
    box-shadow: inset 3px 0 0 0 var(--cx-text-muted);
}

/* Dim the coloured inner badges/amounts on settled rows so the whole row reads back */
.cashbook-table tbody tr.cashbook-row-storno td .amount-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-storno td .balance-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-storno td .entry-kind-badge[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected td .amount-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected td .balance-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected td .entry-kind-badge[b-o0u3pph7ql] {
    opacity: 0.7;
}

.cashbook-table tbody tr.cashbook-row-storno:hover td[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected:hover td[b-o0u3pph7ql] {
    color: var(--cx-text-secondary);
}

.cashbook-table tbody tr.cashbook-row-storno:hover td .amount-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-storno:hover td .balance-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-storno:hover td .entry-kind-badge[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected:hover td .amount-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected:hover td .balance-value[b-o0u3pph7ql],
.cashbook-table tbody tr.cashbook-row-corrected:hover td .entry-kind-badge[b-o0u3pph7ql] {
    opacity: 1;
}

/* Tame the correction (Storno) action so it doesn't read as a primary, loud control */
[b-o0u3pph7ql] .cashbook-ledger .e-btn.cashbook-correct-btn {
    color: var(--cx-text-secondary);
    border-color: var(--cx-hairline);
}

[b-o0u3pph7ql] .cashbook-ledger .e-btn.cashbook-correct-btn:hover {
    color: var(--cx-warning);
    border-color: var(--cx-warning);
}
/* _content/CraftX.Web/Components/Pages/HR/Attendance.razor.rz.scp.css */
.attendance-page[b-ke0wim6v74] {
    padding: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Header — patina-green gradient (token-based) */
.page-header[b-ke0wim6v74] {
    background: linear-gradient(135deg, var(--cx-success) 0%, var(--cx-success) 100%);
    border-radius: var(--radius-2xl);
    padding: 2rem;
    margin-bottom: 1.5rem;
    color: white;
}

.header-content[b-ke0wim6v74] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-title h1[b-ke0wim6v74] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: var(--fw-semibold);
}

.header-subtitle[b-ke0wim6v74] {
    margin: 0.25rem 0 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

/* Stats */
.stats-section[b-ke0wim6v74] { margin-bottom: 1.5rem; }

.stats-grid[b-ke0wim6v74] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.stat-card[b-ke0wim6v74] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    transition: all 0.15s var(--ease);
}

.stat-card.clickable[b-ke0wim6v74] { cursor: pointer; }

.stat-card.clickable:hover[b-ke0wim6v74] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.stat-icon[b-ke0wim6v74] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.stat-total .stat-icon[b-ke0wim6v74]       { background: var(--cx-primary-soft); color: var(--cx-primary); }
.stat-active .stat-icon[b-ke0wim6v74]      { background: var(--success-50); color: var(--cx-success); }
.stat-departments .stat-icon[b-ke0wim6v74] { background: var(--info-50); color: var(--cx-info); }
.stat-pending .stat-icon[b-ke0wim6v74]     { background: var(--warning-50); color: var(--cx-warning); }
.stat-rejected .stat-icon[b-ke0wim6v74]    { background: var(--danger-50); color: var(--cx-danger); }

.stat-content[b-ke0wim6v74] {
    display: flex;
    flex-direction: column;
}

.stat-value[b-ke0wim6v74] {
    font-size: 1.5rem;
    font-weight: var(--fw-bold);
    color: var(--cx-text-primary);
}

.stat-label[b-ke0wim6v74] {
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
}

.tabs-section[b-ke0wim6v74] { margin-bottom: 1rem; }

.content-section[b-ke0wim6v74] { margin-top: 1rem; }

/* Summary Bar */
.today-summary[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--success-50);
    padding: 1rem;
    border-radius: var(--radius-md);
    margin-bottom: 1rem;
    color: var(--cx-success);
    font-weight: var(--fw-medium);
}

.today-summary i[b-ke0wim6v74] { font-size: 1.1rem; }

/* Entries List */
.entries-list[b-ke0wim6v74] { display: flex; flex-direction: column; gap: 0.75rem; }

.entries-list-section[b-ke0wim6v74] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.entries-list-section h3[b-ke0wim6v74] {
    margin: 0 0 1rem;
    font-size: 1.1rem;
    font-weight: var(--fw-semibold);
}

/* Entry Row */
.entry-row[b-ke0wim6v74] {
    display: grid;
    grid-template-columns: 180px 120px 70px auto auto auto;
    gap: 1rem;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--light-gray);
    border-radius: var(--radius-md);
}

.entry-row.approved[b-ke0wim6v74] { opacity: 0.7; }

.entry-row.active[b-ke0wim6v74] {
    background: var(--success-50);
    border-left: 3px solid var(--cx-success);
}

.entry-row.needs-correction[b-ke0wim6v74] {
    background: var(--danger-50);
    border-left: 3px solid var(--cx-danger);
}

.entry-row .entry-date[b-ke0wim6v74] {
    font-weight: var(--fw-medium);
    color: var(--cx-text-primary);
    font-size: 0.85rem;
}

.entry-time-range[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
}

.entry-time-range i[b-ke0wim6v74] { color: var(--cx-text-muted); }

.entry-duration[b-ke0wim6v74] {
    font-weight: var(--fw-semibold);
    color: var(--cx-primary);
}

.entry-hours[b-ke0wim6v74] {
    color: var(--cx-primary);
    font-weight: var(--fw-semibold);
}

.entry-break[b-ke0wim6v74] {
    color: var(--cx-text-secondary);
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.entry-status[b-ke0wim6v74], .entry-method[b-ke0wim6v74] { display: flex; justify-content: flex-end; }

.entry-notes[b-ke0wim6v74] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
    font-size: 0.85rem;
    padding: 0.5rem 0;
}

.entry-notes i[b-ke0wim6v74] { color: var(--cx-text-muted); flex-shrink: 0; }

.entry-meta[b-ke0wim6v74] { font-size: 0.8rem; color: var(--cx-text-secondary); }

/* Present Card */
.present-card[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--success-50);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    border-left: 4px solid var(--cx-success);
}

/* Approval Card */
.approval-card[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    border-left: 4px solid var(--cx-warning);
    transition: all 0.15s var(--ease);
    flex-wrap: wrap;
}

.approval-card.correction[b-ke0wim6v74] {
    border-left-color: var(--cx-danger);
    background: var(--danger-50);
}

.approval-card:hover[b-ke0wim6v74] { box-shadow: var(--shadow-md); }

.approval-checkbox[b-ke0wim6v74] { display: flex; align-items: center; }
.approval-checkbox input[type="checkbox"][b-ke0wim6v74] { width: 18px; height: 18px; cursor: pointer; }

/* Employee Info */
.employee-info[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 200px;
}

.avatar[b-ke0wim6v74] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cx-primary), var(--cx-primary-hover));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--fw-semibold);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.avatar.active[b-ke0wim6v74] {
    background: linear-gradient(135deg, var(--cx-success), var(--cx-success));
    animation: pulse-b-ke0wim6v74 2s infinite;
}

@keyframes pulse-b-ke0wim6v74 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.employee-details[b-ke0wim6v74] { display: flex; flex-direction: column; }
.employee-name[b-ke0wim6v74] { font-weight: var(--fw-semibold); color: var(--cx-text-primary); }
.employee-details .entry-date[b-ke0wim6v74] { font-size: 0.85rem; color: var(--cx-text-secondary); }

.entry-details[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex: 1;
}

.entry-actions[b-ke0wim6v74] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
    flex-wrap: wrap;
}

/* Correction Notes */
.correction-notes[b-ke0wim6v74] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--danger-50);
    border: 1px solid var(--danger-50);
    border-radius: var(--radius-md);
    font-size: 0.8rem;
    color: var(--cx-danger);
    width: 100%;
}

.correction-notes i[b-ke0wim6v74] { color: var(--cx-danger); flex-shrink: 0; margin-top: 0.1rem; }

/* Toolbar */
.toolbar-container[b-ke0wim6v74] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--cx-card-bg);
    padding: 1rem;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    margin-bottom: 1rem;
}

.toolbar-left[b-ke0wim6v74] { display: flex; align-items: center; gap: 1rem; }
.toolbar-right[b-ke0wim6v74] { display: flex; align-items: center; gap: 0.5rem; }

.select-all-checkbox[b-ke0wim6v74] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--cx-text-secondary);
}

.select-all-checkbox input[type="checkbox"][b-ke0wim6v74] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Employee Selector */
.employee-selector[b-ke0wim6v74] {
    background: var(--cx-card-bg);
    padding: 1.25rem;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    margin-bottom: 1.5rem;
}

.selector-row[b-ke0wim6v74] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

.selector-field[b-ke0wim6v74] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.selector-field label[b-ke0wim6v74] {
    font-size: 0.85rem;
    font-weight: var(--fw-medium);
    color: var(--cx-text-secondary);
}

.employee-dropdown[b-ke0wim6v74] { min-width: 250px; }
.month-dropdown[b-ke0wim6v74] { min-width: 180px; }

/* Badges — chip pattern */
.badge[b-ke0wim6v74] {
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-pill);
    font-size: 0.75rem;
    font-weight: var(--fw-medium);
}

.badge-active[b-ke0wim6v74]   { background: var(--success-50); color: var(--cx-success); }
.badge-approved[b-ke0wim6v74] { background: var(--cx-border);  color: var(--cx-text-primary); }
.badge-pending[b-ke0wim6v74]  { background: var(--warning-50); color: var(--cx-warning); }
.badge-rejected[b-ke0wim6v74] { background: var(--danger-50);  color: var(--cx-danger); }
.badge-warning[b-ke0wim6v74]  { background: var(--warning-50); color: var(--cx-warning); }
.badge-method[b-ke0wim6v74]   { background: var(--light-gray); color: var(--cx-text-secondary); }
.badge-break[b-ke0wim6v74]    { background: var(--light-gray); color: var(--cx-text-secondary); display: inline-flex; align-items: center; gap: 0.25rem; }
.badge-location[b-ke0wim6v74] { background: var(--info-50);    color: var(--cx-info); cursor: help; }

/* Delete Warning */
.delete-warning[b-ke0wim6v74] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--danger-50);
    border: 1px solid var(--danger-50);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    color: var(--cx-danger);
}

.delete-warning i[b-ke0wim6v74] {
    color: var(--cx-danger);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* Empty State */
.empty-state[b-ke0wim6v74] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 3rem;
    text-align: center;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.empty-state i[b-ke0wim6v74] {
    font-size: 3rem;
    color: var(--cx-border);
    margin-bottom: 1rem;
}

.empty-state h3[b-ke0wim6v74] {
    margin: 0 0 0.5rem;
    color: var(--cx-text-secondary);
}

.empty-state p[b-ke0wim6v74] {
    color: var(--cx-text-muted);
    margin: 0;
}

/* Dialog */
.dialog-overlay[b-ke0wim6v74] {
    position: fixed;
    inset: 0;
    background: rgba(28, 25, 21, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.dialog-container[b-ke0wim6v74] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
}

.dialog-header[b-ke0wim6v74] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--cx-hairline-soft);
}

.dialog-header h3[b-ke0wim6v74] {
    margin: 0;
    font-size: 1.1rem;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
}

.dialog-close[b-ke0wim6v74] {
    background: none;
    border: none;
    color: var(--cx-text-secondary);
    cursor: pointer;
    padding: 0.25rem;
    border-radius: var(--radius-sm);
    font-size: 1rem;
}

.dialog-close:hover[b-ke0wim6v74] {
    background: var(--light-gray);
    color: var(--cx-text-primary);
}

.dialog-body[b-ke0wim6v74] { padding: 1.5rem; }

.dialog-info[b-ke0wim6v74] {
    padding: 0.75rem 1rem;
    background: var(--light-gray);
    border-radius: var(--radius-md);
    margin-bottom: 1rem;
    color: var(--cx-text-primary);
}

.dialog-footer[b-ke0wim6v74] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--cx-hairline-soft);
}

.form-group[b-ke0wim6v74] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    margin-bottom: 1rem;
}

.form-group label[b-ke0wim6v74] {
    font-size: 0.85rem;
    font-weight: var(--fw-medium);
    color: var(--cx-text-secondary);
}

.form-group .required[b-ke0wim6v74] { color: var(--cx-danger); }

.form-row[b-ke0wim6v74] { display: flex; gap: 1rem; }
.form-row .form-group[b-ke0wim6v74] { flex: 1; }

.form-input[b-ke0wim6v74] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--cx-border);
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    color: var(--cx-text-primary);
    outline: none;
    transition: border-color 0.2s var(--ease);
}

.form-input:focus[b-ke0wim6v74] {
    border-color: var(--cx-success);
    box-shadow: 0 0 0 3px var(--success-50);
}

.form-textarea[b-ke0wim6v74] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--cx-border);
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    color: var(--cx-text-primary);
    resize: vertical;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s var(--ease);
}

.form-textarea:focus[b-ke0wim6v74] {
    border-color: var(--cx-success);
    box-shadow: 0 0 0 3px var(--success-50);
}

/* Responsive */
@media (max-width: 1024px) {
    .approval-card[b-ke0wim6v74],
    .present-card[b-ke0wim6v74] { flex-wrap: wrap; }

    .approval-card .entry-details[b-ke0wim6v74],
    .present-card .entry-details[b-ke0wim6v74] {
        width: 100%;
        margin-top: 0.5rem;
    }

    .approval-card .entry-actions[b-ke0wim6v74] {
        width: 100%;
        justify-content: flex-end;
        margin-top: 0.5rem;
    }
}

@media (max-width: 992px) {
    .cx-tab-buttons[b-ke0wim6v74] { flex-wrap: wrap; }
    .stats-grid[b-ke0wim6v74] { grid-template-columns: repeat(2, 1fr); }

    .toolbar-container[b-ke0wim6v74] {
        flex-direction: column;
        gap: 1rem;
        align-items: stretch;
    }

    .toolbar-left[b-ke0wim6v74], .toolbar-right[b-ke0wim6v74] { width: 100%; }

    .selector-row[b-ke0wim6v74] {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 640px) {
    .attendance-page[b-ke0wim6v74] { padding: 1rem; }

    .header-content[b-ke0wim6v74] {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .entry-row[b-ke0wim6v74] {
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }

    .entries-list-section[b-ke0wim6v74],
    .toolbar-container[b-ke0wim6v74],
    .employee-selector[b-ke0wim6v74],
    .empty-state[b-ke0wim6v74] { padding: 1rem; }

    .dialog-close[b-ke0wim6v74] { min-height: 44px; min-width: 44px; }
}
/* _content/CraftX.Web/Components/Pages/HR/LeaveManagement.razor.rz.scp.css */
.leave-management[b-7dn968lha9] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

/* Stat icon color overrides — token-based */
.stat-total[b-7dn968lha9]  .cx-stat-icon { background: var(--cx-primary-soft); color: var(--cx-primary); }
.stat-pending[b-7dn968lha9]  .cx-stat-icon { background: var(--warning-50); color: var(--cx-warning); }
.stat-active[b-7dn968lha9]  .cx-stat-icon { background: var(--success-50); color: var(--cx-success); }
.stat-departments[b-7dn968lha9]  .cx-stat-icon { background: var(--info-50); color: var(--cx-info); }

/* Request List — aligned with mockup .card pattern */
.request-list[b-7dn968lha9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.request-card[b-7dn968lha9] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.25rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    border-left: 4px solid var(--cx-border);
    transition: box-shadow 0.15s var(--ease);
}

.request-card:hover[b-7dn968lha9] {
    box-shadow: var(--shadow-md);
}

.request-card.status-pending[b-7dn968lha9] { border-left-color: var(--cx-warning); }
.request-card.status-approved[b-7dn968lha9] { border-left-color: var(--cx-success); }
.request-card.status-rejected[b-7dn968lha9] { border-left-color: var(--cx-danger); }
.request-card.status-cancelled[b-7dn968lha9] { border-left-color: var(--cx-text-secondary); }

.request-header[b-7dn968lha9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.employee-info[b-7dn968lha9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.avatar[b-7dn968lha9] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cx-success), var(--cx-success));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--fw-semibold);
    font-size: 0.9rem;
}

.employee-details[b-7dn968lha9] {
    display: flex;
    flex-direction: column;
}

.employee-name[b-7dn968lha9] {
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
}

.leave-type[b-7dn968lha9] {
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
}

/* Status chip — aligned with mockup .chip pattern */
.status-badge[b-7dn968lha9] {
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    font-size: 11.5px;
    font-weight: var(--fw-semibold);
    letter-spacing: -0.005em;
    white-space: nowrap;
}

.badge-warning[b-7dn968lha9]   { background: var(--warning-50); color: var(--cx-warning); }
.badge-success[b-7dn968lha9]   { background: var(--success-50); color: var(--cx-success); }
.badge-danger[b-7dn968lha9]    { background: var(--danger-50);  color: var(--cx-danger); }
.badge-secondary[b-7dn968lha9] { background: transparent; color: var(--cx-text-secondary); }
.badge-info[b-7dn968lha9]      { background: var(--info-50);    color: var(--cx-info); }

.request-body[b-7dn968lha9] {
    margin-bottom: 1rem;
}

.date-range[b-7dn968lha9], .reason[b-7dn968lha9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.date-range i[b-7dn968lha9], .reason i[b-7dn968lha9] {
    color: var(--cx-text-muted);
}

.days-count[b-7dn968lha9] {
    color: var(--cx-text-secondary);
    font-size: 0.85rem;
}

.request-footer[b-7dn968lha9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid var(--cx-hairline-soft);
    gap: 0.75rem;
    flex-wrap: wrap;
}

.meta-info[b-7dn968lha9] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
}

.actions[b-7dn968lha9] {
    display: flex;
    gap: 0.5rem;
}

/* Absence List */
.absence-list[b-7dn968lha9] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.section-title[b-7dn968lha9] {
    margin: 0 0 1.25rem;
    font-size: 1.1rem;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
}

.absence-card[b-7dn968lha9] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: transparent;
    border-radius: var(--radius-md);
    margin-bottom: 0.75rem;
}

.absence-card.sick[b-7dn968lha9] {
    background: var(--danger-50);
}

.absence-info[b-7dn968lha9] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.absence-type[b-7dn968lha9] {
    font-size: 0.8rem;
    color: var(--cx-text-secondary);
}

.absence-dates[b-7dn968lha9] {
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
}

.days-until[b-7dn968lha9] {
    font-size: 0.85rem;
    color: var(--cx-success);
    font-weight: var(--fw-medium);
}

/* Sick Leave Section */
.sick-leave-section[b-7dn968lha9] {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1.5rem;
}

.quick-action-card[b-7dn968lha9] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.quick-action-card h4[b-7dn968lha9] {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: var(--fw-semibold);
}

.sick-form[b-7dn968lha9] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-row[b-7dn968lha9] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.form-row label[b-7dn968lha9] {
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
    font-weight: var(--fw-medium);
}

.sick-list[b-7dn968lha9] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.sick-list h4[b-7dn968lha9] {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: var(--fw-semibold);
}

.no-data[b-7dn968lha9] {
    color: var(--cx-text-muted);
    font-style: italic;
}

/* Empty State */
.empty-state[b-7dn968lha9] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 3rem;
    text-align: center;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.empty-state i[b-7dn968lha9] {
    font-size: 3rem;
    color: var(--cx-border);
    margin-bottom: 1rem;
}

.empty-state h3[b-7dn968lha9] {
    margin: 0 0 0.5rem;
    color: var(--cx-text-secondary);
}

.empty-state p[b-7dn968lha9] {
    color: var(--cx-text-muted);
    margin: 0;
}

/* Dialog */
.dialog-overlay[b-7dn968lha9] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(28, 25, 21, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.dialog-container[b-7dn968lha9] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-2xl);
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--shadow-xl);
}

.dialog-header[b-7dn968lha9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    border-bottom: 1px solid var(--cx-hairline-soft);
}

.dialog-header h3[b-7dn968lha9] {
    margin: 0;
    font-size: 1.25rem;
}

.close-btn[b-7dn968lha9] {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--cx-text-secondary);
    cursor: pointer;
    padding: 0.25rem;
}

.close-btn:hover[b-7dn968lha9] {
    color: var(--cx-text-primary);
}

.dialog-body[b-7dn968lha9] {
    padding: 1.5rem;
}

.form-group[b-7dn968lha9] {
    margin-bottom: 1rem;
}

.form-group label[b-7dn968lha9] {
    display: block;
    font-size: 0.875rem;
    font-weight: var(--fw-medium);
    color: var(--cx-text-primary);
    margin-bottom: 0.375rem;
}

.form-row-2col[b-7dn968lha9] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.dialog-footer[b-7dn968lha9] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--cx-hairline-soft);
    background: transparent;
    border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);
}

/* ─────────────────────────── Responsive ─────────────────────────── */

@media (max-width: 992px) {
    .sick-leave-section[b-7dn968lha9] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .request-card[b-7dn968lha9],
    .absence-list[b-7dn968lha9],
    .quick-action-card[b-7dn968lha9],
    .sick-list[b-7dn968lha9] {
        padding: 1rem;
    }

    .form-row-2col[b-7dn968lha9] {
        grid-template-columns: 1fr;
    }

    .request-header[b-7dn968lha9],
    .request-footer[b-7dn968lha9] {
        flex-direction: column;
        align-items: stretch;
    }

    /* Touch target on close button */
    .close-btn[b-7dn968lha9] {
        min-height: 44px;
        min-width: 44px;
    }
}
/* _content/CraftX.Web/Components/Pages/HR/TimeTracking.razor.rz.scp.css */
.time-tracking[b-hy1lw6cw2b] {
    padding: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Header — copper gradient (was indigo) */
.page-header[b-hy1lw6cw2b] {
    background: linear-gradient(135deg, var(--cx-primary) 0%, var(--cx-primary-hover) 100%);
    border-radius: var(--radius-2xl);
    padding: 2rem;
    margin-bottom: 1.5rem;
    color: white;
}

.header-content[b-hy1lw6cw2b] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-title h1[b-hy1lw6cw2b] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: var(--fw-semibold);
}

.header-subtitle[b-hy1lw6cw2b] {
    margin: 0.25rem 0 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

.header-actions[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

@keyframes pulse-b-hy1lw6cw2b {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Stats */
.stats-section[b-hy1lw6cw2b] {
    margin-bottom: 1.5rem;
}

.stats-grid[b-hy1lw6cw2b] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
}

.stat-card[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.25rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    transition: all 0.15s var(--ease);
}

.stat-card.clickable[b-hy1lw6cw2b] { cursor: pointer; }

.stat-card.clickable:hover[b-hy1lw6cw2b] {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.stat-icon[b-hy1lw6cw2b] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.stat-total .stat-icon[b-hy1lw6cw2b]              { background: var(--cx-primary-soft); color: var(--cx-primary); }
.stat-active .stat-icon[b-hy1lw6cw2b]             { background: var(--success-50); color: var(--cx-success); }
.stat-departments .stat-icon[b-hy1lw6cw2b]        { background: var(--info-50); color: var(--cx-info); }
.stat-pending .stat-icon[b-hy1lw6cw2b]            { background: var(--warning-50); color: var(--cx-warning); }
.stat-expected .stat-icon[b-hy1lw6cw2b]           { background: var(--info-50); color: var(--cx-info); }
.stat-actual .stat-icon[b-hy1lw6cw2b]             { background: var(--cx-primary-soft); color: var(--cx-primary); }
.stat-overtime-positive .stat-icon[b-hy1lw6cw2b]  { background: var(--success-50); color: var(--cx-success); }
.stat-overtime-positive .stat-value[b-hy1lw6cw2b] { color: var(--cx-success); }
.stat-overtime-negative .stat-icon[b-hy1lw6cw2b]  { background: var(--danger-50); color: var(--cx-danger); }
.stat-overtime-negative .stat-value[b-hy1lw6cw2b] { color: var(--cx-danger); }

.stat-content[b-hy1lw6cw2b] {
    display: flex;
    flex-direction: column;
}

.stat-value[b-hy1lw6cw2b] {
    font-size: 1.5rem;
    font-weight: var(--fw-bold);
    color: var(--cx-text-primary);
}

.stat-label[b-hy1lw6cw2b] {
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
}

/* Date Navigation */
.date-nav-section[b-hy1lw6cw2b] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    background: var(--cx-card-bg);
    padding: 1rem;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.date-nav[b-hy1lw6cw2b] { display: flex; align-items: center; gap: 0.5rem; }

.date-range-display[b-hy1lw6cw2b] { min-width: 150px; }

/* Timesheet Grid */
.timesheet-section[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    overflow-x: auto;
}

.timesheet-header[b-hy1lw6cw2b] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.day-header[b-hy1lw6cw2b] {
    text-align: center;
    padding: 0.75rem;
    background: var(--light-gray);
    border-radius: var(--radius-md);
}

.day-header.today[b-hy1lw6cw2b] { background: var(--cx-primary); color: white; }
.day-header.weekend[b-hy1lw6cw2b] { background: var(--cx-border); color: var(--cx-text-secondary); }

.day-name[b-hy1lw6cw2b] { display: block; font-weight: var(--fw-semibold); font-size: 0.9rem; }
.day-date[b-hy1lw6cw2b] { display: block; font-size: 0.8rem; opacity: 0.8; }

.timesheet-body[b-hy1lw6cw2b] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem;
    min-height: 200px;
}

.day-column[b-hy1lw6cw2b] {
    background: var(--light-gray);
    border-radius: var(--radius-md);
    padding: 0.75rem;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.day-column.today[b-hy1lw6cw2b] { background: var(--info-50); border: 2px solid var(--cx-primary); }
.day-column.weekend[b-hy1lw6cw2b] { background: var(--light-gray); }

.time-entry[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-sm);
    padding: 0.5rem;
    font-size: 0.8rem;
    border-left: 3px solid var(--cx-primary);
    box-shadow: var(--shadow-xs);
}

.time-entry.active[b-hy1lw6cw2b] { border-left-color: var(--cx-success); background: var(--success-50); }
.time-entry.approved[b-hy1lw6cw2b] { border-left-color: var(--cx-text-secondary); opacity: 0.8; }

.entry-time[b-hy1lw6cw2b] { font-weight: var(--fw-semibold); color: var(--cx-text-primary); }
.entry-hours[b-hy1lw6cw2b] { color: var(--cx-primary); font-weight: var(--fw-semibold); }

.entry-break[b-hy1lw6cw2b] {
    color: var(--cx-text-secondary);
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.entry-desc[b-hy1lw6cw2b] {
    color: var(--cx-text-muted);
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.entry-actions[b-hy1lw6cw2b] {
    display: flex;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

.action-btn[b-hy1lw6cw2b] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--cx-text-secondary);
    font-size: 0.8rem;
}

.action-btn:hover[b-hy1lw6cw2b] { color: var(--cx-primary); }
.action-btn.delete:hover[b-hy1lw6cw2b] { color: var(--cx-danger); }
.action-btn.approve[b-hy1lw6cw2b] { color: var(--cx-success); }
.action-btn.approve:hover[b-hy1lw6cw2b] { color: var(--cx-success); }

.no-entries[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cx-border);
    flex: 1;
}

.day-total[b-hy1lw6cw2b] {
    margin-top: auto;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--cx-border);
    font-size: 0.8rem;
    color: var(--cx-text-secondary);
    text-align: center;
}

.week-total[b-hy1lw6cw2b] {
    text-align: right;
    padding-top: 1rem;
    border-top: 1px solid var(--cx-hairline-soft);
    color: var(--cx-text-primary);
}

.week-total-row[b-hy1lw6cw2b] {
    display: flex;
    justify-content: flex-end;
    gap: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--cx-hairline-soft);
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
}

.week-total-row .overtime-positive[b-hy1lw6cw2b] { color: var(--cx-success); }
.week-total-row .overtime-negative[b-hy1lw6cw2b] { color: var(--cx-danger); }

/* Day indicators (holiday, leave) */
.day-indicator[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.5rem;
    border-radius: var(--radius-md);
    font-size: 0.75rem;
    font-weight: var(--fw-medium);
}

.day-indicator.holiday[b-hy1lw6cw2b] {
    background: var(--warning-50);
    color: var(--cx-warning);
    border: 1px solid var(--warning-50);
}

.day-indicator.holiday i[b-hy1lw6cw2b] { color: var(--cx-warning); }

.day-indicator.leave-day[b-hy1lw6cw2b] {
    background: var(--ai-50);
    color: var(--ai);
    border: 1px solid var(--ai-50);
}

.day-indicator.leave-day.sick[b-hy1lw6cw2b] {
    background: var(--danger-50);
    color: var(--cx-danger);
    border: 1px solid var(--danger-50);
}

.day-indicator.leave-day.sick i[b-hy1lw6cw2b] { color: var(--cx-danger); }

.half-day-badge[b-hy1lw6cw2b] {
    background: rgba(255,255,255,0.6);
    padding: 0 0.25rem;
    border-radius: var(--radius-xs);
    font-size: 0.7rem;
    font-weight: var(--fw-bold);
}

/* Entries List */
.entries-list-section[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.entries-list-section h3[b-hy1lw6cw2b] {
    margin: 0 0 1rem;
    font-size: 1.1rem;
    font-weight: var(--fw-semibold);
}

.entries-list[b-hy1lw6cw2b] { display: flex; flex-direction: column; gap: 0.5rem; }

.entry-row[b-hy1lw6cw2b] {
    display: grid;
    grid-template-columns: 160px 120px 80px auto;
    gap: 1rem;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--light-gray);
    border-radius: var(--radius-md);
}

.entry-row.approved[b-hy1lw6cw2b] { opacity: 0.7; }

.entry-date[b-hy1lw6cw2b] { font-weight: var(--fw-medium); color: var(--cx-text-primary); }
.entry-time-range[b-hy1lw6cw2b] { color: var(--cx-text-secondary); }
.entry-duration[b-hy1lw6cw2b] { font-weight: var(--fw-semibold); color: var(--cx-primary); }

/* Badges */
.badge[b-hy1lw6cw2b] {
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-pill);
    font-size: 0.75rem;
    font-weight: var(--fw-medium);
}

.badge-active[b-hy1lw6cw2b]   { background: var(--success-50); color: var(--cx-success); }
.badge-approved[b-hy1lw6cw2b] { background: var(--cx-border); color: var(--cx-text-primary); }
.badge-pending[b-hy1lw6cw2b]  { background: var(--warning-50); color: var(--cx-warning); }
.badge-break[b-hy1lw6cw2b]    { background: var(--light-gray); color: var(--cx-text-secondary); display: inline-flex; align-items: center; gap: 0.25rem; }
.badge-method[b-hy1lw6cw2b]   { background: var(--light-gray); color: var(--cx-text-secondary); }
.badge-job[b-hy1lw6cw2b]      { background: var(--info-50);    color: var(--cx-info); display: inline-flex; align-items: center; gap: 0.25rem; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Dialog */
.dialog-overlay[b-hy1lw6cw2b] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(28, 25, 21, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.dialog-container[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-2xl);
    width: 90%;
    max-width: 450px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--shadow-xl);
}

.dialog-header[b-hy1lw6cw2b] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    border-bottom: 1px solid var(--cx-hairline-soft);
}

.dialog-header h3[b-hy1lw6cw2b] { margin: 0; font-size: 1.25rem; }

.close-btn[b-hy1lw6cw2b] {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--cx-text-secondary);
    cursor: pointer;
}

.close-btn:hover[b-hy1lw6cw2b] { color: var(--cx-text-primary); }

.dialog-body[b-hy1lw6cw2b] { padding: 1.5rem; }

.clock-summary[b-hy1lw6cw2b] {
    background: var(--light-gray);
    border-radius: var(--radius-md);
    padding: 1rem;
    margin-bottom: 1rem;
}

.summary-row[b-hy1lw6cw2b] {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
}

.form-group[b-hy1lw6cw2b] { margin-bottom: 1rem; }

.form-group label[b-hy1lw6cw2b] {
    display: block;
    font-size: 0.875rem;
    font-weight: var(--fw-medium);
    color: var(--cx-text-primary);
    margin-bottom: 0.375rem;
}

.form-hint[b-hy1lw6cw2b] {
    color: var(--cx-text-muted);
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.form-row-2col[b-hy1lw6cw2b] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.dialog-footer[b-hy1lw6cw2b] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--cx-hairline-soft);
    background: var(--light-gray);
    border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);
}

/* Responsive */
@media (max-width: 1024px) {
    .timesheet-section[b-hy1lw6cw2b] { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .timesheet-header[b-hy1lw6cw2b], .timesheet-body[b-hy1lw6cw2b] { min-width: 700px; }
}

@media (max-width: 992px) {
    .stats-grid[b-hy1lw6cw2b] { grid-template-columns: repeat(2, 1fr); }
    .date-nav-section[b-hy1lw6cw2b] { flex-direction: column; gap: 1rem; align-items: stretch; }
}

@media (max-width: 640px) {
    .time-tracking[b-hy1lw6cw2b] { padding: 1rem; }
    .header-content[b-hy1lw6cw2b] { flex-direction: column; gap: 1rem; text-align: center; }
    .header-actions[b-hy1lw6cw2b] { flex-direction: column; }
    .entry-row[b-hy1lw6cw2b] { grid-template-columns: 1fr 1fr; gap: 0.5rem; }
    .form-row-2col[b-hy1lw6cw2b] { grid-template-columns: 1fr; }

    .timesheet-section[b-hy1lw6cw2b],
    .entries-list-section[b-hy1lw6cw2b],
    .date-nav-section[b-hy1lw6cw2b] { padding: 1rem; }
}

/* ===========================================
   HR-SPECIFIC STYLES (HR view shares this CSS)
   =========================================== */

.content-section[b-hy1lw6cw2b] { margin-top: 1rem; }

.entry-status[b-hy1lw6cw2b] { display: flex; justify-content: flex-end; }

.tabs-section[b-hy1lw6cw2b] { margin-bottom: 1rem; }

.toolbar-container[b-hy1lw6cw2b] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--cx-card-bg);
    padding: 1rem;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    margin-bottom: 1rem;
}

.toolbar-left[b-hy1lw6cw2b] { display: flex; align-items: center; gap: 1rem; }
.toolbar-right[b-hy1lw6cw2b] { display: flex; align-items: center; gap: 0.5rem; }

.select-all-checkbox[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--cx-text-secondary);
}

.select-all-checkbox input[type="checkbox"][b-hy1lw6cw2b] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.approval-list[b-hy1lw6cw2b] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.approval-card[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    border-left: 4px solid var(--cx-warning);
    transition: all 0.15s var(--ease);
}

.approval-card:hover[b-hy1lw6cw2b] { box-shadow: var(--shadow-md); }

.approval-checkbox[b-hy1lw6cw2b] { display: flex; align-items: center; }
.approval-checkbox input[type="checkbox"][b-hy1lw6cw2b] { width: 18px; height: 18px; cursor: pointer; }

.employee-info[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 200px;
}

.avatar[b-hy1lw6cw2b] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cx-primary), var(--cx-primary-hover));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--fw-semibold);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.avatar.active[b-hy1lw6cw2b] {
    background: linear-gradient(135deg, var(--cx-success), var(--cx-success));
    animation: pulse-b-hy1lw6cw2b 2s infinite;
}

.employee-details[b-hy1lw6cw2b] { display: flex; flex-direction: column; }
.employee-name[b-hy1lw6cw2b] { font-weight: var(--fw-semibold); color: var(--cx-text-primary); }

.approval-card .entry-date[b-hy1lw6cw2b] { font-size: 0.85rem; color: var(--cx-text-secondary); }

.approval-card .entry-details[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex: 1;
}

.approval-card .entry-time-range[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
}

.approval-card .entry-time-range i[b-hy1lw6cw2b] { color: var(--cx-text-muted); }

.approval-card .entry-hours[b-hy1lw6cw2b] {
    color: var(--cx-primary);
    font-weight: var(--fw-semibold);
}

.approval-card .entry-description[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
    font-size: 0.85rem;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.approval-card .entry-description i[b-hy1lw6cw2b] { color: var(--cx-text-muted); }

.today-summary[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--info-50);
    padding: 1rem;
    border-radius: var(--radius-md);
    margin-bottom: 1rem;
    color: var(--cx-info);
    font-weight: var(--fw-medium);
}

.today-summary i[b-hy1lw6cw2b] { font-size: 1.1rem; }

.today-entries-list[b-hy1lw6cw2b] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.employee-today-card[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.entry-time-badges[b-hy1lw6cw2b] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    flex: 1;
}

.entry-time-badge[b-hy1lw6cw2b] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    background: var(--light-gray);
    border-radius: var(--radius-md);
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
}

.entry-time-badge.active[b-hy1lw6cw2b] {
    background: var(--success-50);
    color: var(--cx-success);
    animation: pulse-b-hy1lw6cw2b 2s infinite;
}

.entry-time-badge .hours[b-hy1lw6cw2b] {
    color: var(--cx-text-secondary);
    font-size: 0.8rem;
}

.daily-total[b-hy1lw6cw2b] {
    min-width: 60px;
    text-align: right;
    color: var(--cx-primary);
    font-weight: var(--fw-semibold);
}

.employee-selector[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    padding: 1.25rem;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
    margin-bottom: 1.5rem;
}

.selector-row[b-hy1lw6cw2b] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

.selector-field[b-hy1lw6cw2b] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.selector-field label[b-hy1lw6cw2b] {
    font-size: 0.85rem;
    font-weight: var(--fw-medium);
    color: var(--cx-text-secondary);
}

.employee-dropdown[b-hy1lw6cw2b] { min-width: 250px; }
.month-dropdown[b-hy1lw6cw2b] { min-width: 180px; }

.selector-actions[b-hy1lw6cw2b] {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.status-badge[b-hy1lw6cw2b] {
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-pill);
    font-size: 0.75rem;
    font-weight: var(--fw-medium);
}

.empty-state[b-hy1lw6cw2b] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 3rem;
    text-align: center;
    box-shadow: var(--shadow-xs);
    border: 1px solid var(--cx-card-border);
}

.empty-state i[b-hy1lw6cw2b] {
    font-size: 3rem;
    color: var(--cx-border);
    margin-bottom: 1rem;
}

.empty-state h3[b-hy1lw6cw2b] {
    margin: 0 0 0.5rem;
    color: var(--cx-text-secondary);
}

.empty-state p[b-hy1lw6cw2b] {
    color: var(--cx-text-muted);
    margin: 0;
}

/* Rejection / Correction Styles */
.badge-rejected[b-hy1lw6cw2b]  { background: var(--danger-50); color: var(--cx-danger); }
.badge-corrected[b-hy1lw6cw2b] { background: var(--info-50);   color: var(--cx-info); }

.time-entry.needs-correction[b-hy1lw6cw2b] { border-left-color: var(--cx-danger); background: var(--danger-50); }
.time-entry.corrected[b-hy1lw6cw2b]        { border-left-color: var(--cx-primary); background: var(--info-50); }
.entry-row.needs-correction[b-hy1lw6cw2b]  { background: var(--danger-50); border-left: 3px solid var(--cx-danger); }

.rejection-reason[b-hy1lw6cw2b] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--danger-50);
    border: 1px solid var(--danger-50);
    border-radius: var(--radius-md);
    font-size: 0.8rem;
    color: var(--cx-danger);
    margin-top: 0.25rem;
}

.rejection-reason i[b-hy1lw6cw2b] { color: var(--cx-danger); flex-shrink: 0; margin-top: 0.1rem; }

.reject-info[b-hy1lw6cw2b] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--warning-50);
    border: 1px solid var(--warning-50);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    color: var(--cx-warning);
    margin-bottom: 1rem;
}

.reject-info i[b-hy1lw6cw2b] { color: var(--cx-warning); flex-shrink: 0; margin-top: 0.1rem; }

.delete-warning[b-hy1lw6cw2b] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--danger-50);
    border: 1px solid var(--danger-50);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    color: var(--cx-danger);
}

.delete-warning i[b-hy1lw6cw2b] { color: var(--cx-danger); flex-shrink: 0; margin-top: 0.1rem; }

.stat-rejected .stat-icon[b-hy1lw6cw2b] {
    background: var(--danger-50);
    color: var(--cx-danger);
}

.approval-card .entry-actions[b-hy1lw6cw2b] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
    flex-wrap: wrap;
}

/* HR Responsive */
@media (max-width: 1024px) {
    .approval-card[b-hy1lw6cw2b] { flex-wrap: wrap; }

    .approval-card .entry-details[b-hy1lw6cw2b] {
        width: 100%;
        margin-top: 0.5rem;
    }

    .approval-card .entry-actions[b-hy1lw6cw2b] {
        width: 100%;
        justify-content: flex-end;
        margin-top: 0.5rem;
    }
}

@media (max-width: 992px) {
    .cx-tab-buttons[b-hy1lw6cw2b] { flex-wrap: wrap; }

    .toolbar-container[b-hy1lw6cw2b] {
        flex-direction: column;
        gap: 1rem;
        align-items: stretch;
    }

    .toolbar-left[b-hy1lw6cw2b], .toolbar-right[b-hy1lw6cw2b] { width: 100%; }

    .selector-row[b-hy1lw6cw2b] {
        flex-direction: column;
        align-items: stretch;
    }

    .selector-actions[b-hy1lw6cw2b] { margin-left: 0; margin-top: 0.5rem; }
}

@media (max-width: 640px) {
    .approval-card[b-hy1lw6cw2b],
    .employee-today-card[b-hy1lw6cw2b],
    .employee-selector[b-hy1lw6cw2b],
    .empty-state[b-hy1lw6cw2b] { padding: 1rem; }

    .employee-today-card[b-hy1lw6cw2b] {
        flex-direction: column;
        align-items: flex-start;
    }

    .daily-total[b-hy1lw6cw2b] {
        width: 100%;
        text-align: left;
        margin-top: 0.5rem;
    }
}
/* _content/CraftX.Web/Components/Pages/Inbox/Posteingang.razor.rz.scp.css */
.posteingang[b-il58624iu0] {
    display: grid;
    grid-template-columns: minmax(300px, 360px) 1fr;
    height: calc(100vh - var(--cx-appbar-height, 64px));
    min-height: 0;
    background: var(--cx-bg, #f4f6f8);
}

/* ============ LEFT: thread list ============ */
.inbox-list[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-right: 1px solid var(--cx-card-border);
    background: var(--cx-card-bg, #fff);
}

.inbox-list-header[b-il58624iu0] {
    padding: 16px 16px 10px;
    border-bottom: 1px solid var(--cx-card-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.inbox-list-title[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.inbox-list-title h1[b-il58624iu0] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cx-text-primary);
}

.inbox-conn-dot[b-il58624iu0] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #f59e0b;
}

.inbox-import-btn[b-il58624iu0] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 11px;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    background: var(--cx-card-bg, #fff);
    color: #16a34a;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.12s;
}

.inbox-import-btn:hover[b-il58624iu0] {
    border-color: #bbf7d0;
    background: rgba(22, 163, 74, 0.06);
}

.inbox-search[b-il58624iu0] {
    position: relative;
    display: flex;
    align-items: center;
}

.inbox-search > i[b-il58624iu0] {
    position: absolute;
    left: 11px;
    color: var(--cx-text-muted);
    font-size: 0.9rem;
    pointer-events: none;
}

.inbox-search[b-il58624iu0]  input {
    width: 100%;
    height: 38px;
    padding: 0 12px 0 32px;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    background: var(--cx-bg, #f8fafc);
    color: var(--cx-text-primary);
    font-size: 0.9rem;
    outline: none;
}

.inbox-search[b-il58624iu0]  input:focus {
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.1);
    background: #fff;
}

.inbox-filter-chips[b-il58624iu0] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.inbox-chip[b-il58624iu0] {
    padding: 5px 12px;
    border: 1px solid var(--cx-card-border);
    border-radius: 999px;
    background: var(--cx-card-bg, #fff);
    color: var(--cx-text-secondary);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.12s;
}

.inbox-chip:hover[b-il58624iu0] {
    border-color: #bbf7d0;
    color: var(--cx-text-primary);
}

.inbox-chip.is-active[b-il58624iu0] {
    background: #16a34a;
    border-color: #16a34a;
    color: #fff;
}

.inbox-list-body[b-il58624iu0] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}

.inbox-list-state[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px 24px;
    text-align: center;
    color: var(--cx-text-secondary);
}

.inbox-list-state > i[b-il58624iu0] {
    font-size: 2.4rem;
    color: #16a34a;
    opacity: 0.4;
}

.inbox-list-state p[b-il58624iu0] {
    margin: 0;
    font-weight: 600;
    color: var(--cx-text-primary);
}

.inbox-list-state-sub[b-il58624iu0] {
    font-size: 0.82rem;
    color: var(--cx-text-muted);
}

.inbox-retry-btn[b-il58624iu0] {
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 14px;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    background: var(--cx-card-bg, #fff);
    color: #16a34a;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.inbox-retry-btn:hover[b-il58624iu0] {
    background: rgba(22, 163, 74, 0.06);
    border-color: #bbf7d0;
}

.inbox-load-more[b-il58624iu0] {
    width: calc(100% - 24px);
    margin: 10px 12px 14px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    background: var(--cx-card-bg, #fff);
    color: var(--cx-text-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.12s;
}

.inbox-load-more:hover:not(:disabled)[b-il58624iu0] {
    border-color: #bbf7d0;
    color: #16a34a;
    background: rgba(22, 163, 74, 0.05);
}

.inbox-load-more:disabled[b-il58624iu0] {
    opacity: 0.6;
    cursor: default;
}

/* ---- thread card ---- */
.inbox-card[b-il58624iu0] {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid var(--cx-card-border);
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 0.1s;
}

.inbox-card:hover[b-il58624iu0] {
    background: rgba(22, 163, 74, 0.04);
}

.inbox-card.is-selected[b-il58624iu0] {
    background: rgba(22, 163, 74, 0.09);
    box-shadow: inset 3px 0 0 #16a34a;
}

.inbox-card-avatar[b-il58624iu0] {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.inbox-card-main[b-il58624iu0] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.inbox-card-top[b-il58624iu0] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.inbox-card-name[b-il58624iu0] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--cx-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-card.is-unread .inbox-card-name[b-il58624iu0] {
    font-weight: 700;
}

.inbox-card-channel[b-il58624iu0] {
    font-size: 0.78rem;
    color: var(--cx-text-secondary, #8a8279);
    margin-right: 4px;
    vertical-align: baseline;
}

.inbox-card-time[b-il58624iu0] {
    flex: 0 0 auto;
    font-size: 0.7rem;
    color: var(--cx-text-muted);
    white-space: nowrap;
}

.inbox-card-preview[b-il58624iu0] {
    font-size: 0.82rem;
    color: var(--cx-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-card.is-unread .inbox-card-preview[b-il58624iu0] {
    color: var(--cx-text-primary);
}

.inbox-card-chips[b-il58624iu0] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}

.inbox-tag[b-il58624iu0] {
    font-size: 0.68rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 5px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--cx-text-secondary);
    white-space: nowrap;
}

.inbox-tag.is-attention[b-il58624iu0] {
    background: #fffbeb;
    color: #b45309;
}

.inbox-tag.is-done[b-il58624iu0] {
    background: #f0fdf4;
    color: #15803d;
}

.inbox-tag.is-snoozed[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #eef2ff;
    color: #4338ca;
}

.inbox-card-side[b-il58624iu0] {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.inbox-unread-badge[b-il58624iu0] {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #16a34a;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.inbox-assignee[b-il58624iu0] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.62rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
}

/* ============ RIGHT: detail ============ */
.inbox-detail[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: var(--cx-card-bg, #fff);
}

.inbox-detail-empty[b-il58624iu0] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--cx-text-secondary);
}

.inbox-detail-empty > i[b-il58624iu0] {
    font-size: 3rem;
    color: #16a34a;
    opacity: 0.35;
}

.inbox-detail-empty p[b-il58624iu0] {
    margin: 0;
    font-weight: 600;
    color: var(--cx-text-primary);
}

.inbox-detail-empty span[b-il58624iu0] {
    font-size: 0.84rem;
    color: var(--cx-text-muted);
}

.inbox-detail-header[b-il58624iu0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--cx-card-border);
    background: var(--cx-card-bg, #fff);
}

.inbox-detail-identity[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.inbox-detail-name[b-il58624iu0] {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--cx-text-primary);
}

.inbox-detail-sub[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 2px;
    font-size: 0.78rem;
}

.inbox-detail-channel[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px;
    border-radius: 999px;
    background: var(--cx-surface-muted, #f1ede7);
    color: var(--cx-text-secondary, #6f675e);
    font-weight: 600;
}

.inbox-status-pill[b-il58624iu0] {
    padding: 2px 9px;
    border-radius: 999px;
    font-weight: 600;
}

.inbox-status-pill.is-open[b-il58624iu0] {
    background: #eff6ff;
    color: #1d4ed8;
}

.inbox-status-pill.is-waiting[b-il58624iu0] {
    background: #fff7ed;
    color: #c2410c;
}

.inbox-status-pill.is-done[b-il58624iu0] {
    background: #f0fdf4;
    color: #15803d;
}

.inbox-detail-assignee[b-il58624iu0] {
    color: var(--cx-text-secondary);
}

.inbox-detail-assignee.is-unassigned[b-il58624iu0] {
    color: var(--cx-text-muted);
}

.inbox-detail-linked[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #047857;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s ease;
}

.inbox-detail-linked:hover[b-il58624iu0] {
    color: #065f46;
    text-decoration: underline;
}

.inbox-detail-linked-go[b-il58624iu0] {
    font-size: 0.7rem;
    opacity: 0.7;
}

.inbox-detail-snooze[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #4338ca;
}

/* AI summary / attention strip below the header */
.inbox-detail-summary[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 20px;
    border-bottom: 1px solid var(--cx-card-border);
    background: #faf5ff;
}

.inbox-detail-summary-row[b-il58624iu0] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.84rem;
    line-height: 1.4;
    color: var(--cx-text-secondary);
}

.inbox-detail-summary-row > i[b-il58624iu0] {
    margin-top: 2px;
    flex: 0 0 auto;
    color: #8b5cf6;
}

.inbox-detail-summary-row.is-attention[b-il58624iu0] {
    color: #b45309;
    font-weight: 500;
}

.inbox-detail-summary-row.is-attention > i[b-il58624iu0] {
    color: #d97706;
}

.inbox-detail-actions[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.inbox-takeover-btn[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #16a34a;
    border-radius: 8px;
    background: #16a34a;
    color: #fff;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
}

.inbox-takeover-btn:hover:not(:disabled)[b-il58624iu0] {
    background: #15803d;
}

.inbox-takeover-btn:disabled[b-il58624iu0] {
    opacity: 0.6;
    cursor: not-allowed;
}

.inbox-menu[b-il58624iu0] {
    position: relative;
}

.inbox-menu-trigger[b-il58624iu0] {
    width: 36px;
    height: 36px;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    background: var(--cx-card-bg, #fff);
    color: var(--cx-text-secondary);
    cursor: pointer;
}

.inbox-menu-trigger:hover[b-il58624iu0] {
    background: rgba(15, 23, 42, 0.04);
}

.inbox-menu-popover[b-il58624iu0] {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 30;
    min-width: 230px;
    padding: 6px;
    border: 1px solid var(--cx-card-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
}

.inbox-menu-popover button[b-il58624iu0] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--cx-text-primary);
    font-size: 0.86rem;
    text-align: left;
    cursor: pointer;
}

.inbox-menu-popover button:hover:not(:disabled)[b-il58624iu0] {
    background: rgba(22, 163, 74, 0.08);
}

.inbox-menu-popover button:disabled[b-il58624iu0] {
    opacity: 0.5;
    cursor: not-allowed;
}

.inbox-menu-popover button.is-danger[b-il58624iu0] {
    color: #b91c1c;
}

.inbox-menu-popover button.is-danger:hover:not(:disabled)[b-il58624iu0] {
    background: #fef2f2;
}

.inbox-menu-cat.is-current[b-il58624iu0] {
    color: #16a34a;
    font-weight: 600;
}

.inbox-menu-section[b-il58624iu0] {
    padding: 8px 10px 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--cx-text-muted);
}

.inbox-menu-divider[b-il58624iu0] {
    height: 1px;
    margin: 5px 6px;
    background: var(--cx-card-border);
}

.inbox-detail-body[b-il58624iu0] {
    flex: 1;
    min-height: 0;
    display: flex;
}

.inbox-detail-body > *[b-il58624iu0] {
    flex: 1;
    min-height: 0;
}

/* ============ Inline Bob panel ============ */
.bob-cta[b-il58624iu0] {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 8px;
}

.bob-ask-btn[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 34px;
    padding: 0 14px;
    border: 1px solid #c4b5fd;
    border-radius: 8px;
    background: #f5f3ff;
    color: #6d28d9;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.12s;
}

.bob-ask-btn:hover[b-il58624iu0] {
    background: #ede9fe;
}

.bob-panel[b-il58624iu0] {
    margin-bottom: 10px;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    background: linear-gradient(180deg, #faf5ff, #fff);
    padding: 12px;
}

.bob-panel-head[b-il58624iu0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 9px;
}

.bob-panel-title[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #6d28d9;
}

.bob-panel-close[b-il58624iu0] {
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--cx-text-muted);
    cursor: pointer;
}

.bob-panel-close:hover[b-il58624iu0] {
    background: rgba(109, 40, 217, 0.08);
}

.bob-thinking[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bob-thinking-text[b-il58624iu0] {
    font-size: 0.86rem;
    color: #6d28d9;
    font-weight: 500;
}

.bob-pulse[b-il58624iu0] {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 7px;
    border-radius: 50%;
    background: #8b5cf6;
    animation: bob-pulse-b-il58624iu0 1s ease-in-out infinite;
    vertical-align: middle;
}

@keyframes bob-pulse-b-il58624iu0 {
    0%, 100% { opacity: 0.35; transform: scale(0.85); }
    50% { opacity: 1; transform: scale(1.1); }
}

.bob-streaming[b-il58624iu0] {
    font-size: 0.88rem;
    line-height: 1.4;
    color: var(--cx-text-primary);
    white-space: pre-wrap;
}

.bob-pills[b-il58624iu0] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bob-pill[b-il58624iu0] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 600;
    background: #ede9fe;
    color: #6d28d9;
}

.bob-pill.success[b-il58624iu0] {
    background: #dcfce7;
    color: #15803d;
}

.bob-pill.error[b-il58624iu0] {
    background: #fee2e2;
    color: #b91c1c;
}

.bob-pill-spinner[b-il58624iu0] {
    width: 10px;
    height: 10px;
    border: 2px solid rgba(109, 40, 217, 0.3);
    border-top-color: #6d28d9;
    border-radius: 50%;
    animation: bob-spin-b-il58624iu0 0.7s linear infinite;
}

@keyframes bob-spin-b-il58624iu0 {
    to { transform: rotate(360deg); }
}

.bob-drafts[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.bob-draft[b-il58624iu0] {
    width: 100%;
    text-align: left;
    padding: 10px 12px;
    border: 1px solid #ddd6fe;
    border-radius: 9px;
    background: #fff;
    color: var(--cx-text-primary);
    font-size: 0.88rem;
    line-height: 1.38;
    cursor: pointer;
    transition: all 0.1s;
}

.bob-draft:hover[b-il58624iu0] {
    border-color: #a78bfa;
    background: #faf5ff;
}

.bob-refine[b-il58624iu0] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 9px;
}

.bob-refine-label[b-il58624iu0] {
    font-size: 0.76rem;
    color: var(--cx-text-muted);
}

.bob-refine button[b-il58624iu0] {
    padding: 4px 10px;
    border: 1px solid var(--cx-card-border);
    border-radius: 999px;
    background: #fff;
    color: var(--cx-text-secondary);
    font-size: 0.76rem;
    font-weight: 600;
    cursor: pointer;
}

.bob-refine button:hover:not(:disabled)[b-il58624iu0] {
    border-color: #a78bfa;
    color: #6d28d9;
}

.bob-refine button:disabled[b-il58624iu0] {
    opacity: 0.5;
    cursor: not-allowed;
}

.bob-error[b-il58624iu0] {
    font-size: 0.84rem;
    color: #b91c1c;
}

/* ============ Link dialog ============ */
.inbox-link-overlay[b-il58624iu0] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.4);
}

.inbox-link-card[b-il58624iu0] {
    width: min(440px, 92vw);
    padding: 22px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
}

.inbox-link-card h3[b-il58624iu0] {
    margin: 0 0 8px;
    font-size: 1.05rem;
    color: var(--cx-text-primary);
}

.inbox-link-card p[b-il58624iu0] {
    margin: 0 0 16px;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--cx-text-secondary);
}

.inbox-link-head[b-il58624iu0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.inbox-link-head h3[b-il58624iu0] {
    margin: 0;
}

.inbox-link-close[b-il58624iu0] {
    border: none;
    background: transparent;
    color: var(--cx-text-muted);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
}

.inbox-link-close:hover[b-il58624iu0] {
    background: var(--cx-bg, #f1f5f9);
    color: var(--cx-text-primary);
}

.inbox-link-current[b-il58624iu0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--cx-card-border);
    border-radius: 10px;
    background: var(--cx-bg, #f8fafc);
    margin-bottom: 14px;
}

.inbox-link-current-main[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.inbox-link-current-main > i[b-il58624iu0] {
    font-size: 1.2rem;
    color: #047857;
}

.inbox-link-current-name[b-il58624iu0] {
    font-weight: 600;
    color: var(--cx-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-link-current-sub[b-il58624iu0] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
}

.inbox-link-remove[b-il58624iu0] {
    flex: 0 0 auto;
    border: 1px solid var(--cx-card-border);
    background: #fff;
    color: #b91c1c;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 0.82rem;
    cursor: pointer;
    white-space: nowrap;
}

.inbox-link-remove:hover:not(:disabled)[b-il58624iu0] {
    background: #fef2f2;
    border-color: #fecaca;
}

.inbox-link-remove:disabled[b-il58624iu0] {
    opacity: 0.5;
    cursor: default;
}

.inbox-link-section[b-il58624iu0] {
    margin-bottom: 14px;
}

.inbox-link-label[b-il58624iu0] {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--cx-text-secondary);
    margin-bottom: 6px;
}

.inbox-link-select[b-il58624iu0],
.inbox-link-search[b-il58624iu0] {
    width: 100%;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 0.9rem;
    color: var(--cx-text-primary);
    background: #fff;
}

.inbox-link-select:focus[b-il58624iu0],
.inbox-link-search:focus[b-il58624iu0] {
    outline: none;
    border-color: var(--cx-accent, #2563eb);
}

.inbox-link-results[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
    max-height: 230px;
    overflow-y: auto;
}

.inbox-link-result[b-il58624iu0] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    text-align: left;
    border: 1px solid var(--cx-card-border);
    background: #fff;
    border-radius: 8px;
    padding: 8px 10px;
    cursor: pointer;
}

.inbox-link-result:hover:not(:disabled)[b-il58624iu0] {
    border-color: var(--cx-accent, #2563eb);
    background: var(--cx-bg, #f8fafc);
}

.inbox-link-result:disabled[b-il58624iu0] {
    opacity: 0.5;
    cursor: default;
}

.inbox-link-result-name[b-il58624iu0] {
    font-weight: 600;
    color: var(--cx-text-primary);
}

.inbox-link-result small[b-il58624iu0] {
    color: var(--cx-text-muted);
    font-size: 0.78rem;
}

.inbox-link-hint[b-il58624iu0] {
    font-size: 0.82rem;
    color: var(--cx-text-muted);
}

.inbox-link-error[b-il58624iu0] {
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 0.82rem;
}

@media (max-width: 860px) {
    .posteingang[b-il58624iu0] {
        grid-template-columns: 1fr;
    }

    .inbox-detail[b-il58624iu0] {
        display: none;
    }
}

/* ============ Connection gate (WhatsApp offline) ============ */
.posteingang-gate[b-il58624iu0] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    height: calc(100vh - var(--cx-appbar-height, 64px));
    min-height: 0;
    padding: 40px 20px;
    background: var(--cx-bg, #f4f6f8);
    overflow-y: auto;
}

.inbox-gate-loading[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 80px;
    color: var(--cx-text-secondary);
    font-size: 0.95rem;
}

.inbox-gate-card[b-il58624iu0] {
    width: min(100%, 560px);
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--cx-card-border);
    border-radius: 12px;
    background: var(--cx-card-bg, #fff);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.inbox-gate-intro[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.inbox-gate-icon[b-il58624iu0] {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #dcfce7;
    color: #16a34a;
    font-size: 1.5rem;
}

.inbox-gate-intro h1[b-il58624iu0] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--cx-text-primary);
}

.inbox-gate-intro p[b-il58624iu0] {
    margin: 4px 0 0;
    font-size: 0.88rem;
    line-height: 1.4;
    color: var(--cx-text-secondary);
}

.inbox-gate-connector[b-il58624iu0] {
    min-height: 420px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--cx-card-border);
    border-radius: 10px;
    overflow: hidden;
}

/* Non-blocking progress banner shown while a chat's history is re-pulled from WhatsApp. */
.inbox-reload-banner[b-il58624iu0] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 16px 0;
    padding: 9px 12px;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    background: rgba(22, 163, 74, 0.06);
    color: var(--cx-text-secondary);
    font-size: 13px;
    line-height: 1.35;
}

.inbox-reload-spinner[b-il58624iu0] {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(22, 163, 74, 0.3);
    border-top-color: #16a34a;
    border-radius: 50%;
    animation: bob-spin-b-il58624iu0 0.7s linear infinite;
}
/* _content/CraftX.Web/Components/Pages/InvoiceProcessing/IncomingInvoicePage.razor.rz.scp.css */
/* ========== Layout ========== */
.invoice-review-page[b-dx5kbyfv41] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

/* InfoHelp icon next to page title — Bootstrap's .btn-link defaults to its
   theme link colour (blue). Force a muted token so the help icon reads as a
   non-interactive descriptor rather than a primary action. */
[b-dx5kbyfv41] .info-help-button,
[b-dx5kbyfv41] .info-help-button:focus,
[b-dx5kbyfv41] .info-help-button:active {
    color: var(--cx-text-muted);
}

[b-dx5kbyfv41] .info-help-button:hover {
    color: var(--cx-primary);
}

/* Content area: fill remaining space */
[b-dx5kbyfv41] .cx-content-section {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-dx5kbyfv41] .tab-panel {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* ========== Stat Card Action Buttons ========== */
[b-dx5kbyfv41] .stat-action {
    background: none;
    border: none;
    color: var(--cx-text-muted);
    font-size: 1rem;
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

[b-dx5kbyfv41] .stat-action:hover {
    color: var(--cx-primary);
    background: var(--copper-50);
}

[b-dx5kbyfv41] .stat-action:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ========== Stat Card Color Variants ========== */
[b-dx5kbyfv41] .cx-stat-card.warning .cx-stat-icon { color: var(--cx-warning); }
[b-dx5kbyfv41] .cx-stat-card.success .cx-stat-icon { color: var(--cx-success); }
[b-dx5kbyfv41] .cx-stat-card.info .cx-stat-icon { color: var(--cx-info); }
[b-dx5kbyfv41] .cx-stat-card.danger .cx-stat-icon { color: var(--cx-danger); }
[b-dx5kbyfv41] .cx-stat-card.primary .cx-stat-icon { color: var(--cx-primary); }

/* ========== Toolbar: Pay Button ========== */
[b-dx5kbyfv41] .cx-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 1rem;
    background: var(--cx-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

[b-dx5kbyfv41] .cx-primary-btn:hover {
    background: var(--cx-primary-hover);
}

/* ========== Toolbar: Export Dropdown ========== */
[b-dx5kbyfv41] .cx-export-dropdown {
    position: relative;
    display: inline-block;
}

[b-dx5kbyfv41] .cx-chevron {
    font-size: 0.65rem;
    transition: transform 0.2s;
    margin-left: 0.15rem;
}

[b-dx5kbyfv41] .cx-chevron.open {
    transform: rotate(180deg);
}

[b-dx5kbyfv41] .cx-export-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    background: transparent;
}

[b-dx5kbyfv41] .cx-export-panel {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.35rem;
    min-width: 200px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    z-index: 1000;
    overflow: hidden;
    padding: 0.35rem 0;
}

[b-dx5kbyfv41] .cx-export-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    padding: 0.5rem 1rem;
    border: none;
    background: none;
    font-size: 0.85rem;
    color: var(--cx-text-primary);
    cursor: pointer;
    transition: background 0.15s;
    text-align: left;
}

[b-dx5kbyfv41] .cx-export-item:hover {
    background: var(--copper-50);
}

[b-dx5kbyfv41] .cx-export-item i {
    font-size: 1rem;
    color: var(--cx-text-muted);
    width: 1.2rem;
    text-align: center;
}

[b-dx5kbyfv41] .cx-export-divider {
    height: 1px;
    background: var(--cx-border);
    margin: 0.25rem 0.75rem;
}

/* ========== Grid ========== */
[b-dx5kbyfv41] .e-grid {
    border: 0;
}

[b-dx5kbyfv41] .e-gridheader {
    border-bottom: 1px solid var(--cx-hairline);
}

[b-dx5kbyfv41] .e-headercell {
    background: var(--light-gray);
    color: var(--cx-text-secondary);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.55rem 0.65rem;
}

[b-dx5kbyfv41] .e-rowcell {
    padding: 0.35rem 0.65rem;
    vertical-align: middle;
}

/* ========== Header Email Info ========== */
[b-dx5kbyfv41] .header-email-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    background: var(--light-gray);
    border: 1px solid var(--cx-border);
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    white-space: nowrap;
}

[b-dx5kbyfv41] .header-email-info code {
    font-size: 0.8rem;
    padding: 0.1rem 0.35rem;
}

[b-dx5kbyfv41] .header-email-info .btn-copy-email {
    padding: 0.1rem 0.35rem;
    font-size: 0.75rem;
    line-height: 1;
}

/* ========== Upload ========== */
[b-dx5kbyfv41] .header-upload-area {
    position: relative;
    display: inline-block;
    margin-right: 0.5rem;
    transition: all 0.3s ease;
    border-radius: 4px;
}

[b-dx5kbyfv41] .header-upload-area:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

[b-dx5kbyfv41] .header-upload-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.upload-progress-toast[b-dx5kbyfv41] {
    position: fixed;
    top: 80px;
    right: 20px;
    background: var(--cx-card-bg);
    border-radius: var(--radius-md);
    padding: 1rem 1.5rem;
    box-shadow: var(--shadow-md);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 1000;
    border-left: 4px solid var(--cx-primary);
}

.upload-progress-toast span[b-dx5kbyfv41] {
    font-size: 0.9rem;
    color: var(--cx-text-primary);
}

/* ========== Drag & Drop ========== */
[b-dx5kbyfv41] .grid-drop-wrapper {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-dx5kbyfv41] .grid-drop-wrapper .drop-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    align-items: center;
    justify-content: center;
    background-color: var(--copper-50);
    border: 2px dashed var(--cx-primary);
    border-radius: var(--radius-md);
    pointer-events: none;
}

[b-dx5kbyfv41] .grid-drop-wrapper .drop-message {
    text-align: center;
    color: var(--cx-primary);
    font-size: 1.2rem;
    font-weight: 600;
}

[b-dx5kbyfv41] .grid-drop-wrapper .drop-message i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    display: block;
}

[b-dx5kbyfv41] .grid-drop-wrapper .drop-message p {
    margin: 0;
}

[b-dx5kbyfv41] .grid-drop-wrapper.e-upload-drag-hover .drop-overlay {
    visibility: visible;
    opacity: 1;
    display: flex;
}

/* ========== Hidden Uploader ========== */
[b-dx5kbyfv41] .hidden-uploader {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
    overflow: hidden;
}

[b-dx5kbyfv41] .hidden-uploader .e-file-select,
[b-dx5kbyfv41] .hidden-uploader .e-file-drop,
[b-dx5kbyfv41] .hidden-uploader .e-upload {
    display: none !important;
}

/* ========== Responsive ========== */
@media (max-width: 992px) {
    [b-dx5kbyfv41] .header-email-info {
        max-width: 220px;
    }

    [b-dx5kbyfv41] .header-email-info code {
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 640px) {
    [b-dx5kbyfv41] .header-email-info {
        display: none;
    }

    [b-dx5kbyfv41] .cx-primary-btn {
        min-height: 44px;
        padding: 0.5rem 0.875rem;
    }

    [b-dx5kbyfv41] .cx-export-item {
        min-height: 44px;
    }
}
/* _content/CraftX.Web/Components/Pages/My/MyLeave.razor.rz.scp.css */
.my-leave[b-7zeohw1f7y] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--paper-2);
    overflow: hidden;
}

/* Stat icon colors */
.stat-total[b-7zeohw1f7y]  .cx-stat-icon { background: rgba(99, 102, 241, 0.1); color: var(--ai); }
.stat-active[b-7zeohw1f7y]  .cx-stat-icon { background: rgba(16, 185, 129, 0.1); color: var(--cx-success); }
.stat-inactive[b-7zeohw1f7y]  .cx-stat-icon { background: rgba(245, 158, 11, 0.1); color: var(--cx-warning); }
.stat-pending[b-7zeohw1f7y]  .cx-stat-icon { background: rgba(245, 158, 11, 0.1); color: var(--cx-warning); }

/* Request List */
.request-list[b-7zeohw1f7y] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.request-card[b-7zeohw1f7y] {
    background: white;
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    border-left: 4px solid var(--cx-border);
    transition: all 0.2s;
}

.request-card:hover[b-7zeohw1f7y] {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.request-card.status-pending[b-7zeohw1f7y] { border-left-color: var(--cx-warning); }
.request-card.status-approved[b-7zeohw1f7y] { border-left-color: var(--cx-success); }
.request-card.status-rejected[b-7zeohw1f7y] { border-left-color: var(--cx-danger); }
.request-card.status-cancelled[b-7zeohw1f7y] { border-left-color: var(--cx-text-secondary); }

.request-header[b-7zeohw1f7y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.employee-info[b-7zeohw1f7y] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.avatar[b-7zeohw1f7y] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cx-success), var(--cx-success));
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.9rem;
}

.employee-details[b-7zeohw1f7y] {
    display: flex;
    flex-direction: column;
}

.employee-name[b-7zeohw1f7y] {
    font-weight: 600;
    color: var(--cx-text-primary);
}

.leave-type[b-7zeohw1f7y] {
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
}

.status-badge[b-7zeohw1f7y] {
    padding: 0.375rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.badge-warning[b-7zeohw1f7y] { background: rgba(169,117,20,0.15); color: var(--cx-warning); }
.badge-success[b-7zeohw1f7y] { background: rgba(63,125,91,0.15); color: var(--cx-success); }
.badge-danger[b-7zeohw1f7y] { background: rgba(154,59,51,0.15); color: var(--cx-danger); }
.badge-secondary[b-7zeohw1f7y] { background: var(--cx-border); color: var(--cx-text-secondary); }
.badge-info[b-7zeohw1f7y] { background: rgba(31,74,130,0.12); color: var(--cx-info); }

.request-body[b-7zeohw1f7y] {
    margin-bottom: 1rem;
}

.date-range[b-7zeohw1f7y], .reason[b-7zeohw1f7y] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--cx-text-secondary);
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.date-range i[b-7zeohw1f7y], .reason i[b-7zeohw1f7y] {
    color: var(--cx-text-muted);
}

.days-count[b-7zeohw1f7y] {
    color: var(--cx-text-secondary);
    font-size: 0.85rem;
}

.request-footer[b-7zeohw1f7y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid var(--cx-border);
}

.meta-info[b-7zeohw1f7y] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
}

.actions[b-7zeohw1f7y] {
    display: flex;
    gap: 0.5rem;
}

/* Empty State */
.empty-state[b-7zeohw1f7y] {
    background: white;
    border-radius: 12px;
    padding: 3rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.empty-state i[b-7zeohw1f7y] {
    font-size: 3rem;
    color: var(--cx-border);
    margin-bottom: 1rem;
}

.empty-state h3[b-7zeohw1f7y] {
    margin: 0 0 0.5rem;
    color: var(--cx-text-secondary);
}

.empty-state p[b-7zeohw1f7y] {
    color: var(--cx-text-muted);
    margin: 0;
}

/* Dialog */
.dialog-overlay[b-7zeohw1f7y] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.dialog-container[b-7zeohw1f7y] {
    background: white;
    border-radius: 16px;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 25px 50px rgba(0,0,0,0.25);
}

.dialog-header[b-7zeohw1f7y] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    border-bottom: 1px solid var(--cx-border);
}

.dialog-header h3[b-7zeohw1f7y] {
    margin: 0;
    font-size: 1.25rem;
}

.close-btn[b-7zeohw1f7y] {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--cx-text-secondary);
    cursor: pointer;
    padding: 0.25rem;
}

.close-btn:hover[b-7zeohw1f7y] {
    color: var(--cx-text-primary);
}

.dialog-body[b-7zeohw1f7y] {
    padding: 1.5rem;
}

.form-group[b-7zeohw1f7y] {
    margin-bottom: 1rem;
}

.form-group label[b-7zeohw1f7y] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--cx-text-secondary);
    margin-bottom: 0.375rem;
}

.form-row-2col[b-7zeohw1f7y] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.dialog-footer[b-7zeohw1f7y] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--cx-border);
    background: var(--paper-2);
    border-radius: 0 0 16px 16px;
}

/* Responsive */
@media (max-width: 768px) {
    .form-row-2col[b-7zeohw1f7y] {
        grid-template-columns: 1fr;
    }
}
/* _content/CraftX.Web/Components/Pages/My/MyTimesheet.razor.rz.scp.css */
.my-timesheet[b-j3xuxgq374] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--paper-2);
    overflow: hidden;
}

/* Stat card icon colors (page-specific) */
.stat-total[b-j3xuxgq374]  .cx-stat-icon { background: rgba(99, 102, 241, 0.1); color: var(--ai); }
.stat-active[b-j3xuxgq374]  .cx-stat-icon { background: rgba(16, 185, 129, 0.1); color: var(--cx-success); }
.stat-departments[b-j3xuxgq374]  .cx-stat-icon { background: rgba(59, 130, 246, 0.1); color: var(--cx-primary); }
.stat-expected[b-j3xuxgq374]  .cx-stat-icon { background: rgba(59, 130, 246, 0.1); color: var(--cx-primary); }
.stat-actual[b-j3xuxgq374]  .cx-stat-icon { background: rgba(99, 102, 241, 0.1); color: var(--ai); }
.stat-overtime-positive[b-j3xuxgq374]  .cx-stat-icon { background: rgba(16, 185, 129, 0.1); color: var(--cx-success); }
.stat-overtime-positive[b-j3xuxgq374]  .cx-stat-value { color: var(--cx-success); }
.stat-overtime-negative[b-j3xuxgq374]  .cx-stat-icon { background: rgba(239, 68, 68, 0.1); color: var(--cx-danger); }
.stat-overtime-negative[b-j3xuxgq374]  .cx-stat-value { color: var(--cx-danger); }
.stat-rejected[b-j3xuxgq374]  .cx-stat-icon { background: rgba(239, 68, 68, 0.1); color: var(--cx-danger); }
.stat-attendance[b-j3xuxgq374]  .cx-stat-icon { background: rgba(16, 185, 129, 0.1); color: var(--cx-success); }
.stat-locked[b-j3xuxgq374]  .cx-stat-icon { background: rgba(107, 114, 128, 0.1); color: var(--cx-text-muted); }
.stat-locked[b-j3xuxgq374]  .cx-stat-value { color: var(--cx-text-muted); font-size: 1.1rem; }

/* Clock Status (inside shared header) */
.clock-status[b-j3xuxgq374] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(255,255,255,0.2);
    border-radius: 6px;
    font-size: 0.875rem;
}

.clock-status.clocked-in i[b-j3xuxgq374] {
    animation: pulse-b-j3xuxgq374 2s infinite;
}

@keyframes pulse-b-j3xuxgq374 {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Date Navigation */
.date-nav-section[b-j3xuxgq374] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    background: white;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    border: 1px solid var(--cx-hairline);
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.date-nav[b-j3xuxgq374] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.date-range-display[b-j3xuxgq374] {
    min-width: 150px;
}

/* Week label (KW + date range) */
.week-label[b-j3xuxgq374] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--ink-2);
}

.week-kw[b-j3xuxgq374] {
    font-weight: 700;
    color: var(--ink);
    background: var(--paper-2);
    padding: 0.25rem 0.625rem;
    border-radius: 4px;
    font-size: 0.8rem;
}

.week-range[b-j3xuxgq374] {
    color: var(--cx-text-muted);
}

/* Timesheet Grid */
.timesheet-section[b-j3xuxgq374] {
    background: white;
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--cx-hairline);
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
    overflow-x: auto;
}

.timesheet-header[b-j3xuxgq374] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.375rem;
    margin-bottom: 0.75rem;
}

.day-header[b-j3xuxgq374] {
    text-align: center;
    padding: 0.625rem 0.5rem;
    background: var(--paper-2);
    border-radius: 6px;
}

.day-header.today[b-j3xuxgq374] {
    background: var(--cx-primary);
    color: white;
}

.day-header.weekend[b-j3xuxgq374] {
    background: var(--paper-2);
    color: var(--cx-text-muted);
}

.day-header.future[b-j3xuxgq374] {
    opacity: 0.5;
}

.day-header.future.today[b-j3xuxgq374] {
    opacity: 1;
}

.day-name[b-j3xuxgq374] {
    display: block;
    font-weight: 600;
    font-size: 0.85rem;
}

.day-date[b-j3xuxgq374] {
    display: block;
    font-size: 0.75rem;
    opacity: 0.8;
}

.timesheet-body[b-j3xuxgq374] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.375rem;
    min-height: 180px;
}

.day-column[b-j3xuxgq374] {
    background: var(--paper-2);
    border-radius: 6px;
    padding: 0.625rem;
    min-height: 140px;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.day-column.today[b-j3xuxgq374] {
    background: rgba(31,74,130,0.06);
    border: 2px solid var(--cx-primary);
}

.day-column.weekend[b-j3xuxgq374] {
    background: var(--paper-2);
}

.day-column.future[b-j3xuxgq374] {
    opacity: 0.45;
    background: var(--paper-2);
}

.day-column.future.today[b-j3xuxgq374] {
    opacity: 1;
}

.time-entry[b-j3xuxgq374] {
    background: white;
    border-radius: 4px;
    padding: 0.5rem;
    font-size: 0.8rem;
    border-left: 3px solid var(--cx-primary);
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.time-entry.active[b-j3xuxgq374] {
    border-left-color: var(--cx-success);
    background: rgba(63,125,91,0.10);
}

.time-entry.locked[b-j3xuxgq374] {
    border-left-color: var(--cx-text-muted);
    opacity: 0.7;
    background: var(--paper-2);
}

.entry-time[b-j3xuxgq374] {
    font-weight: 600;
    color: var(--ink);
}

.entry-hours[b-j3xuxgq374] {
    color: var(--cx-primary);
    font-weight: 600;
}

.entry-break[b-j3xuxgq374] {
    color: var(--cx-text-muted);
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.entry-desc[b-j3xuxgq374] {
    color: var(--cx-text-muted);
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.entry-actions[b-j3xuxgq374] {
    display: flex;
    gap: 0.25rem;
    margin-top: 0.25rem;
}

.action-btn[b-j3xuxgq374] {
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: var(--cx-text-muted);
    font-size: 0.8rem;
}

.action-btn:hover[b-j3xuxgq374] {
    color: var(--cx-primary);
}

.action-btn.delete:hover[b-j3xuxgq374] {
    color: var(--cx-danger);
}

.no-entries[b-j3xuxgq374] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cx-hairline);
    flex: 1;
}

.no-entries.clickable[b-j3xuxgq374] {
    cursor: pointer;
    color: var(--cx-text-muted);
    transition: color 0.15s;
}

.no-entries.clickable:hover[b-j3xuxgq374] {
    color: var(--cx-primary);
}

.no-entries.clickable i[b-j3xuxgq374] {
    font-size: 1.25rem;
}

.day-total[b-j3xuxgq374] {
    margin-top: auto;
    padding-top: 0.375rem;
    border-top: 1px dashed var(--cx-hairline);
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    text-align: center;
}

.week-total[b-j3xuxgq374] {
    text-align: right;
    padding-top: 0.75rem;
    border-top: 1px solid var(--cx-hairline);
    color: var(--ink);
}

/* Week total row with Soll/Ist/+- */
.week-total-row[b-j3xuxgq374] {
    display: flex;
    justify-content: flex-end;
    gap: 2rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--cx-hairline);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--ink);
}

.week-total-row .overtime-positive[b-j3xuxgq374] {
    color: var(--cx-success);
}

.week-total-row .overtime-negative[b-j3xuxgq374] {
    color: var(--cx-danger);
}

/* Day indicators (holiday, leave) */
.day-indicator[b-j3xuxgq374] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

.day-indicator.holiday[b-j3xuxgq374] {
    background: rgba(169,117,20,0.15);
    color: var(--cx-warning);
    border: 1px solid rgba(169,117,20,0.20);
}

.day-indicator.holiday i[b-j3xuxgq374] {
    color: var(--cx-warning);
}

.day-indicator.leave-day[b-j3xuxgq374] {
    background: var(--ai-50);
    color: var(--ai);
    border: 1px solid var(--ai-50);
}

.day-indicator.leave-day.sick[b-j3xuxgq374] {
    background: color-mix(in srgb, var(--cx-danger) 10%, white);
    color: var(--cx-danger);
    border: 1px solid color-mix(in srgb, var(--cx-danger) 22%, white);
}

.day-indicator.leave-day.sick i[b-j3xuxgq374] {
    color: var(--cx-danger);
}

.half-day-badge[b-j3xuxgq374] {
    background: rgba(255,255,255,0.6);
    padding: 0 0.25rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 700;
}

/* Entries List */
.entries-list-section[b-j3xuxgq374] {
    background: white;
    border-radius: 8px;
    padding: 1.25rem;
    border: 1px solid var(--cx-hairline);
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.entries-list-section h3[b-j3xuxgq374] {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 600;
}

.entries-list[b-j3xuxgq374] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.entry-row[b-j3xuxgq374] {
    display: grid;
    grid-template-columns: 160px 120px 80px auto;
    gap: 1rem;
    align-items: center;
    padding: 0.625rem 1rem;
    background: var(--paper-2);
    border-radius: 6px;
}

.entry-row.locked[b-j3xuxgq374] {
    opacity: 0.7;
    background: var(--paper-2);
}

/* Week locked banner */
.week-locked-banner[b-j3xuxgq374] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--paper-2);
    border: 1px solid var(--cx-hairline);
    border-radius: 6px;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
    color: var(--cx-text-secondary);
    font-weight: 500;
}

.week-locked-banner i[b-j3xuxgq374] {
    color: var(--cx-text-muted);
}

.entry-date[b-j3xuxgq374] {
    font-weight: 500;
    color: var(--ink);
}

.entry-time-range[b-j3xuxgq374] {
    color: var(--cx-text-secondary);
}

.entry-duration[b-j3xuxgq374] {
    font-weight: 600;
    color: var(--cx-primary);
}

.entry-status[b-j3xuxgq374] {
    display: flex;
    justify-content: flex-end;
}

.badge[b-j3xuxgq374] {
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
}

.badge-active[b-j3xuxgq374] {
    background: rgba(63,125,91,0.15);
    color: var(--cx-success);
}

.badge-locked[b-j3xuxgq374] {
    background: var(--cx-hairline);
    color: var(--ink-2);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.badge-locked i[b-j3xuxgq374] {
    font-size: 0.65rem;
}

/* Dialog */
.dialog-overlay[b-j3xuxgq374] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.dialog-container[b-j3xuxgq374] {
    background: white;
    border-radius: 8px;
    width: 90%;
    max-width: 450px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

.dialog-header[b-j3xuxgq374] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--cx-hairline);
}

.dialog-header h3[b-j3xuxgq374] {
    margin: 0;
    font-size: 1.15rem;
}

.close-btn[b-j3xuxgq374] {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--cx-text-muted);
    cursor: pointer;
}

.close-btn:hover[b-j3xuxgq374] {
    color: var(--ink);
}

.dialog-body[b-j3xuxgq374] {
    padding: 1.25rem 1.5rem;
}

.clock-summary[b-j3xuxgq374] {
    background: var(--paper-2);
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.summary-row[b-j3xuxgq374] {
    display: flex;
    justify-content: space-between;
    padding: 0.25rem 0;
}

.form-group[b-j3xuxgq374] {
    margin-bottom: 1rem;
}

.form-group label[b-j3xuxgq374] {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ink-2);
    margin-bottom: 0.375rem;
}

.form-hint[b-j3xuxgq374] {
    color: var(--cx-text-muted);
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.form-row-2col[b-j3xuxgq374] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.dialog-footer[b-j3xuxgq374] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid var(--cx-hairline);
    background: var(--paper-2);
    border-radius: 0 0 8px 8px;
}

/* Empty State */
.empty-state[b-j3xuxgq374] {
    background: white;
    border-radius: 8px;
    padding: 3rem;
    text-align: center;
    border: 1px solid var(--cx-hairline);
}

.empty-state i[b-j3xuxgq374] {
    font-size: 2.5rem;
    color: var(--cx-hairline);
    margin-bottom: 1rem;
}

.empty-state h3[b-j3xuxgq374] {
    margin: 0 0 0.5rem;
    color: var(--cx-text-secondary);
}

.empty-state p[b-j3xuxgq374] {
    color: var(--cx-text-muted);
    margin: 0;
}

/* Rejection / Correction Styles */
.badge-rejected[b-j3xuxgq374] {
    background: rgba(154,59,51,0.15);
    color: var(--cx-danger);
}

.badge-corrected[b-j3xuxgq374] {
    background: rgba(31,74,130,0.12);
    color: var(--cx-info);
}

.time-entry.needs-correction[b-j3xuxgq374] {
    border-left-color: var(--cx-danger);
    background: rgba(154,59,51,0.06);
}

.time-entry.corrected[b-j3xuxgq374] {
    border-left-color: var(--cx-primary);
    background: rgba(31,74,130,0.06);
}

.entry-row.needs-correction[b-j3xuxgq374] {
    background: rgba(154,59,51,0.06);
    border-left: 3px solid var(--cx-danger);
}

.rejection-reason[b-j3xuxgq374] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: rgba(154,59,51,0.06);
    border: 1px solid rgba(154,59,51,0.20);
    border-radius: 4px;
    font-size: 0.8rem;
    color: var(--cx-danger);
    margin-top: 0.25rem;
}

.rejection-reason i[b-j3xuxgq374] {
    color: var(--cx-danger);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.delete-warning[b-j3xuxgq374] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: rgba(154,59,51,0.06);
    border: 1px solid rgba(154,59,51,0.20);
    border-radius: 6px;
    font-size: 0.875rem;
    color: var(--cx-danger);
}

.delete-warning i[b-j3xuxgq374] {
    color: var(--cx-danger);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

/* Skeleton Loading */
.skeleton[b-j3xuxgq374] {
    background: linear-gradient(90deg, var(--paper-2) 25%, var(--cx-border) 50%, var(--paper-2) 75%);
    background-size: 200% 100%;
    animation: shimmer-b-j3xuxgq374 1.5s infinite;
    border-radius: 4px;
}

.skeleton-circle[b-j3xuxgq374] {
    border-radius: 8px;
}

.skeleton-text[b-j3xuxgq374] {
    height: 14px;
}

.skeleton-text-xl[b-j3xuxgq374] {
    height: 24px;
}

@keyframes shimmer-b-j3xuxgq374 {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Responsive */
@media (max-width: 1024px) {
    .timesheet-section[b-j3xuxgq374] {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .timesheet-header[b-j3xuxgq374],
    .timesheet-body[b-j3xuxgq374] {
        min-width: 700px;
    }
}

@media (max-width: 768px) {
    .date-nav-section[b-j3xuxgq374] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .week-label[b-j3xuxgq374] {
        order: -1;
    }

    .entry-row[b-j3xuxgq374] {
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }

    .form-row-2col[b-j3xuxgq374] {
        grid-template-columns: 1fr;
    }
}
/* _content/CraftX.Web/Components/Pages/Nachfassen/NachfassCockpit.razor.rz.scp.css */
/* ==========================================================================
   Nachfassen-Cockpit — warm-craftsman skin (matches the design mockup).
   Reuses the global tokens from app.css (--copper #B8601F, paper/sand/ink,
   --font-display Bricolage, --font-mono JetBrains Mono). Light surfaces only.
   ========================================================================== */

.nfc[b-ivi3huy888] {
    --nfc-ease: cubic-bezier(.22, .61, .36, 1);
    --nfc-violet: #5B4B8A;
    --nfc-violet-50: #EEEBF5;
    --nfc-hairline: rgba(28, 25, 21, .08);
    --nfc-hairline-soft: rgba(28, 25, 21, .05);
    max-width: 1320px;
    margin: 0 auto;
    padding: 20px 28px 24px;
    font-family: var(--font-sans);
    color: var(--ink, #1C1915);
    /* Fixed-height master-detail: the page fills the bounded content area and the
       list / detail panes scroll INDEPENDENTLY, instead of the whole cockpit
       scrolling as one long document (which left the short list column with a
       big empty gutter while the tall detail kept scrolling). */
    box-sizing: border-box;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Header chrome stays put; only the split below it scrolls. */
.nfc__back[b-ivi3huy888],
.nfc__head[b-ivi3huy888],
.nfc-kpis[b-ivi3huy888],
.nfc-filters[b-ivi3huy888] { flex: 0 0 auto; }

.nfc__back[b-ivi3huy888] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
    color: var(--walnut, #4A443C);
    text-decoration: none;
    margin-bottom: 6px;
}
.nfc__back:hover[b-ivi3huy888] { color: var(--copper, #B8601F); }

/* ── Page header ───────────────────────────────────────── */
.nfc__head[b-ivi3huy888] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.nfc__title[b-ivi3huy888] {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.1;
    margin: 0;
}
.nfc__sub[b-ivi3huy888] {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--stone, #8E8679);
    letter-spacing: .02em;
    margin: 5px 0 0;
}

/* Kennzahlen (KPI) collapse toggle — replaces the old Liste/Split segmented control. */
.nfc-kpitoggle[b-ivi3huy888] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--nfc-hairline);
    background: #fff;
    border-radius: 999px;
    padding: 7px 13px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--walnut, #4A443C);
    cursor: pointer;
    transition: all .15s var(--nfc-ease);
}
.nfc-kpitoggle:hover[b-ivi3huy888] {
    border-color: color-mix(in srgb, var(--copper, #B8601F) 45%, transparent);
    color: var(--ink, #1C1915);
}
.nfc-kpitoggle > .bi-bar-chart-line[b-ivi3huy888] { color: var(--copper, #B8601F); font-size: 13px; }
.nfc-kpitoggle > .bi-chevron-up[b-ivi3huy888],
.nfc-kpitoggle > .bi-chevron-down[b-ivi3huy888] { font-size: 11px; color: var(--stone, #8E8679); }
.nfc-kpitoggle.off[b-ivi3huy888] { background: var(--sand, #F0ECE4); }

.nfc__state[b-ivi3huy888] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 48px 0;
    color: var(--stone, #8E8679);
}

/* ── KPI cards ─────────────────────────────────────────── */
.nfc-kpis[b-ivi3huy888] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 16px;
}
/* Shown/hidden purely via the "Kennzahlen" toggle — instant, no animation, so a
   row-click never triggers a vertical reflow alongside the detail's horizontal slide. */
.nfc-kpis.is-collapsed[b-ivi3huy888] { display: none; }
.nfc-kpi[b-ivi3huy888] {
    position: relative;
    background: #fff;
    border: 1px solid var(--nfc-hairline);
    border-radius: 12px;
    padding: 15px 17px;
    overflow: hidden;
}
.nfc-kpi[b-ivi3huy888]::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
}
.nfc-kpi.copper[b-ivi3huy888]::after { background: var(--copper, #B8601F); }
.nfc-kpi.brick[b-ivi3huy888]::after { background: var(--cx-danger, #9A3B33); }
.nfc-kpi.patina[b-ivi3huy888]::after { background: var(--cx-success, #3F7D5B); }
.nfc-kpi.ochre[b-ivi3huy888]::after { background: var(--cx-warning, #A97514); }

.nfc-kpi__l[b-ivi3huy888] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .11em;
    color: var(--stone, #8E8679);
    margin-bottom: 9px;
}
.nfc-kpi__ic[b-ivi3huy888] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    font-size: 11px;
    color: #fff;
    flex: 0 0 auto;
}
.nfc-kpi__ic.copper[b-ivi3huy888] { background: var(--copper, #B8601F); }
.nfc-kpi__ic.brick[b-ivi3huy888] { background: var(--cx-danger, #9A3B33); }
.nfc-kpi__ic.patina[b-ivi3huy888] { background: var(--cx-success, #3F7D5B); }
.nfc-kpi__ic.ochre[b-ivi3huy888] { background: var(--cx-warning, #A97514); }

.nfc-kpi__v[b-ivi3huy888] {
    font-family: var(--font-display);
    font-size: 25px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.05;
    color: var(--ink, #1C1915);
    font-variant-numeric: tabular-nums;
}
.nfc-kpi__f[b-ivi3huy888] {
    margin-top: 6px;
    font-size: 11.5px;
    color: var(--stone, #8E8679);
}

/* ── Filter chips ──────────────────────────────────────── */
.nfc-filters[b-ivi3huy888] {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.nfc-filter[b-ivi3huy888] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 13px;
    border: 1px solid var(--nfc-hairline);
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--walnut, #4A443C);
    opacity: .6;
    transition: all .15s var(--nfc-ease);
}
.nfc-filter:hover[b-ivi3huy888] { opacity: .85; }
.nfc-filter.active[b-ivi3huy888] {
    opacity: 1;
    border-color: color-mix(in srgb, var(--copper, #B8601F) 50%, transparent);
    color: var(--ink, #1C1915);
    background: var(--copper-50, #FBEFE5);
}
.nfc-chip[b-ivi3huy888] {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 18px;
    padding: 0 6px;
    border-radius: 9px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 700;
    color: #fff;
}
.nfc-chip.danger[b-ivi3huy888] { background: var(--cx-danger, #9A3B33); }
.nfc-chip.info[b-ivi3huy888] { background: var(--cx-info, #1F4A82); }
.nfc-chip.warning[b-ivi3huy888] { background: var(--cx-warning, #A97514); }
.nfc-chip.neutral[b-ivi3huy888] { background: var(--stone, #8E8679); }
.nfc-chip.copper[b-ivi3huy888] {
    background: var(--copper-50, #FBEFE5);
    color: var(--copper-dark, #8A4514);
    font-weight: 600;
    padding: 0 9px;
}

/* ── Bob strip ────────────────────────────────────────────
   A slim single-line nudge inside the list column (above the rows): present in the
   Fokus-Liste, hidden in Split. Sitting within the list pane means hiding it only
   reflows the list's own rows — the split surface and detail never move (no pop). */
.nfc-bob[b-ivi3huy888] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    background: var(--nfc-violet-50);
    border: 1px solid rgba(91, 75, 138, .16);
    border-radius: 10px;
    padding: 8px 10px 8px 9px;
    margin-bottom: 12px;
}
.nfc-bob.is-done[b-ivi3huy888] { background: #EAF3EE; border-color: rgba(63, 125, 91, .18); }
.nfc-split.is-split .nfc-bob[b-ivi3huy888] { display: none; }

.nfc-bob__av[b-ivi3huy888] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: linear-gradient(135deg, var(--nfc-violet), #8370c0);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 12px;
}
.nfc-bob.is-done .nfc-bob__av[b-ivi3huy888] { background: var(--cx-success, #3F7D5B); }

.nfc-bob__tag[b-ivi3huy888] {
    flex: 0 0 auto;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fff;
    background: var(--nfc-violet);
    border-radius: 5px;
    padding: 2px 6px;
}
.nfc-bob__tag.done[b-ivi3huy888] { background: var(--cx-success, #3F7D5B); }

.nfc-bob__line[b-ivi3huy888] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    color: var(--ink, #1C1915);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nfc-bob__line b[b-ivi3huy888] { font-weight: 700; }

.nfc-bob__actions[b-ivi3huy888] { flex: 0 0 auto; display: flex; gap: 6px; }
.nfc-bchip[b-ivi3huy888] {
    font-size: 12px;
    padding: 5px 11px;
    border-radius: 7px;
    background: #fff;
    border: 1px solid rgba(91, 75, 138, .22);
    color: var(--nfc-violet);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    cursor: pointer;
    transition: filter .15s var(--nfc-ease);
}
.nfc-bchip.solid[b-ivi3huy888] { background: var(--nfc-violet); color: #fff; border-color: var(--nfc-violet); }
.nfc-bchip.icon[b-ivi3huy888] { padding: 5px 8px; }
.nfc-bchip:hover[b-ivi3huy888] { filter: brightness(.97); }

/* ── Bob expanded (assistant card) ─────────────────────────
   The richer default state: the prepared-reminder pitch + two actions. Earns the extra height
   because it carries something the row doesn't (a draft ready to send). Collapses to the slim
   strip above via the chevron; the choice persists in localStorage. */
.nfc-bob.is-expanded[b-ivi3huy888] {
    align-items: flex-start;
    gap: 13px;
    padding: 14px 14px 14px 14px;
    border-radius: 12px;
}
.nfc-bob.is-expanded .nfc-bob__av[b-ivi3huy888] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    font-size: 14px;
    margin-top: 1px;
}
.nfc-bob__body[b-ivi3huy888] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.nfc-bob__tags[b-ivi3huy888] { display: flex; align-items: center; gap: 9px; }
.nfc-bob__by[b-ivi3huy888] {
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--nfc-violet);
    opacity: .75;
}
.nfc-bob__head[b-ivi3huy888] { font-size: 14px; line-height: 1.45; color: var(--ink, #1C1915); }
.nfc-bob__head b[b-ivi3huy888] { font-weight: 700; }
.nfc-bob__sub[b-ivi3huy888] { font-size: 12.5px; color: var(--walnut, #4A443C); }
.nfc-bob.is-expanded .nfc-bob__actions[b-ivi3huy888] { margin-top: 4px; }
.nfc-bob__toggle[b-ivi3huy888] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    border: 1px solid transparent;
    background: transparent;
    color: var(--nfc-violet);
    display: grid;
    place-items: center;
    font-size: 13px;
    cursor: pointer;
    opacity: .55;
    transition: opacity .15s var(--nfc-ease), background .15s var(--nfc-ease);
}
.nfc-bob__toggle:hover[b-ivi3huy888] { opacity: 1; background: rgba(91, 75, 138, .1); }

/* ── Split surface (animated list ⇄ detail) ───────────────────────────────
   Flex layout: the list pane is `flex:1` and reflows into whatever space the
   detail pane leaves. Toggling views animates the detail's flex-basis between
   0 (Fokus-Liste) and `--nfc-work-w` (Split) — both pixel values, so it
   interpolates smoothly (a grid-template-columns transition between fr and px
   only half-animates). The list follows frame-by-frame as the detail opens. */
.nfc-split[b-ivi3huy888] {
    /* Detail leans wider so the list reads as a slim master column. Clamp keeps it
       sane across widths and still animates 0 → value (both resolve to px). */
    --nfc-work-w: clamp(600px, 66%, 940px);
    display: flex;
    align-items: stretch;
    gap: 20px;
    flex: 1 1 auto;
    min-height: 0;
}

.nfc-split__list[b-ivi3huy888] {
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* The list card fills the column (header pinned, rows scroll inside) so a short
   list reads as a full-height panel rather than a card floating over a gutter. */
.nfc-split__list > .nfc-card[b-ivi3huy888] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.nfc-split__list > .nfc-card > .nfc-card__h[b-ivi3huy888] { flex: 0 0 auto; }
.nfc-split__list .nfc-rows[b-ivi3huy888] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    /* Clip horizontal overflow so that, while closing, the wide rows snapping back
       in are revealed cleanly by the widening list instead of spilling rightward. */
    overflow-x: clip;
}
.nfc-split__list .nfc-empty[b-ivi3huy888] { flex: 1 1 auto; }

/* The list reflows between the wide action-queue and the compact split layout
   (columns toggle via display: a hard swap). A brief dim-then-settle masks that
   snap so it reads as the list "resolving" AFTER the detail has opened, rather
   than everything moving at once. */
.nfc-split.is-split .nfc-rows[b-ivi3huy888] { animation: nfc-rows-settle-split-b-ivi3huy888 .42s var(--nfc-ease) both; }
.nfc-split.is-list .nfc-rows[b-ivi3huy888] { animation: nfc-rows-settle-list-b-ivi3huy888 .4s var(--nfc-ease) both; }
@keyframes nfc-rows-settle-split-b-ivi3huy888 {
    0% { opacity: .25; }
    36% { opacity: .25; } /* hold dim while the detail pane slides open */
    100% { opacity: 1; }
}
@keyframes nfc-rows-settle-list-b-ivi3huy888 {
    0% { opacity: .25; }
    40% { opacity: .28; } /* hold dim while the list widens back out, then resolve */
    100% { opacity: 1; }
}

/* ── Detail (right) pane ──
   The base transition governs OPENING (is-split): the pane widens first, then its
   content fades in (opacity delayed). The is-list rule governs CLOSING and adds a
   small delay so the KPI banner expands first — the reverse of the open sequence. */
.nfc-split__work[b-ivi3huy888] {
    flex: 0 0 var(--nfc-work-w);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(28, 25, 21, .10);
    border: 1px solid var(--nfc-hairline);
    background: #fff;
    transition: flex-basis .3s var(--nfc-ease), opacity .22s var(--nfc-ease) .1s,
                box-shadow .24s var(--nfc-ease), border-color .24s var(--nfc-ease),
                margin-left .3s var(--nfc-ease);
}
/* In Fokus-Liste the detail folds away (basis → 0) and the gap collapses with it.
   It closes WITHOUT delay so the list widens in step with the rows snapping back to
   their wide layout — otherwise wide rows would briefly overflow the still-narrow
   list. The "detail first, then KPIs" feel on the way back comes from staggering the
   KPI expansion (below), not from delaying the fold. */
.nfc-split.is-list .nfc-split__work[b-ivi3huy888] {
    flex-basis: 0;
    opacity: 0;
    pointer-events: none;
    box-shadow: none;
    border-color: transparent;
    margin-left: -20px; /* cancels the flex gap so the list reads as full-width */
}

/* ── Card shell ────────────────────────────────────────── */
.nfc-card[b-ivi3huy888] {
    background: #fff;
    border: 1px solid var(--nfc-hairline);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(28, 25, 21, .04);
    overflow: hidden;
}
.nfc-card__h[b-ivi3huy888] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid var(--nfc-hairline-soft);
}
.nfc-card__t[b-ivi3huy888] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink, #1C1915);
}
.nfc-card__ic[b-ivi3huy888] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: var(--copper-50, #FBEFE5);
    color: var(--copper, #B8601F);
    font-size: 13px;
}
.nfc-card__hint[b-ivi3huy888] { font-size: 12.5px; color: var(--stone, #8E8679); }
.nfc-card__hint b[b-ivi3huy888] { color: var(--ink, #1C1915); font-weight: 700; }

/* ── Rows ──────────────────────────────────────────────── */
.nfc-rows[b-ivi3huy888] { display: flex; flex-direction: column; }

.nfc-row[b-ivi3huy888] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 13px 18px 13px 16px;
    border-bottom: 1px solid var(--nfc-hairline-soft);
    cursor: pointer;
    transition: background .15s var(--nfc-ease);
}
.nfc-row:last-child[b-ivi3huy888] { border-bottom: none; }
.nfc-row[b-ivi3huy888]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--accent, transparent);
}
.nfc-row.tier-hot[b-ivi3huy888] { --accent: var(--cx-danger, #9A3B33); }
.nfc-row.tier-warm[b-ivi3huy888] { --accent: var(--copper, #B8601F); }
.nfc-row.tier-cool[b-ivi3huy888] { --accent: transparent; }
.nfc-row:hover[b-ivi3huy888] { background: var(--copper-50, #FBEFE5); }
.nfc-row.sel[b-ivi3huy888] { background: var(--copper-50, #FBEFE5); }

.nfc-row__rank[b-ivi3huy888] {
    flex: 0 0 auto;
    width: 24px;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 16px;
    font-weight: 600;
    color: var(--stone, #8E8679);
}
.nfc-row.tier-hot .nfc-row__rank[b-ivi3huy888] { color: var(--cx-danger, #9A3B33); }
.nfc-row.tier-warm .nfc-row__rank[b-ivi3huy888] { color: var(--copper, #B8601F); }

.nfc-row__main[b-ivi3huy888] { flex: 1 1 auto; min-width: 0; }
.nfc-row__cust[b-ivi3huy888] {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--ink, #1C1915);
}
.nfc-row__cust strong[b-ivi3huy888] { font-weight: 700; }
.nfc-row__id[b-ivi3huy888] {
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 500;
    color: var(--stone, #8E8679);
    background: var(--sand, #F0ECE4);
    padding: 1px 6px;
    border-radius: 4px;
}
.nfc-row__proj[b-ivi3huy888] {
    margin-top: 3px;
    font-size: 12.5px;
    color: var(--walnut, #4A443C);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nfc-row__val[b-ivi3huy888] { flex: 0 0 auto; width: 124px; }
.nfc-row__val-n[b-ivi3huy888] {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1;
    color: var(--ink, #1C1915);
    font-variant-numeric: tabular-nums;
}
.nfc-row__val-l[b-ivi3huy888] {
    margin-top: 4px;
    font-family: var(--font-mono);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--stone, #8E8679);
}

.nfc-row__sig[b-ivi3huy888] { flex: 0 0 auto; width: 240px; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.nfc-row__sig-top[b-ivi3huy888] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nfc-row__sig-bot[b-ivi3huy888] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.nfc-tag[b-ivi3huy888] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .03em;
    white-space: nowrap;
    background: var(--sand, #F0ECE4);
    color: var(--walnut, #4A443C);
}
.nfc-tag__d[b-ivi3huy888] { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.nfc-tag.neutral[b-ivi3huy888] { background: var(--sand, #F0ECE4); color: var(--walnut, #4A443C); }
.nfc-tag.info[b-ivi3huy888] { background: #EEF3FB; color: var(--cx-info, #1F4A82); }
.nfc-tag.violet[b-ivi3huy888] { background: var(--nfc-violet-50); color: var(--nfc-violet); }
.nfc-tag.copper[b-ivi3huy888] { background: var(--copper-50, #FBEFE5); color: var(--copper-dark, #8A4514); }
.nfc-tag.warning[b-ivi3huy888] { background: #FAF1DE; color: var(--cx-warning, #A97514); }
.nfc-tag.danger[b-ivi3huy888] { background: #F7E7E5; color: var(--cx-danger, #9A3B33); }

.nfc-sig[b-ivi3huy888] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: var(--walnut, #4A443C);
    white-space: nowrap;
}
.nfc-sig i[b-ivi3huy888] { font-size: 12px; opacity: .8; }
.nfc-sig.muted[b-ivi3huy888] { color: var(--stone, #8E8679); }

/* Erfolgs-Chance bar (Hoch/Mittel/Niedrig — never a fabricated %) */
.nfc-row__chance[b-ivi3huy888] { flex: 0 0 auto; width: 132px; display: flex; flex-direction: column; gap: 5px; }
.nfc-bar[b-ivi3huy888] { display: flex; align-items: center; gap: 8px; }
.nfc-bar__track[b-ivi3huy888] { flex: 1; height: 6px; border-radius: 3px; background: var(--sand, #F0ECE4); overflow: hidden; }
.nfc-bar__fill[b-ivi3huy888] { height: 100%; border-radius: 3px; }
.nfc-bar__lvl[b-ivi3huy888] { font-family: var(--font-mono); font-size: 11px; font-weight: 600; white-space: nowrap; }
.nfc-bar.hoch .nfc-bar__fill[b-ivi3huy888] { background: var(--cx-success, #3F7D5B); }
.nfc-bar.hoch .nfc-bar__lvl[b-ivi3huy888] { color: var(--cx-success, #3F7D5B); }
.nfc-bar.mittel .nfc-bar__fill[b-ivi3huy888] { background: var(--cx-warning, #A97514); }
.nfc-bar.mittel .nfc-bar__lvl[b-ivi3huy888] { color: var(--cx-warning, #A97514); }
.nfc-bar.niedrig .nfc-bar__fill[b-ivi3huy888] { background: var(--stone, #8E8679); }
.nfc-bar.niedrig .nfc-bar__lvl[b-ivi3huy888] { color: var(--stone, #8E8679); }
.nfc-row__chance-l[b-ivi3huy888] {
    font-family: var(--font-mono);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--stone, #8E8679);
}

/* compact-only expiry dot (hidden in Fokus-Liste) */
.nfc-row__dot[b-ivi3huy888] { display: none; width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; }
.nfc-row__dot.danger[b-ivi3huy888] { background: var(--cx-danger, #9A3B33); }
.nfc-row__dot.warning[b-ivi3huy888] { background: var(--cx-warning, #A97514); }
.nfc-row__dot.copper[b-ivi3huy888] { background: var(--cx-success, #3F7D5B); }

/* inline action cluster — two groups (contact | focus/hide) split by a hairline divider */
.nfc-row__actions[b-ivi3huy888] { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
.nfc-ib-sep[b-ivi3huy888] {
    width: 1px;
    align-self: stretch;
    margin: 4px 3px;
    background: var(--nfc-hairline);
}
.nfc-ib[b-ivi3huy888] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid var(--nfc-hairline);
    background: #fff;
    display: grid;
    place-items: center;
    font-size: 14px;
    color: var(--walnut, #4A443C);
    cursor: pointer;
    transition: all .15s var(--nfc-ease);
}
.nfc-ib.call:hover[b-ivi3huy888] { color: var(--cx-info, #1F4A82); border-color: var(--cx-info, #1F4A82); }
.nfc-ib.mail:hover[b-ivi3huy888] { color: var(--copper, #B8601F); border-color: var(--copper, #B8601F); }
.nfc-ib.wa[b-ivi3huy888] { color: #1C7C54; }
.nfc-ib.wa:hover[b-ivi3huy888] { border-color: #1C7C54; background: #E7F2EC; }
.nfc-ib.star:hover[b-ivi3huy888] { color: var(--cx-warning, #A97514); border-color: var(--cx-warning, #A97514); }
.nfc-ib.star.on[b-ivi3huy888] { color: var(--copper, #B8601F); border-color: var(--copper, #B8601F); background: var(--copper-50, #FBEFE5); }
.nfc-ib.dismiss:hover[b-ivi3huy888] { color: var(--stone, #8E8679); border-color: var(--stone, #8E8679); }

.nfc-row__chev[b-ivi3huy888] { display: none; color: var(--stone, #8E8679); font-size: 15px; }

/* ── Compact rows (Split mode) ─────────────────────────── */
.is-split .nfc-row__rank[b-ivi3huy888],
.is-split .nfc-row__val-l[b-ivi3huy888],
.is-split .nfc-row__id[b-ivi3huy888],
.is-split .nfc-row__sig[b-ivi3huy888],
.is-split .nfc-row__chance[b-ivi3huy888],
.is-split .nfc-row__actions[b-ivi3huy888] { display: none; }
.is-split .nfc-row[b-ivi3huy888] { gap: 11px; padding: 11px 16px; }
.is-split .nfc-row__cust[b-ivi3huy888] { font-size: 13px; font-weight: 600; }
.is-split .nfc-row__proj[b-ivi3huy888] { font-size: 11px; margin-top: 1px; }
.is-split .nfc-row__val[b-ivi3huy888] { width: auto; text-align: right; }
.is-split .nfc-row__val-n[b-ivi3huy888] { font-size: 12.5px; }
.is-split .nfc-row__dot[b-ivi3huy888] { display: block; }

/* ── Empty state ───────────────────────────────────────── */
.nfc-empty[b-ivi3huy888] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 44px 24px 48px;
    gap: 6px;
}
.nfc-empty__ring[b-ivi3huy888] {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #EAF3EE;
    color: var(--cx-success, #3F7D5B);
    display: grid;
    place-items: center;
    font-size: 28px;
    margin-bottom: 8px;
}
.nfc-empty h4[b-ivi3huy888] {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.02em;
    margin: 0;
    color: var(--ink, #1C1915);
}
.nfc-empty p[b-ivi3huy888] { font-size: 13.5px; color: var(--walnut, #4A443C); margin: 0; max-width: 44ch; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 1100px) {
    .nfc-kpis[b-ivi3huy888] { grid-template-columns: repeat(2, 1fr); }
    .nfc-row__chance[b-ivi3huy888] { display: none; }
    .nfc-row__sig[b-ivi3huy888] { width: 200px; }
}

@media (max-width: 900px) {
    /* Narrow screens fall back to a single natural-scrolling document and show one
       pane at a time — the side-by-side dual-pane / drag-resize only makes sense on
       wide viewports. */
    .nfc[b-ivi3huy888] { height: auto; overflow: visible; display: block; }
    .nfc-split[b-ivi3huy888] { display: block; }
    .nfc-split__list[b-ivi3huy888],
    .nfc-split__work[b-ivi3huy888] { overflow: visible; }
    .nfc-split__list[b-ivi3huy888] { display: block; }
    .nfc-split__list > .nfc-card[b-ivi3huy888] { display: block; }
    .nfc-split__list .nfc-rows[b-ivi3huy888] { overflow: visible; }
    .nfc-split__work[b-ivi3huy888] { flex: none; max-height: none; opacity: 1; margin-left: 0; }
    /* One pane at a time: list in Fokus-Liste, detail in Split. */
    .nfc-split.is-list .nfc-split__work[b-ivi3huy888] { display: none; }
    .nfc-split.is-split .nfc-split__list[b-ivi3huy888] { display: none; }
    .nfc-row__sig[b-ivi3huy888] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .nfc-split__work[b-ivi3huy888] { transition: none; }
    .nfc-split.is-split .nfc-rows[b-ivi3huy888],
    .nfc-split.is-list .nfc-rows[b-ivi3huy888] { animation: none; }
}
/* _content/CraftX.Web/Components/Pages/Scheduler/InventoryManager.razor.rz.scp.css */
/* ========== Layout ========== */
.inventory-management[b-reiin3unb2] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

/* Content area: fill remaining space */
[b-reiin3unb2] .cx-content-section {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

[b-reiin3unb2] .e-grid {
    border: 0;
}

[b-reiin3unb2] .e-gridheader {
    border-bottom: 1px solid var(--cx-hairline-soft);
}

[b-reiin3unb2] .e-headercell {
    background: var(--light-gray);
    color: var(--cx-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 0.55rem 0.65rem;
}

[b-reiin3unb2] .e-rowcell {
    padding: 0.35rem 0.65rem;
    vertical-align: middle;
}

[b-reiin3unb2] .e-gridcontent .e-row:hover {
    background: rgba(184, 96, 31, 0.04);
}

/* ========== Action Buttons ========== */
.action-buttons[b-reiin3unb2] {
    display: flex;
    gap: 3px;
    justify-content: center;
}

.action-buttons[b-reiin3unb2]  .e-small {
    padding: 4px 8px;
    min-width: 30px;
}

/* ========== Form Styles ========== */
.resource-form[b-reiin3unb2] {
    padding: 15px;
    overflow-y: auto;
}

.form-group[b-reiin3unb2] {
    margin-bottom: 12px;
}

.form-row[b-reiin3unb2] {
    display: flex;
    margin-right: -5px;
    margin-left: -5px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.form-row > .form-group[b-reiin3unb2] {
    padding-right: 5px;
    padding-left: 5px;
}

.col-md-6[b-reiin3unb2] {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-md-4[b-reiin3unb2] {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-md-12[b-reiin3unb2] {
    flex: 0 0 100%;
    max-width: 100%;
}

.col-compact[b-reiin3unb2] {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    padding-right: 8px;
    padding-left: 8px;
}

/* Responsive adjustments for smaller dialog sizes */
@media (max-width: 768px) {
    .col-md-4[b-reiin3unb2], .col-compact[b-reiin3unb2] {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-4:last-child[b-reiin3unb2] {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .col-md-6[b-reiin3unb2],
    .col-md-4[b-reiin3unb2],
    .col-compact[b-reiin3unb2] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .resource-form[b-reiin3unb2] {
        padding: 12px;
    }
}

/* Improved spacing for checkboxes */
.form-group[b-reiin3unb2]  .e-checkbox-wrapper {
    margin-top: 8px;
}

/* Compact label spacing */
.form-group label[b-reiin3unb2] {
    margin-bottom: 3px;
    font-size: 0.9rem;
}

.form-label[b-reiin3unb2] {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    font-weight: 500;
    color: var(--cx-text-primary);
}

label[b-reiin3unb2] {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    font-weight: 500;
}

.required[b-reiin3unb2] {
    color: var(--cx-danger);
    font-weight: bold;
}

.field-hint[b-reiin3unb2] {
    font-size: 0.875rem;
    color: var(--cx-text-muted);
    margin-top: 0.25rem;
}

.validation-message[b-reiin3unb2] {
    color: var(--cx-danger);
    font-size: 0.875em;
    margin-top: 0.25rem;
    display: block;
}

.validation-summary[b-reiin3unb2] {
    background-color: var(--danger-50);
    border: 1px solid rgba(154, 59, 51, 0.3);
    border-radius: var(--radius-sm);
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    color: var(--cx-danger);
}

.validation-summary ul[b-reiin3unb2] {
    margin: 0;
    padding-left: 1.5rem;
}

[b-reiin3unb2] .e-error .e-input-group:not(.e-float-icon-left),
[b-reiin3unb2] .e-error .e-input-group.e-float-icon-left .e-input-in-wrap {
    border-color: var(--cx-danger) !important;
}

.button-container[b-reiin3unb2] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
}

.tooltip-trigger[b-reiin3unb2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--cx-text-muted);
    color: white;
    font-size: 11px;
    font-weight: bold;
    margin-left: 6px;
    cursor: help;
    transition: background-color 0.2s ease;
    vertical-align: middle;
}

.tooltip-trigger:hover[b-reiin3unb2] {
    background-color: var(--cx-primary);
}

/* ========== Ordered Items / Delivery Tracking ========== */
.qty-received-container[b-reiin3unb2] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

[b-reiin3unb2] .qty-complete .e-input-group {
    border-color: var(--cx-success) !important;
    background-color: var(--success-50);
}

[b-reiin3unb2] .qty-partial .e-input-group {
    border-color: var(--cx-warning) !important;
    background-color: var(--warning-50);
}

[b-reiin3unb2] .qty-pending .e-input-group {
    border-color: var(--cx-text-muted) !important;
    background-color: var(--light-gray);
}

/* ========== Badge Styles ========== */
.badge[b-reiin3unb2] {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bg-success[b-reiin3unb2] {
    background-color: var(--cx-success) !important;
    color: white;
}

.bg-warning[b-reiin3unb2] {
    background-color: var(--cx-warning) !important;
    color: white;
}

.bg-primary[b-reiin3unb2] {
    background-color: var(--cx-primary) !important;
    color: white;
}

.bg-secondary[b-reiin3unb2] {
    background-color: var(--cx-text-muted) !important;
    color: white;
}

/* ========== Inventory Display ========== */
.inventory-display-text[b-reiin3unb2] {
    line-height: 1.3;
}

.inventory-name[b-reiin3unb2] {
    font-size: 0.95rem;
    margin-bottom: 2px;
}

.inventory-description[b-reiin3unb2] {
    font-size: 0.8rem;
    margin-bottom: 4px;
    max-height: 2.4em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.inventory-meta[b-reiin3unb2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 4px;
}

.inventory-meta .badge[b-reiin3unb2] {
    font-size: 0.65rem;
    padding: 0.2rem 0.4rem;
}

/* ========== Status Badges ========== */
.status-badges-container[b-reiin3unb2] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-start;
}

.status-badge[b-reiin3unb2] {
    font-size: 0.65rem !important;
    padding: 0.25rem 0.5rem !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    border-radius: var(--radius-pill) !important;
    font-weight: 500 !important;
}

/* ========== Order Display ========== */
.order-display-text[b-reiin3unb2] {
    line-height: 1.3;
}

.order-description[b-reiin3unb2] {
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.order-meta[b-reiin3unb2] {
    margin-bottom: 4px;
}

.order-meta i[b-reiin3unb2] {
    width: 12px;
    margin-right: 4px;
}

.order-project[b-reiin3unb2] {
    margin-top: 4px;
}

.order-project .badge[b-reiin3unb2] {
    font-size: 0.65rem;
    padding: 0.2rem 0.4rem;
}

/* ========== Quantity Info ========== */
.quantity-info[b-reiin3unb2] {
    text-align: center;
}

.quantities .badge[b-reiin3unb2] {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
}

/* ========== Details Dialog ========== */
.details-dialog[b-reiin3unb2] {
    padding: 15px;
    line-height: 1.5;
}

.details-dialog .row[b-reiin3unb2] {
    margin-bottom: 1rem;
}

.details-dialog strong[b-reiin3unb2] {
    color: var(--cx-text-primary);
    font-weight: 600;
}

.progress[b-reiin3unb2] {
    border-radius: var(--radius-md);
    overflow: hidden;
}

.progress-bar[b-reiin3unb2] {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
}
/* _content/CraftX.Web/Components/Pages/Scheduler/SchedulerPage.razor.rz.scp.css */
.scheduler-page[b-91x3frcphn] {
    height: calc(100vh - 80px);
    display: flex;
    flex-direction: column;
}

.page-header[b-91x3frcphn] {
    margin-bottom: 1rem;
    flex-shrink: 0;
}

.page-header h2[b-91x3frcphn] {
    margin: 0 0 0.5rem 0;
    font-size: 1.5rem;
    font-weight: 600;
}

.control-panel[b-91x3frcphn] {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.e-plus-icon[b-91x3frcphn]::before {
    content: "\e823";
}

.connection-status[b-91x3frcphn] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: 500;
}

.connection-status.disconnected[b-91x3frcphn] {
    background: var(--danger-50);
    color: var(--cx-danger);
}

.connection-status.reconnecting[b-91x3frcphn] {
    background: var(--warning-50);
    color: var(--cx-warning);
}

.connection-status .e-icons[b-91x3frcphn] {
    font-size: 14px;
}

/* Scheduler Layout */
.scheduler-layout[b-91x3frcphn] {
    flex: 1;
    display: flex;
    gap: 0;
    overflow: hidden;
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--cx-card-border);
}

.scheduler-main-container[b-91x3frcphn] {
    flex: 1;
    position: relative;
    overflow: hidden;
    transition: opacity 0.2s ease;
}

.scheduler-main-container.drag-active[b-91x3frcphn] {
    opacity: 0.95;
}

/* Drop Zone Overlay */
.drop-zone-overlay[b-91x3frcphn] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(184, 96, 31, 0.05);
    border: 2px dashed var(--cx-primary);
    border-radius: var(--radius-sm);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: all;
}

.drop-zone-hint[b-91x3frcphn] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 24px;
    background: var(--cx-card-bg);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    color: var(--cx-primary);
    font-weight: 500;
}

.drop-zone-hint .e-icons[b-91x3frcphn] {
    font-size: 20px;
}

/* Appointment Dialog - Compact layout with minimal SfDialog overhead */
[b-91x3frcphn] .appointment-dialog.e-dialog {
    border-radius: var(--radius-xl);
    overflow: hidden;
}

[b-91x3frcphn] .appointment-dialog .e-dlg-header-content {
    padding: 12px 16px !important;
    min-height: auto !important;
    background: var(--cx-card-bg);
    border-bottom: 1px solid var(--cx-hairline-soft);
}

[b-91x3frcphn] .appointment-dialog .e-dlg-header {
    padding: 0 !important;
    font-size: 16px;
    font-weight: 600;
    color: var(--cx-text-primary);
}

[b-91x3frcphn] .appointment-dialog .e-dlg-content {
    padding: 0 !important;
    overflow: hidden;
}

[b-91x3frcphn] .appointment-dialog .e-footer-content {
    display: none !important;
}

/* Remove close icon default padding */
[b-91x3frcphn] .appointment-dialog .e-btn.e-dlg-closeicon-btn {
    padding: 4px;
    margin: 0;
    width: 28px;
    height: 28px;
    min-width: auto;
}

[b-91x3frcphn] .appointment-dialog .e-btn.e-dlg-closeicon-btn .e-btn-icon {
    font-size: 14px;
}

/* Appointment block separation — prevents same-color consecutive events from merging visually */
[b-91x3frcphn] .e-schedule .e-appointment {
    border-radius: var(--radius-sm) !important;
    border-bottom: 2px solid rgba(255,255,255,0.35) !important;
}

/* Appointment type colors — semantic palette */
.appointment-type-initialconsultation[b-91x3frcphn] {
    background-color: var(--cx-success) !important;
    color: white !important;
}

.appointment-type-siteassessment[b-91x3frcphn] {
    background-color: var(--cx-primary) !important;
    color: white !important;
}

.appointment-type-projectstart[b-91x3frcphn] {
    background-color: var(--cx-info) !important;
    color: white !important;
}

.appointment-type-teammeeting[b-91x3frcphn] {
    background-color: var(--ai) !important;
    color: white !important;
}

.appointment-type-training[b-91x3frcphn] {
    background-color: var(--ai) !important;
    color: white !important;
}

.appointment-type-handover[b-91x3frcphn] {
    background-color: var(--cx-success) !important;
    color: white !important;
}

.appointment-type-warrantyfollow[b-91x3frcphn] {
    background-color: var(--cx-warning) !important;
    color: white !important;
}

.appointment-type-equipmentreservation[b-91x3frcphn] {
    background-color: var(--cx-info) !important;
    color: white !important;
}

.appointment-type-maintenance[b-91x3frcphn] {
    background-color: var(--cx-warning) !important;
    color: white !important;
}

.appointment-type-vacation[b-91x3frcphn] {
    background-color: var(--ai) !important;
    color: white !important;
}

.appointment-type-holiday[b-91x3frcphn] {
    background-color: var(--cx-danger) !important;
    color: white !important;
}

.appointment-type-other[b-91x3frcphn] {
    background-color: var(--cx-text-secondary) !important;
    color: white !important;
}

/* Virtual Leave Block Styles */
[b-91x3frcphn] .e-schedule .e-appointment.virtual-leave-block {
    opacity: 0.8;
    border-style: dashed !important;
    border-width: 2px !important;
    cursor: default;
}

[b-91x3frcphn] .e-schedule .e-appointment.virtual-leave-block .e-appointment-resize {
    display: none;
}

[b-91x3frcphn] .e-schedule .e-appointment.leave-type-annual {
    background-color: var(--cx-info) !important;
    border-color: var(--cx-info) !important;
    color: white !important;
}

[b-91x3frcphn] .e-schedule .e-appointment.leave-type-sick {
    background-color: var(--cx-danger) !important;
    border-color: var(--cx-danger) !important;
    color: white !important;
}

[b-91x3frcphn] .e-schedule .e-appointment.leave-type-special {
    background-color: var(--ai) !important;
    border-color: var(--ai) !important;
    color: white !important;
}

[b-91x3frcphn] .e-schedule .e-appointment.leave-type-parental {
    background-color: var(--cx-success) !important;
    border-color: var(--cx-success) !important;
    color: white !important;
}

[b-91x3frcphn] .e-schedule .e-appointment.leave-type-other {
    background-color: var(--cx-text-secondary) !important;
    border-color: var(--cx-text-secondary) !important;
    color: white !important;
}

/* Anfahrt & Puffer chip inside the event block — dezent, inherits the block's
   light text on the coloured background. Buffer is shown as an annotation only;
   the block height still spans the appointment duration (Syncfusion couples
   height to start/end and clips overflow, so a geometric strip isn't feasible). */
.event-buffer[b-91x3frcphn] {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    opacity: 0.85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-buffer-icon[b-91x3frcphn] {
    flex-shrink: 0;
}

/* Leave QuickInfo styling */
.leave-info-content .leave-badge[b-91x3frcphn] {
    font-weight: 600;
}

.leave-footer-hint[b-91x3frcphn] {
    font-size: 12px;
    color: var(--cx-text-muted);
    font-style: italic;
    padding: 8px 0;
}

/* Date header */
.date-header[b-91x3frcphn] {
    font-weight: 600;
    font-size: 14px;
}

/* Mobile responsive */
@media (max-width: 992px) {
    .scheduler-layout[b-91x3frcphn] {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .scheduler-page[b-91x3frcphn] {
        height: calc(100vh - 60px);
    }

    .control-panel[b-91x3frcphn] {
        gap: 8px;
    }
}
/* _content/CraftX.Web/Components/Pages/Templates/TemplateManager.razor.rz.scp.css */
/* Templates page styles live in wwwroot/css/cx-catalog.css under
   "Templates page (TemplateManager)" — kept global so the dialogs can
   share the same chrome as the list view. This file is intentionally
   empty so Blazor's scoped-CSS bundle does not produce stale rules. */
/* _content/CraftX.Web/Components/Pages/WorkItems/JobManagement.razor.rz.scp.css */
.job-management[b-gdjuf4cgg0] {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: transparent;
    overflow: hidden;
}

/* Header stat styles (inside shared PageHeader's HeaderStats slot) */
.header-stat[b-gdjuf4cgg0] {
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    transition: all 0.2s var(--ease);
}

.header-stat:hover[b-gdjuf4cgg0] {
    background: rgba(255,255,255,0.15);
}

.header-stat strong[b-gdjuf4cgg0] {
    font-weight: var(--fw-semibold);
}

.header-stat-divider[b-gdjuf4cgg0] {
    opacity: 0.4;
}

.highlight-new strong[b-gdjuf4cgg0] { color: var(--warning-50); }
.highlight-progress strong[b-gdjuf4cgg0] { color: var(--copper-100); }
.highlight-hold strong[b-gdjuf4cgg0] { color: var(--danger-50); }
.highlight-questions[b-gdjuf4cgg0] {
    background: var(--cx-primary-soft) !important;
    border-radius: var(--radius-sm);
    animation: pulse-header-b-gdjuf4cgg0 2s ease-in-out infinite;
}
.highlight-questions strong[b-gdjuf4cgg0] { color: var(--copper-100); }
.highlight-questions i[b-gdjuf4cgg0] { margin-right: 0.25rem; }

@keyframes pulse-header-b-gdjuf4cgg0 {
    0%, 100% { background: rgba(184, 96, 31, 0.18); }
    50%      { background: rgba(184, 96, 31, 0.32); }
}

/* ── KPI Strip ──────────────────────────────────────────────────── */
.kpi-strip[b-gdjuf4cgg0] {
    border-bottom: 1px solid var(--cx-hairline-soft);
    padding: 14px 2rem;
    flex-shrink: 0;
}

.kpi-strip-inner[b-gdjuf4cgg0] {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.kpi-card[b-gdjuf4cgg0] {
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: transform 0.15s var(--ease), box-shadow 0.15s var(--ease);
}

.kpi-card:hover[b-gdjuf4cgg0] { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.kpi-card.kpi-active[b-gdjuf4cgg0] { border-color: var(--cx-warning); background: var(--warning-50); }

.kpi-icon[b-gdjuf4cgg0] {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-size: 17px;
    flex-shrink: 0;
}

.kpi-card.kpi-blue   .kpi-icon[b-gdjuf4cgg0] { background: var(--info-50);    color: var(--cx-info); }
.kpi-card.kpi-patina .kpi-icon[b-gdjuf4cgg0] { background: var(--success-50); color: var(--cx-success); }
.kpi-card.kpi-ochre  .kpi-icon[b-gdjuf4cgg0] { background: var(--warning-50); color: var(--cx-warning); }
.kpi-card.kpi-copper .kpi-icon[b-gdjuf4cgg0] { background: var(--copper-50);  color: var(--copper); }

.kpi-icon-skel[b-gdjuf4cgg0] { width: 38px; height: 38px; border-radius: 9px; flex-shrink: 0; }

.kpi-body[b-gdjuf4cgg0] { min-width: 0; flex: 1; }

.kpi-label[b-gdjuf4cgg0] {
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--stone);
    margin-bottom: 2px;
}

.kpi-value[b-gdjuf4cgg0] {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.1;
    color: var(--ink);
}

.kpi-value.kpi-eur[b-gdjuf4cgg0]    { font-size: 17px; }
.kpi-value.kpi-urgent[b-gdjuf4cgg0] { color: var(--cx-warning); }

.kpi-hint[b-gdjuf4cgg0] { font-size: 10.5px; color: var(--stone); margin-top: 1px; }

/* ── Job Table ──────────────────────────────────────────────────── */
.job-table-wrapper[b-gdjuf4cgg0] { overflow-x: auto; }

.job-table[b-gdjuf4cgg0] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
}

.job-table thead th[b-gdjuf4cgg0] {
    padding: 9px 14px;
    text-align: left;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--stone);
    background: var(--paper-2);
    border-bottom: 1px solid var(--cx-hairline);
    white-space: nowrap;
    user-select: none;
    position: sticky;
    top: 0;
    z-index: 1;
}

.job-table thead th.tbl-num[b-gdjuf4cgg0] { text-align: right; }
.job-table thead th.tbl-sort[b-gdjuf4cgg0] { cursor: pointer; }
.job-table thead th.tbl-sort:hover[b-gdjuf4cgg0] { color: var(--copper); }
.job-table thead th.tbl-active[b-gdjuf4cgg0] { color: var(--copper); }
.job-table thead th i[b-gdjuf4cgg0] { font-size: 9px; margin-left: 3px; }

.job-table thead th.col-nr[b-gdjuf4cgg0]      { width: 110px; }
.job-table thead th.col-kunde[b-gdjuf4cgg0]   { width: 160px; }
.job-table thead th.col-phase[b-gdjuf4cgg0]   { width: 125px; }
.job-table thead th.col-prio[b-gdjuf4cgg0]    { width: 95px; }
.job-table thead th.col-bearer[b-gdjuf4cgg0]  { width: 84px; }
.job-table thead th.col-due[b-gdjuf4cgg0]     { width: 88px; }
.job-table thead th.col-brutto[b-gdjuf4cgg0]  { width: 112px; }
.job-table thead th.col-actions[b-gdjuf4cgg0] { width: 44px; }

.job-table-row[b-gdjuf4cgg0] { cursor: pointer; transition: background 0.1s; }
.job-table-row:hover[b-gdjuf4cgg0] { background: var(--copper-50); }

.job-table tbody td[b-gdjuf4cgg0] {
    padding: 9px 14px;
    border-bottom: 1px solid var(--cx-hairline-soft);
    color: var(--ink);
    vertical-align: middle;
}

.job-table tbody tr:last-child td[b-gdjuf4cgg0] { border-bottom: none; }
.job-table tbody td.tbl-num[b-gdjuf4cgg0] { text-align: right; }

.job-table-row.row-overdue[b-gdjuf4cgg0] { border-left: 3px solid var(--cx-danger); }
.job-table-row.row-urgent[b-gdjuf4cgg0]  { border-left: 3px solid var(--cx-warning); }
.job-table-row.row-hold[b-gdjuf4cgg0]    { opacity: 0.6; }

.job-num-mono[b-gdjuf4cgg0] {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 700;
    color: var(--stone);
}

.tbl-question-dot[b-gdjuf4cgg0] {
    margin-left: 5px;
    color: var(--copper);
    font-size: 10px;
}

.betreff-title[b-gdjuf4cgg0] {
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 340px;
}

.betreff-city[b-gdjuf4cgg0] {
    font-size: 11.5px;
    color: var(--stone);
    margin-top: 1px;
}

.betreff-city i[b-gdjuf4cgg0] { font-size: 10px; }

.tbl-muted[b-gdjuf4cgg0] { color: var(--stone); }

.assignee-avatar[b-gdjuf4cgg0] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: white;
    display: inline-grid;
    place-items: center;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0;
}

.tbl-due[b-gdjuf4cgg0] {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--stone);
}

.tbl-due.due-overdue[b-gdjuf4cgg0]  { color: var(--cx-danger);  font-weight: 700; }
.tbl-due.due-today[b-gdjuf4cgg0]    { color: var(--cx-warning);  font-weight: 700; }
.tbl-due.due-tomorrow[b-gdjuf4cgg0] { color: var(--cx-warning); }
.tbl-due.due-soon[b-gdjuf4cgg0]     { color: var(--walnut); }

.tbl-amount[b-gdjuf4cgg0] {
    font-family: var(--font-mono);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ink);
}

/* Toolbar page-specific overrides */
.sort-select[b-gdjuf4cgg0] {
    min-width: 150px;
}

.show-cancelled-toggle[b-gdjuf4cgg0] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.8rem;
    color: var(--cx-text-secondary);
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}

.show-cancelled-toggle input[type="checkbox"][b-gdjuf4cgg0] {
    accent-color: var(--cx-primary);
    cursor: pointer;
}

/* Hinweiszeile zwischen Filtern und Liste: erklärt, was die aktuelle Ansicht nicht zeigt. */
.scope-hint-section[b-gdjuf4cgg0] {
    padding: 0.625rem 2rem 0;
    flex-shrink: 0;
}

.scope-hint[b-gdjuf4cgg0] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0.5rem 0.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--radius-md);
    font-size: 0.8125rem;
    color: var(--cx-text-secondary);
}

.scope-hint i[b-gdjuf4cgg0] {
    color: var(--cx-primary);
}

.scope-hint-warn i[b-gdjuf4cgg0] {
    color: var(--cx-warning, #b8860b);
}

.scope-hint-btn[b-gdjuf4cgg0] {
    margin-left: auto;
    border: 1px solid var(--cx-card-border);
    background: transparent;
    border-radius: var(--radius-md);
    padding: 0.25rem 0.625rem;
    font-size: 0.75rem;
    font-weight: var(--fw-semibold);
    color: var(--cx-primary);
    cursor: pointer;
    transition: all 0.15s var(--ease);
}

.scope-hint-btn:hover[b-gdjuf4cgg0] {
    background: var(--cx-card-bg-hover, var(--light-gray));
}

/* Filter Chips */
.filter-chips-section[b-gdjuf4cgg0] {
    background: transparent;
    padding: 0.625rem 2rem;
    border-bottom: 1px solid var(--cx-hairline-soft);
    flex-shrink: 0;
}

.filter-chips-container[b-gdjuf4cgg0] {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.filter-chip[b-gdjuf4cgg0] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--radius-md);
    font-size: 0.75rem;
    color: var(--cx-text-secondary);
    transition: all 0.15s var(--ease);
}

.chip-label[b-gdjuf4cgg0] {
    color: var(--cx-text-muted);
    font-weight: var(--fw-regular);
}

.chip-value[b-gdjuf4cgg0] {
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
}

.chip-remove[b-gdjuf4cgg0] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: none;
    background: var(--light-gray);
    border-radius: 50%;
    color: var(--cx-text-muted);
    cursor: pointer;
    padding: 0;
    margin-left: 0.125rem;
    transition: all 0.15s var(--ease);
    font-size: 0.7rem;
}

.chip-remove:hover[b-gdjuf4cgg0] {
    background: var(--cx-danger);
    color: white;
}

/* Empty State */
.empty-state[b-gdjuf4cgg0] {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    border: 2px dashed var(--cx-hairline);
}

.empty-icon[b-gdjuf4cgg0] {
    font-size: 3rem;
    color: var(--cx-text-muted);
    margin-bottom: 1rem;
}

.empty-state h3[b-gdjuf4cgg0] {
    color: var(--cx-text-primary);
    margin: 0 0 0.5rem 0;
    font-weight: var(--fw-semibold);
}

.empty-state p[b-gdjuf4cgg0] {
    color: var(--cx-text-muted);
    margin: 0 0 1.5rem 0;
}

.empty-action[b-gdjuf4cgg0] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--radius-md);
    font-weight: var(--fw-medium);
    cursor: pointer;
    transition: all 0.2s var(--ease);
    border: none;
    min-height: 44px;
}

.empty-action.primary[b-gdjuf4cgg0] {
    background: var(--cx-primary);
    color: white;
    box-shadow: var(--shadow-copper);
}

.empty-action.primary:hover[b-gdjuf4cgg0] {
    background: var(--cx-primary-hover);
    box-shadow: var(--shadow-copper-lg);
}

.empty-action.secondary[b-gdjuf4cgg0] {
    background: var(--light-gray);
    color: var(--cx-text-secondary);
}

.empty-action.secondary:hover[b-gdjuf4cgg0] {
    background: var(--sand-2, #E8E2D4);
}

/* Job List */
.job-list[b-gdjuf4cgg0] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.job-card[b-gdjuf4cgg0] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1rem 1.25rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 1rem;
    align-items: center;
    cursor: pointer;
    transition: all 0.15s var(--ease);
    border: 1px solid var(--cx-card-border);
    position: relative;
    box-shadow: var(--shadow-xs);
}

.job-card:hover[b-gdjuf4cgg0] {
    border-color: rgba(184, 96, 31, 0.30);
    box-shadow: var(--shadow-md);
}

.job-card.on-hold[b-gdjuf4cgg0] {
    border-left: 3px solid var(--cx-warning);
    background: linear-gradient(90deg, var(--warning-50) 0%, var(--cx-card-bg) 100px);
}

.job-card.urgent[b-gdjuf4cgg0] {
    border-left: 3px solid var(--cx-danger);
    background: linear-gradient(90deg, var(--danger-50) 0%, var(--cx-card-bg) 100px);
}

.card-badge[b-gdjuf4cgg0] {
    position: absolute;
    top: -8px;
    right: 60px;
    font-size: 0.65rem;
    font-weight: var(--fw-semibold);
    padding: 0.2rem 0.5rem;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.card-badge.hold[b-gdjuf4cgg0] {
    background: var(--warning-50);
    color: var(--cx-warning);
}

.card-badge.urgent[b-gdjuf4cgg0] {
    background: var(--danger-50);
    color: var(--cx-danger);
}

.card-badge.questions[b-gdjuf4cgg0] {
    background: var(--cx-primary-soft);
    color: var(--cx-primary);
    animation: pulse-questions-b-gdjuf4cgg0 2s ease-in-out infinite;
}

@keyframes pulse-questions-b-gdjuf4cgg0 {
    0%, 100% { box-shadow: 0 0 0 0 rgba(184, 96, 31, 0.40); }
    50%      { box-shadow: 0 0 0 4px rgba(184, 96, 31, 0); }
}

.job-card.has-questions[b-gdjuf4cgg0] {
    border-left: 3px solid var(--cx-primary);
    background: linear-gradient(90deg, var(--copper-50) 0%, var(--cx-card-bg) 100px);
}

.card-header[b-gdjuf4cgg0] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.375rem;
}

.job-number[b-gdjuf4cgg0] {
    font-family: var(--font-mono);
    font-size: 0.8rem;
    font-weight: var(--fw-semibold);
    color: var(--cx-primary);
}

.job-status[b-gdjuf4cgg0] {
    font-size: 0.65rem;
    font-weight: var(--fw-semibold);
    padding: 0.2rem 0.6rem;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.status-new[b-gdjuf4cgg0]        { background: color-mix(in srgb, var(--cx-warning) 16%, white); color: var(--cx-warning); }
.status-assessment[b-gdjuf4cgg0] { background: color-mix(in srgb, var(--ai)         14%, white); color: var(--ai); }
.status-quote[b-gdjuf4cgg0]      { background: color-mix(in srgb, var(--ai)         14%, white); color: var(--ai); }
.status-approved[b-gdjuf4cgg0]   { background: color-mix(in srgb, var(--cx-info)    14%, white); color: var(--cx-info); }
.status-progress[b-gdjuf4cgg0]   { background: color-mix(in srgb, var(--copper)     14%, white); color: var(--copper-dark); }
.status-completed[b-gdjuf4cgg0]  { background: color-mix(in srgb, var(--cx-success) 14%, white); color: var(--cx-success); }
.status-invoiced[b-gdjuf4cgg0]   { background: color-mix(in srgb, var(--cx-info)    14%, white); color: var(--cx-info); }
.status-paid[b-gdjuf4cgg0]       { background: color-mix(in srgb, var(--cx-success) 14%, white); color: var(--cx-success); }
.status-hold[b-gdjuf4cgg0]       { background: color-mix(in srgb, var(--cx-warning) 16%, white); color: var(--cx-warning); }
.status-cancelled[b-gdjuf4cgg0]  { background: rgba(28, 25, 21, 0.08); color: var(--cx-text-secondary); }

/* Priority Indicator */
.priority-indicator[b-gdjuf4cgg0] {
    display: inline-flex;
    align-items: center;
    margin-left: 0.25rem;
}

.priority-dot[b-gdjuf4cgg0] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.priority-medium .priority-dot[b-gdjuf4cgg0] {
    background: var(--cx-primary);
}

.priority-high .priority-dot[b-gdjuf4cgg0] {
    background: var(--cx-warning);
}

.priority-urgent .priority-dot[b-gdjuf4cgg0] {
    background: var(--cx-danger);
    animation: pulse-urgent-b-gdjuf4cgg0 1.5s ease-in-out infinite;
}

@keyframes pulse-urgent-b-gdjuf4cgg0 {
    0%, 100% { box-shadow: 0 0 0 0 rgba(154, 59, 51, 0.40); }
    50%      { box-shadow: 0 0 0 4px rgba(154, 59, 51, 0); }
}

.job-title[b-gdjuf4cgg0] {
    font-size: 0.95rem;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
    margin: 0 0 0.375rem 0;
    line-height: 1.3;
}

.job-description-preview[b-gdjuf4cgg0] {
    font-size: 0.8rem;
    color: var(--cx-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 0.375rem 0;
    line-height: 1.3;
}

.job-meta[b-gdjuf4cgg0] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--cx-text-muted);
}

.meta-item[b-gdjuf4cgg0] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.meta-item i[b-gdjuf4cgg0] {
    font-size: 0.75rem;
    opacity: 0.7;
}

/* Mini Stepper */
.card-progress[b-gdjuf4cgg0] {
    min-width: 90px;
}

.mini-stepper[b-gdjuf4cgg0] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.mini-step[b-gdjuf4cgg0] {
    font-size: 0.5rem;
    color: var(--cx-text-muted);
    opacity: 0.5;
}

.mini-step.completed[b-gdjuf4cgg0] {
    color: var(--cx-success);
    opacity: 1;
}

.mini-step.current[b-gdjuf4cgg0] {
    color: var(--cx-primary);
    font-size: 0.625rem;
    opacity: 1;
}

.card-financials[b-gdjuf4cgg0] {
    text-align: right;
    min-width: 100px;
}

.card-financials .amount[b-gdjuf4cgg0] {
    font-size: 1rem;
    font-weight: var(--fw-bold);
    color: var(--cx-success);
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
}

.card-financials .amount-empty[b-gdjuf4cgg0] {
    font-size: 1rem;
    font-weight: var(--fw-regular);
    color: var(--cx-text-muted);
}

.card-financials .created[b-gdjuf4cgg0] {
    font-size: 0.75rem;
    color: var(--cx-text-muted);
    margin-top: 0.125rem;
}

.card-actions[b-gdjuf4cgg0] {
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Native Action Dropdown */
.action-dropdown[b-gdjuf4cgg0] {
    position: relative;
}

.action-btn[b-gdjuf4cgg0] {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--cx-card-border);
    border-radius: var(--radius-md);
    color: var(--cx-text-secondary);
    cursor: pointer;
    transition: all 0.15s var(--ease);
}

.action-btn:hover[b-gdjuf4cgg0] {
    background: rgba(28, 25, 21, 0.04);
    border-color: var(--cx-text-muted);
    color: var(--cx-text-primary);
}

.action-btn:active[b-gdjuf4cgg0] {
    background: rgba(28, 25, 21, 0.06);
}

.action-btn i[b-gdjuf4cgg0] {
    font-size: 1rem;
}

.action-menu[b-gdjuf4cgg0] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 4px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-card-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    min-width: 160px;
    z-index: 1000;
    overflow: hidden;
    animation: fadeIn-b-gdjuf4cgg0 0.15s var(--ease);
}

@keyframes fadeIn-b-gdjuf4cgg0 {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.action-item[b-gdjuf4cgg0] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    width: 100%;
    padding: 0.625rem 1rem;
    background: none;
    border: none;
    color: var(--cx-text-primary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: background-color 0.15s var(--ease);
    text-align: left;
}

.action-item:hover[b-gdjuf4cgg0] {
    background: var(--light-gray);
}

.action-item i[b-gdjuf4cgg0] {
    font-size: 0.875rem;
    color: var(--cx-text-secondary);
    width: 18px;
    text-align: center;
}

.action-separator[b-gdjuf4cgg0] {
    height: 1px;
    background: var(--cx-hairline);
    margin: 0.25rem 0;
}

/* Grid View */
.job-grid[b-gdjuf4cgg0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.job-tile[b-gdjuf4cgg0] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1.125rem;
    cursor: pointer;
    transition: all 0.15s var(--ease);
    border: 1px solid var(--cx-card-border);
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: var(--shadow-xs);
}

.job-tile:hover[b-gdjuf4cgg0] {
    border-color: rgba(184, 96, 31, 0.30);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.job-tile.on-hold[b-gdjuf4cgg0] {
    border-top: 3px solid var(--cx-warning);
}

.job-tile.urgent[b-gdjuf4cgg0] {
    border-top: 3px solid var(--cx-danger);
}

.tile-header[b-gdjuf4cgg0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.tile-badge[b-gdjuf4cgg0] {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    font-size: 0.6rem;
    font-weight: var(--fw-semibold);
    padding: 0.15rem 0.4rem;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    gap: 0.2rem;
}

.tile-badge.hold[b-gdjuf4cgg0] {
    background: var(--warning-50);
    color: var(--cx-warning);
}

.tile-badge.questions[b-gdjuf4cgg0] {
    background: var(--cx-primary-soft);
    color: var(--cx-primary);
    animation: pulse-questions-b-gdjuf4cgg0 2s ease-in-out infinite;
}

.tile-badge.urgent[b-gdjuf4cgg0] {
    background: var(--danger-50);
    color: var(--cx-danger);
}

.job-tile.has-questions[b-gdjuf4cgg0] {
    border-top: 3px solid var(--cx-primary);
}

.job-tile .job-title[b-gdjuf4cgg0] {
    font-size: 0.9rem;
    margin: 0 0 0.5rem 0;
}

.job-tile .job-customer[b-gdjuf4cgg0] {
    color: var(--cx-text-muted);
    font-size: 0.8rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.job-tile .job-employee[b-gdjuf4cgg0] {
    color: var(--cx-text-muted);
    font-size: 0.75rem;
    margin: 0.25rem 0 0 0;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.tile-progress[b-gdjuf4cgg0] {
    display: flex;
    gap: 4px;
    margin: 0.75rem 0;
}

.progress-dot[b-gdjuf4cgg0] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cx-hairline);
}

.progress-dot.completed[b-gdjuf4cgg0] {
    background: var(--cx-success);
}

.progress-dot.current[b-gdjuf4cgg0] {
    background: var(--cx-primary);
    box-shadow: 0 0 0 2px rgba(184, 96, 31, 0.25);
}

.tile-footer[b-gdjuf4cgg0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--cx-hairline-soft);
}

.tile-footer .amount[b-gdjuf4cgg0] {
    font-weight: var(--fw-bold);
    color: var(--cx-success);
    font-variant-numeric: tabular-nums;
    font-family: var(--font-mono);
}

.tile-footer .amount-empty[b-gdjuf4cgg0] {
    font-weight: var(--fw-regular);
    color: var(--cx-text-muted);
}

.type-badge[b-gdjuf4cgg0] {
    font-size: 0.65rem;
    padding: 0.2rem 0.5rem;
    background: var(--light-gray);
    border-radius: var(--radius-sm);
    color: var(--cx-text-muted);
}

/* Results Footer */
.results-footer[b-gdjuf4cgg0] {
    text-align: center;
    padding: 1rem;
    color: var(--cx-text-muted);
    font-size: 0.8rem;
}

/* Responsive — page-specific (pipeline, cards) */
@media (max-width: 1200px) {
    .pipeline-step[b-gdjuf4cgg0] {
        flex-direction: column;
        text-align: center;
        padding: 0.375rem;
        gap: 0.25rem;
    }

    .step-info[b-gdjuf4cgg0] {
        align-items: center;
    }

    .step-connector[b-gdjuf4cgg0] {
        display: none;
    }
}

@media (max-width: 992px) {
    .pipeline-section[b-gdjuf4cgg0], .filter-chips-section[b-gdjuf4cgg0], .scope-hint-section[b-gdjuf4cgg0] {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .pipeline-stats[b-gdjuf4cgg0] {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .pipeline-step[b-gdjuf4cgg0] {
        flex: 0 0 calc(33.333% - 0.5rem);
    }

    .job-card[b-gdjuf4cgg0] {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .card-progress[b-gdjuf4cgg0] {
        order: 2;
    }

    .card-financials[b-gdjuf4cgg0] {
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
        order: 3;
    }

    .card-actions[b-gdjuf4cgg0] {
        position: absolute;
        top: 0.625rem;
        right: 0.625rem;
    }

    .card-badge[b-gdjuf4cgg0] {
        right: 56px;
    }
}

@media (max-width: 768px) {
    [b-gdjuf4cgg0] .cx-header-stats {
        flex-wrap: wrap;
    }

    .pipeline-step[b-gdjuf4cgg0] {
        flex: 0 0 calc(50% - 0.5rem);
    }

    .filter-chips-container[b-gdjuf4cgg0] {
        gap: 0.375rem;
    }
}

@media (max-width: 640px) {
    .pipeline-section[b-gdjuf4cgg0],
    .filter-chips-section[b-gdjuf4cgg0] {
        padding: 12px 16px;
    }

    .pipeline-stats[b-gdjuf4cgg0] {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }

    .job-grid[b-gdjuf4cgg0] {
        grid-template-columns: 1fr;
    }

    .job-card[b-gdjuf4cgg0] {
        padding: 0.875rem 1rem;
    }

    .empty-state[b-gdjuf4cgg0] {
        padding: 2.5rem 1rem;
    }
}

/* Focus states for keyboard accessibility */
.header-stat:focus-visible[b-gdjuf4cgg0],
.pipeline-step:focus-visible[b-gdjuf4cgg0],
.action-btn:focus-visible[b-gdjuf4cgg0],
.chip-remove:focus-visible[b-gdjuf4cgg0],
.empty-action:focus-visible[b-gdjuf4cgg0],
.job-card:focus-visible[b-gdjuf4cgg0],
.job-tile:focus-visible[b-gdjuf4cgg0] {
    outline: 2px solid var(--cx-primary);
    outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .highlight-questions[b-gdjuf4cgg0],
    .card-badge.questions[b-gdjuf4cgg0],
    .tile-badge.questions[b-gdjuf4cgg0],
    .priority-urgent .priority-dot[b-gdjuf4cgg0] {
        animation: none;
    }

    .job-card[b-gdjuf4cgg0],
    .job-tile[b-gdjuf4cgg0],
    .pipeline-step[b-gdjuf4cgg0],
    .header-stat[b-gdjuf4cgg0],
    .action-btn[b-gdjuf4cgg0],
    .filter-chip[b-gdjuf4cgg0],
    .chip-remove[b-gdjuf4cgg0] {
        transition: none;
    }
}

.skeleton-job-card[b-gdjuf4cgg0] {
    background: var(--cx-card-bg);
    border-radius: var(--radius-xl);
    padding: 1rem 1.25rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: 1rem;
    align-items: center;
    border: 1px solid var(--cx-card-border);
    margin-bottom: 0.625rem;
}

/* Page-scoped overrides for shared chrome classes that ship with blue defaults
   in app.css. Token-swap to copper for the JobManagement page. */
[b-gdjuf4cgg0] .cx-header-actions .cx-header-btn {
    background: var(--cx-primary);
}

[b-gdjuf4cgg0] .cx-header-actions .cx-header-btn:hover {
    background: var(--cx-primary-hover);
}

[b-gdjuf4cgg0] .cx-view-btn.active,
[b-gdjuf4cgg0] .cx-view-btn.active:hover {
    background: var(--cx-primary);
    color: white;
}

/* ── Overdue state ─────────────────────────────────────────────────────── */

.job-card.is-overdue[b-gdjuf4cgg0] {
    border-left: 3px solid var(--cx-danger);
    background: linear-gradient(90deg, color-mix(in srgb, var(--cx-danger) 8%, var(--cx-card-bg)) 0%, var(--cx-card-bg) 120px);
}

.job-tile.is-overdue[b-gdjuf4cgg0] {
    border-top: 3px solid var(--cx-danger);
}

.card-badge.overdue[b-gdjuf4cgg0] {
    background: color-mix(in srgb, var(--cx-danger) 14%, white);
    color: var(--cx-danger);
    animation: pulse-overdue-b-gdjuf4cgg0 2s ease-in-out infinite;
}

.tile-badge.overdue[b-gdjuf4cgg0] {
    background: color-mix(in srgb, var(--cx-danger) 14%, white);
    color: var(--cx-danger);
}

@keyframes pulse-overdue-b-gdjuf4cgg0 {
    0%, 100% { box-shadow: 0 0 0 0 rgba(154, 59, 51, 0.35); }
    50%      { box-shadow: 0 0 0 4px rgba(154, 59, 51, 0); }
}

/* Due date in card financials */
.card-financials .due-date[b-gdjuf4cgg0] {
    font-size: 0.72rem;
    margin-top: 0.125rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem;
    font-weight: var(--fw-medium);
}

.card-financials .due-overdue[b-gdjuf4cgg0]  { color: var(--cx-danger); font-weight: var(--fw-semibold); }
.card-financials .due-today[b-gdjuf4cgg0]    { color: var(--cx-warning); font-weight: var(--fw-semibold); }
.card-financials .due-tomorrow[b-gdjuf4cgg0] { color: var(--cx-warning); }
.card-financials .due-soon[b-gdjuf4cgg0]     { color: var(--cx-primary); }
.card-financials .due-future[b-gdjuf4cgg0]   { color: var(--cx-text-muted); }

/* Due date in grid tile */
.tile-due[b-gdjuf4cgg0] {
    font-size: 0.72rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0.25rem 0 0 0;
    font-weight: var(--fw-medium);
}

.tile-due.due-overdue[b-gdjuf4cgg0]  { color: var(--cx-danger); font-weight: var(--fw-semibold); }
.tile-due.due-today[b-gdjuf4cgg0]    { color: var(--cx-warning); font-weight: var(--fw-semibold); }
.tile-due.due-tomorrow[b-gdjuf4cgg0] { color: var(--cx-warning); }
.tile-due.due-soon[b-gdjuf4cgg0]     { color: var(--cx-primary); }
.tile-due.due-future[b-gdjuf4cgg0]   { color: var(--cx-text-muted); }

/* Overdue header stat (sits on dark header background) */
.highlight-overdue[b-gdjuf4cgg0] {
    background: rgba(154, 59, 51, 0.18) !important;
    border-radius: var(--radius-sm);
    animation: pulse-overdue-header-b-gdjuf4cgg0 2.5s ease-in-out infinite;
}

.highlight-overdue strong[b-gdjuf4cgg0] { color: var(--danger-50, #F4B7B7); }
.highlight-overdue i[b-gdjuf4cgg0] { margin-right: 0.25rem; color: var(--danger-50, #F4B7B7); }

@keyframes pulse-overdue-header-b-gdjuf4cgg0 {
    0%, 100% { background: rgba(154, 59, 51, 0.18); }
    50%      { background: rgba(154, 59, 51, 0.30); }
}

@media (prefers-reduced-motion: reduce) {
    .card-badge.overdue[b-gdjuf4cgg0],
    .highlight-overdue[b-gdjuf4cgg0] { animation: none; }
}
/* _content/CraftX.Web/Components/Shared/AI/AIActionCard.razor.rz.scp.css */
.ai-action-card[b-ylpr6g8z0f] {
    background: white;
    border-radius: 12px;
    padding: 12px;
    margin-top: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-left: 4px solid var(--ai);
}

.ai-action-card.accepted[b-ylpr6g8z0f] {
    border-left-color: var(--cx-success);
    opacity: 0.8;
}

.ai-action-card.rejected[b-ylpr6g8z0f] {
    border-left-color: var(--cx-danger);
    opacity: 0.7;
}

.ai-action-card.expired[b-ylpr6g8z0f] {
    border-left-color: var(--cx-warning);
    opacity: 0.7;
}

.action-header[b-ylpr6g8z0f] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.action-icon[b-ylpr6g8z0f] {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--ai) 0%, var(--ai) 100%);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.action-info[b-ylpr6g8z0f] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.action-title[b-ylpr6g8z0f] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--ink);
}

.action-type[b-ylpr6g8z0f] {
    font-size: 0.7rem;
    color: var(--cx-text-muted);
}

.action-badge[b-ylpr6g8z0f] {
    font-size: 0.65rem;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 10px;
}

.action-badge.pending[b-ylpr6g8z0f] {
    background-color: rgba(31,74,130,0.12);
    color: var(--cx-primary);
}

.action-badge.accepted[b-ylpr6g8z0f] {
    background-color: rgba(63,125,91,0.15);
    color: var(--cx-success);
}

.action-badge.rejected[b-ylpr6g8z0f] {
    background-color: rgba(154,59,51,0.15);
    color: var(--cx-danger);
}

.action-badge.expired[b-ylpr6g8z0f] {
    background-color: rgba(169,117,20,0.15);
    color: var(--cx-warning);
}

.action-description[b-ylpr6g8z0f] {
    margin-top: 8px;
    font-size: 0.8rem;
    color: var(--ink-2);
}

.preview-fields[b-ylpr6g8z0f] {
    margin-top: 10px;
    padding: 8px;
    background-color: var(--paper-2);
    border-radius: 8px;
}

.preview-field[b-ylpr6g8z0f] {
    display: flex;
    font-size: 0.75rem;
    margin-bottom: 4px;
}

.preview-field:last-child[b-ylpr6g8z0f] {
    margin-bottom: 0;
}

.field-label[b-ylpr6g8z0f] {
    color: var(--cx-text-muted);
    width: 80px;
    flex-shrink: 0;
}

.field-value[b-ylpr6g8z0f] {
    color: var(--ink);
    font-weight: 500;
}

/* Diff container styles */
.diff-container[b-ylpr6g8z0f] {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.diff-item[b-ylpr6g8z0f] {
    padding: 8px;
    border-radius: 8px;
    border: 1px solid var(--cx-hairline);
    background: var(--paper-2);
}

.diff-item.diff-modified[b-ylpr6g8z0f] {
    border-left: 3px solid var(--cx-primary);
}

.diff-item.diff-added[b-ylpr6g8z0f] {
    border-left: 3px solid var(--cx-success);
    background: rgba(63,125,91,0.06);
}

.diff-item.diff-hidden[b-ylpr6g8z0f] {
    border-left: 3px solid var(--cx-danger);
    background: rgba(154,59,51,0.06);
}

.diff-item.diff-removed[b-ylpr6g8z0f] {
    border-left: 3px solid var(--cx-danger);
    background: rgba(154,59,51,0.06);
}

.diff-item-header[b-ylpr6g8z0f] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    font-size: 0.78rem;
    font-weight: 600;
}

.diff-item-icon[b-ylpr6g8z0f] {
    font-size: 0.85rem;
}

.diff-item-title[b-ylpr6g8z0f] {
    flex: 1;
    color: var(--ink);
}

.diff-item-badge[b-ylpr6g8z0f] {
    font-size: 0.6rem;
    font-weight: 500;
    padding: 1px 6px;
    border-radius: 8px;
}

.diff-item-badge.badge-modified[b-ylpr6g8z0f] {
    background: rgba(31,74,130,0.12);
    color: var(--cx-primary);
}

.diff-item-badge.badge-added[b-ylpr6g8z0f] {
    background: rgba(63,125,91,0.15);
    color: var(--cx-success);
}

.diff-item-badge.badge-hidden[b-ylpr6g8z0f] {
    background: rgba(154,59,51,0.15);
    color: var(--cx-danger);
}

.diff-item-badge.badge-removed[b-ylpr6g8z0f] {
    background: rgba(154,59,51,0.15);
    color: var(--cx-danger);
}

.diff-field[b-ylpr6g8z0f] {
    display: flex;
    font-size: 0.72rem;
    margin-bottom: 2px;
    padding: 1px 0;
}

.diff-field-label[b-ylpr6g8z0f] {
    color: var(--cx-text-muted);
    width: 100px;
    flex-shrink: 0;
}

.diff-field-value[b-ylpr6g8z0f] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.diff-old[b-ylpr6g8z0f] {
    color: var(--cx-danger);
    text-decoration: line-through;
}

.diff-arrow[b-ylpr6g8z0f] {
    color: var(--cx-text-muted);
    font-size: 0.7rem;
}

.diff-new[b-ylpr6g8z0f] {
    color: var(--cx-success);
    font-weight: 600;
}

.diff-unchanged[b-ylpr6g8z0f] {
    color: var(--cx-text-muted);
}

.diff-hint[b-ylpr6g8z0f] {
    font-size: 0.65rem;
    color: var(--cx-text-muted);
    font-style: italic;
    margin-top: 2px;
}

.diff-impact[b-ylpr6g8z0f] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-top: 4px;
}

.diff-impact.impact-positive[b-ylpr6g8z0f] {
    background: rgba(63,125,91,0.15);
    color: var(--cx-success);
}

.diff-impact.impact-negative[b-ylpr6g8z0f] {
    background: rgba(154,59,51,0.15);
    color: var(--cx-danger);
}

.diff-impact.impact-neutral[b-ylpr6g8z0f] {
    background: var(--paper-2);
    color: var(--cx-text-muted);
}

.action-buttons[b-ylpr6g8z0f] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.btn-accept[b-ylpr6g8z0f], .btn-reject[b-ylpr6g8z0f] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}

.btn-accept[b-ylpr6g8z0f] {
    background: linear-gradient(135deg, var(--cx-success) 0%, var(--cx-success) 100%);
    color: white;
}

.btn-accept:hover:not(:disabled)[b-ylpr6g8z0f] {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(34, 197, 94, 0.4);
}

.btn-reject[b-ylpr6g8z0f] {
    background-color: var(--paper-2);
    color: var(--cx-text-muted);
}

.btn-reject:hover:not(:disabled)[b-ylpr6g8z0f] {
    background-color: var(--cx-hairline);
    color: var(--ink-2);
}

.btn-accept:disabled[b-ylpr6g8z0f], .btn-reject:disabled[b-ylpr6g8z0f] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-navigate[b-ylpr6g8z0f] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    border: none;
    background: linear-gradient(135deg, var(--ai) 0%, var(--ai) 100%);
    color: white;
}

.btn-navigate:hover[b-ylpr6g8z0f] {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(99, 102, 241, 0.4);
}

.continuation-hint[b-ylpr6g8z0f] {
    margin-top: 6px;
    padding: 4px 8px;
    color: var(--ai);
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    gap: 4px;
    opacity: 0.8;
}

.error-message[b-ylpr6g8z0f] {
    margin-top: 8px;
    padding: 8px;
    background-color: rgba(154,59,51,0.15);
    color: var(--cx-danger);
    border-radius: 6px;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.success-message[b-ylpr6g8z0f] {
    margin-top: 8px;
    padding: 8px;
    background-color: rgba(63,125,91,0.15);
    color: var(--cx-success);
    border-radius: 6px;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.content-preview[b-ylpr6g8z0f] {
    margin-top: 8px;
    padding: 8px;
    background-color: var(--paper-2);
    border-radius: 8px;
    border: 1px solid var(--cx-hairline);
}

.content-preview-label[b-ylpr6g8z0f] {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--cx-text-muted);
    margin-bottom: 4px;
}

.content-preview-text[b-ylpr6g8z0f] {
    font-size: 0.75rem;
    color: var(--ink-2);
    line-height: 1.4;
    max-height: 120px;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.action-info-text[b-ylpr6g8z0f] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 10px;
    background-color: var(--paper-2);
    border-radius: 8px;
    font-size: 0.72rem;
    color: var(--cx-text-muted);
}

/* _content/CraftX.Web/Components/Shared/BlockingActionDialog.razor.rz.scp.css */
/* Modern, professional design system for BlockingActionDialog */

/* Define design tokens/CSS variables for consistency */
:root[b-2v5bkuszao] {
    --dialog-border-radius: 16px;
    --dialog-bg: #ffffff;
    --dialog-overlay-bg: rgba(15, 23, 42, 0.5);
    --dialog-overlay-bg-blur: rgba(15, 23, 42, 0.3);
    
    /* Typography palette */
    --dialog-header-text: var(--cx-text-primary); /* Slate 900 */
    --dialog-body-text: var(--cx-text-secondary); /* Slate 600 */
    --dialog-subtle-text: var(--cx-text-secondary); /* Slate 500 */
    
    /* Borders and dividers */
    --dialog-border-color: rgba(0, 0, 0, 0.06);
    --dialog-divider-color: var(--paper-2); /* Slate 100 */
    
    /* Warning/Alert colors */
    --warning-bg: rgba(169,117,20,0.15); /* Amber 100 */
    --warning-border: rgba(169,117,20,0.20); /* Amber 200 */
    --warning-text: var(--cx-warning); /* Amber 900 */
    --warning-icon: var(--cx-warning); /* Amber 500 */
    
    /* Footer */
    --dialog-footer-bg: var(--paper-2); /* Slate 50 */
    
    /* Spacing scale */
    --dialog-spacing-xs: 0.5rem;
    --dialog-spacing-sm: 0.75rem;
    --dialog-spacing-md: 1rem;
    --dialog-spacing-lg: 1.5rem;
    --dialog-spacing-xl: 2rem;
}

/* Modern layered shadow and backdrop effect */
[b-2v5bkuszao] .blocking-action-dialog.e-dialog-container {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--dialog-overlay-bg);
}

/* Add backdrop blur support with fallback */
@supports (backdrop-filter: blur(8px)) {
    [b-2v5bkuszao] .blocking-action-dialog.e-dialog-container {
        background-color: var(--dialog-overlay-bg-blur);
        backdrop-filter: blur(8px);
    }
}

/* Dialog container with modern shadow */
[b-2v5bkuszao] .blocking-action-dialog .e-dialog {
    width: 90vw;
    max-width: 560px;
    background: var(--dialog-bg);
    border-radius: var(--dialog-border-radius);
    border: 1px solid var(--dialog-border-color);
    box-shadow: 
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04),
        0 0 0 1px rgba(0, 0, 0, 0.03);
    overflow: hidden;
}

/* Clean header design */
[b-2v5bkuszao] .blocking-action-dialog .e-dlg-header {
    background: var(--dialog-bg);
    color: var(--dialog-header-text);
    padding: var(--dialog-spacing-lg);
    padding-bottom: var(--dialog-spacing-md);
    border-bottom: 1px solid var(--dialog-divider-color);
}

/* Header content styling */
.dialog-header[b-2v5bkuszao] {
    display: flex;
    align-items: center;
    font-size: 1.125rem; /* 18px */
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.3;
}

/* Dynamic icon coloring based on severity */
.dialog-header .e-icons[b-2v5bkuszao] {
    font-size: 1.375rem; /* 22px */
    margin-right: var(--dialog-spacing-sm);
    color: var(--warning-icon);
    flex-shrink: 0;
}

/* Content area with improved spacing */
.dialog-content[b-2v5bkuszao] {
    padding: var(--dialog-spacing-lg);
    padding-bottom: var(--dialog-spacing-xl);
    color: var(--dialog-body-text);
    font-size: 0.875rem; /* 14px */
    line-height: 1.6;
}

/* Content sections with variable spacing */
.headline[b-2v5bkuszao] {
    font-size: 1rem; /* 16px */
    font-weight: 600;
    color: var(--dialog-header-text);
    line-height: 1.4;
    margin-bottom: var(--dialog-spacing-sm);
}

.explanation[b-2v5bkuszao] {
    color: var(--dialog-body-text);
    margin-bottom: var(--dialog-spacing-md);
}

/* Modern warning/info box design */
.missing-fields[b-2v5bkuszao] {
    background: var(--warning-bg);
    border: 1px solid var(--warning-border);
    border-radius: 12px;
    padding: var(--dialog-spacing-md) var(--dialog-spacing-lg);
    margin: var(--dialog-spacing-md) 0;
}

.missing-fields-list[b-2v5bkuszao] {
    margin: 0;
    padding-left: 1.25rem;
    color: var(--warning-text);
    font-weight: 500;
    max-height: 150px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--warning-border) transparent;
}

/* Custom scrollbar for webkit browsers */
.missing-fields-list[b-2v5bkuszao]::-webkit-scrollbar {
    width: 6px;
}

.missing-fields-list[b-2v5bkuszao]::-webkit-scrollbar-track {
    background: transparent;
}

.missing-fields-list[b-2v5bkuszao]::-webkit-scrollbar-thumb {
    background-color: var(--warning-border);
    border-radius: 3px;
}

.missing-fields-list li[b-2v5bkuszao] {
    margin-bottom: var(--dialog-spacing-xs);
    line-height: 1.5;
}

.missing-fields-list li:last-child[b-2v5bkuszao] {
    margin-bottom: 0;
}

/* Call to action styling */
.call-to-action[b-2v5bkuszao] {
    color: var(--dialog-subtle-text);
    font-size: 0.8125rem; /* 13px */
    margin-top: var(--dialog-spacing-lg);
}

/* Footer with subtle background */
.dialog-footer[b-2v5bkuszao] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--dialog-spacing-md);
    padding: var(--dialog-spacing-md) var(--dialog-spacing-lg);
    background-color: var(--dialog-footer-bg);
    border-top: 1px solid var(--dialog-divider-color);
}

/* Button hover states for better UX */
.dialog-footer .e-btn[b-2v5bkuszao] {
    font-weight: 500;
    transition: all 200ms ease;
}

.dialog-footer .e-btn.e-flat:hover[b-2v5bkuszao] {
    background-color: rgba(0, 0, 0, 0.04);
}

.dialog-footer .e-btn.e-primary[b-2v5bkuszao] {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.dialog-footer .e-btn.e-primary:hover[b-2v5bkuszao] {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

/* Icons in buttons */
.dialog-footer .e-btn .e-icons[b-2v5bkuszao] {
    font-size: 1rem;
    vertical-align: middle;
}


/* Responsive adjustments */
@media (max-width: 640px) {
    [b-2v5bkuszao] .blocking-action-dialog .e-dialog {
        width: 95vw;
        margin: 1rem;
    }
    
    .dialog-content[b-2v5bkuszao] {
        padding: var(--dialog-spacing-md);
        padding-bottom: var(--dialog-spacing-lg);
    }
    
    .dialog-footer[b-2v5bkuszao] {
        padding: var(--dialog-spacing-sm) var(--dialog-spacing-md);
        flex-direction: column-reverse;
        gap: var(--dialog-spacing-xs);
    }
    
    .dialog-footer .e-btn[b-2v5bkuszao] {
        width: 100%;
    }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
    :root[b-2v5bkuszao] {
        --dialog-bg: var(--cx-text-primary);
        --dialog-overlay-bg: rgba(0, 0, 0, 0.7);
        --dialog-overlay-bg-blur: rgba(0, 0, 0, 0.5);
        --dialog-header-text: var(--paper-2);
        --dialog-body-text: var(--cx-border);
        --dialog-subtle-text: var(--cx-text-muted);
        --dialog-border-color: rgba(255, 255, 255, 0.1);
        --dialog-divider-color: var(--cx-text-primary);
        --dialog-footer-bg: var(--cx-text-primary);
        --warning-bg: #451a03;
        --warning-border: #7c2d12;
        --warning-text: #fed7aa;
    }
    
    .dialog-footer .e-btn.e-flat:hover[b-2v5bkuszao] {
        background-color: rgba(255, 255, 255, 0.08);
    }
}
/* _content/CraftX.Web/Components/Shared/BobVoice/BobVoiceBubble.razor.rz.scp.css */
/* Bob's voice message in the web chat. Class names of the player are shared with wwwroot/js/whatsapp-voice.js;
   the script adds .is-played to bars and .is-loading to the card. */
.bob-voice[b-kun3hh7atu] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    /* A definite width: the chat bubbles shrink to their content, and the bars have none of their own. */
    width: 270px;
    max-width: 100%;
    white-space: normal;
}

.wa-voice[b-kun3hh7atu] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
}

.wa-voice-play[b-kun3hh7atu] {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--cx-primary);
    color: #fff;
    font-size: 1.15rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s, opacity 0.15s;
}

.wa-voice-play:hover:not(:disabled)[b-kun3hh7atu] {
    background: var(--cx-primary-hover, var(--cx-primary));
}

.wa-voice-play:active:not(:disabled)[b-kun3hh7atu] {
    transform: scale(0.94);
}

.wa-voice-play:focus-visible[b-kun3hh7atu],
.bob-voice-wave:focus-visible[b-kun3hh7atu],
.bob-voice-toggle:focus-visible[b-kun3hh7atu],
.bob-voice-retry:focus-visible[b-kun3hh7atu] {
    outline: 2px solid var(--cx-primary);
    outline-offset: 2px;
}

.wa-voice-play .bi-play-fill[b-kun3hh7atu] {
    margin-left: 2px;
}

.wa-voice-play:disabled[b-kun3hh7atu] {
    cursor: not-allowed;
    opacity: 0.45;
}

.wa-voice.is-loading .wa-voice-play[b-kun3hh7atu] {
    cursor: progress;
    animation: bob-voice-pulse-b-kun3hh7atu 1s ease-in-out infinite;
}

/* The waveform: bars scaled to the loudest, the played part in the primary colour. */
.bob-voice-wave[b-kun3hh7atu] {
    flex: 1 1 auto;
    min-width: 0;
    height: 28px;
    display: flex;
    align-items: center;
    gap: 2px;
    cursor: pointer;
    border-radius: 4px;
}

.wa-voice-bar[b-kun3hh7atu] {
    flex: 1 1 0;
    min-width: 2px;
    max-width: 3px;
    border-radius: 2px;
    background: var(--cx-text-muted);
    opacity: 0.45;
    transition: background-color 0.12s, opacity 0.12s;
}

.wa-voice-bar.is-played[b-kun3hh7atu] {
    background: var(--cx-primary);
    opacity: 1;
}

.is-unavailable .bob-voice-wave[b-kun3hh7atu] {
    cursor: default;
}

.wa-voice-time[b-kun3hh7atu] {
    flex: 0 0 auto;
    min-width: 32px;
    text-align: right;
    font-size: 0.75rem;
    color: var(--cx-text-secondary);
    font-variant-numeric: tabular-nums;
}

.wa-voice-audio[b-kun3hh7atu] {
    display: none;
}

.bob-voice-note[b-kun3hh7atu] {
    font-size: 0.75rem;
    color: var(--cx-text-secondary);
}

.bob-voice-error[b-kun3hh7atu] {
    color: var(--cx-danger, #c0392b);
}

/* „Transkribiere …“ with three pulsing dots. */
.bob-voice-status[b-kun3hh7atu] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    font-style: italic;
    color: var(--cx-text-secondary);
}

.bob-voice-status.is-failed[b-kun3hh7atu] {
    font-style: normal;
}

.bob-voice-dots[b-kun3hh7atu] {
    display: inline-flex;
    gap: 3px;
}

.bob-voice-dots i[b-kun3hh7atu] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cx-text-secondary);
    animation: bob-voice-dot-b-kun3hh7atu 1.2s ease-in-out infinite;
}

.bob-voice-dots i:nth-child(2)[b-kun3hh7atu] {
    animation-delay: 0.2s;
}

.bob-voice-dots i:nth-child(3)[b-kun3hh7atu] {
    animation-delay: 0.4s;
}

.bob-voice-toggle[b-kun3hh7atu],
.bob-voice-retry[b-kun3hh7atu] {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0;
    border: 0;
    background: none;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--cx-primary);
    cursor: pointer;
}

.bob-voice-retry[b-kun3hh7atu] {
    padding: 0.2rem 0.6rem;
    border: 1px solid var(--cx-primary);
    border-radius: 999px;
}

.bob-voice-retry:disabled[b-kun3hh7atu] {
    cursor: progress;
    opacity: 0.6;
}

.bob-voice-toggle .bi-chevron-down[b-kun3hh7atu] {
    transition: transform 0.2s;
}

.bob-voice-toggle .bi-chevron-down.is-open[b-kun3hh7atu] {
    transform: rotate(180deg);
}

.bob-voice-transcript[b-kun3hh7atu] {
    font-size: 0.9rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-wrap: break-word;
    color: var(--cx-text-primary);
    animation: bob-voice-unfold-b-kun3hh7atu 0.18s ease-out;
}

@keyframes bob-voice-dot-b-kun3hh7atu {
    0%, 80%, 100% { opacity: 0.25; transform: scale(0.8); }
    40% { opacity: 1; transform: scale(1); }
}

@keyframes bob-voice-pulse-b-kun3hh7atu {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
}

@keyframes bob-voice-unfold-b-kun3hh7atu {
    from { opacity: 0; transform: translateY(-3px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .bob-voice-dots i[b-kun3hh7atu],
    .wa-voice.is-loading .wa-voice-play[b-kun3hh7atu],
    .bob-voice-transcript[b-kun3hh7atu] {
        animation: none;
    }
}
/* _content/CraftX.Web/Components/Shared/Catalog/CatalogFolderTree.razor.rz.scp.css */
.cx-ftree[b-ykv60p0zbc] {
    display: flex; flex-direction: column; gap: 2px; padding: 8px;
    background: var(--cx-card-bg); border: 1px solid var(--cx-card-border); border-radius: var(--radius-xl);
}
.cx-ftree__row[b-ykv60p0zbc] {
    position: relative; display: flex; align-items: center; gap: 2px;
    padding-left: calc(var(--depth, 0) * 14px); border-radius: 8px;
}
.cx-ftree__row--root[b-ykv60p0zbc] { padding-left: 24px; }
.cx-ftree__row.is-active[b-ykv60p0zbc] { background: var(--cx-primary-soft); }
.cx-ftree__row.is-drop[b-ykv60p0zbc] { outline: 2px dashed var(--copper, #B8601F); outline-offset: -2px; }
.cx-ftree__row[draggable="true"][b-ykv60p0zbc] { cursor: grab; }
.cx-ftree__node[b-ykv60p0zbc] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; padding: 6px 6px;
    border: 0; background: transparent; border-radius: 8px; text-align: left;
    font-size: 13px; color: var(--cx-text-primary); cursor: pointer;
}
.cx-ftree__name[b-ykv60p0zbc] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-ftree__count[b-ykv60p0zbc] { font-size: 11px; color: var(--cx-text-muted); font-variant-numeric: tabular-nums; }
.cx-ftree__toggle[b-ykv60p0zbc], .cx-ftree__more[b-ykv60p0zbc] {
    width: 22px; height: 22px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    border: 0; background: transparent; border-radius: 6px; color: var(--cx-text-muted); font-size: 11px;
}
.cx-ftree__more:hover[b-ykv60p0zbc], .cx-ftree__toggle:not(:disabled):hover[b-ykv60p0zbc] { background: var(--paper-2, #F5F1E8); }
@media (hover: hover) {
    .cx-ftree__more[b-ykv60p0zbc] { opacity: 0; }
    .cx-ftree__row:hover .cx-ftree__more[b-ykv60p0zbc], .cx-ftree__more:focus-visible[b-ykv60p0zbc] { opacity: 1; }
}
.cx-ftree__backdrop[b-ykv60p0zbc] { position: fixed; inset: 0; z-index: 20; }
.cx-ftree__menu[b-ykv60p0zbc] {
    position: absolute; right: 4px; top: 100%; z-index: 30; min-width: 200px; padding: 4px;
    display: flex; flex-direction: column; background: var(--paper, #fff);
    border: 1px solid var(--cx-hairline); border-radius: 10px; box-shadow: 0 12px 28px rgba(28, 25, 21, 0.14);
}
.cx-ftree__menu button[b-ykv60p0zbc] {
    display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 0; background: transparent;
    border-radius: 6px; text-align: left; font-size: 13px; color: var(--cx-text-primary);
}
.cx-ftree__menu button:hover[b-ykv60p0zbc] { background: var(--paper-2, #F5F1E8); }
.cx-ftree__menu .is-danger[b-ykv60p0zbc] { color: var(--cx-danger); }
.cx-ftree__add[b-ykv60p0zbc] {
    margin-top: 6px; display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px dashed var(--cx-hairline);
    border-radius: 8px; background: transparent; font-size: 12.5px; color: var(--cx-text-secondary);
}
.cx-fcrumb[b-ykv60p0zbc] { display: none; }
.cx-fdialog[b-ykv60p0zbc] { width: 440px; }

@media (max-width: 767.98px) {
    .cx-ftree[b-ykv60p0zbc] { display: none; }
    .cx-fcrumb[b-ykv60p0zbc] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 4px 0; }
    .cx-fcrumb__seg[b-ykv60p0zbc] {
        border: 0; background: transparent; padding: 4px 6px; border-radius: 6px;
        font-size: 13px; color: var(--cx-text-secondary);
    }
    .cx-fcrumb__seg.is-active[b-ykv60p0zbc] { color: var(--cx-text-primary); font-weight: 600; }
    .cx-fcrumb__sep[b-ykv60p0zbc] { font-size: 10px; color: var(--cx-text-muted); }
    .cx-fcrumb__down[b-ykv60p0zbc] { width: auto; max-width: 60vw; }
    .cx-fcrumb__add[b-ykv60p0zbc] { border: 0; background: transparent; color: var(--cx-text-secondary); padding: 4px 6px; }
}
/* _content/CraftX.Web/Components/Shared/Catalog/CatalogFolderTreeMoveDialog.razor.rz.scp.css */
.cx-fdialog[b-e0rsxkuwjv] { width: 440px; }
.cx-fmove[b-e0rsxkuwjv] { display: flex; flex-direction: column; gap: 2px; max-height: 50vh; overflow-y: auto; }
.cx-fmove__row[b-e0rsxkuwjv] {
    display: flex; align-items: center; gap: 8px; padding: 7px 10px;
    padding-left: calc(10px + var(--depth, 0) * 16px); border-radius: 8px; cursor: pointer; font-size: 13px;
}
.cx-fmove__row:hover[b-e0rsxkuwjv] { background: var(--paper-2, #F5F1E8); }
.cx-fmove__row i[b-e0rsxkuwjv] { color: var(--stone, #8E8679); }
/* _content/CraftX.Web/Components/Shared/ColumnChooserDropdown.razor.rz.scp.css */
.cx-column-chooser[b-91cwat2okt] {
    position: relative;
    display: inline-block;
}

.cx-cc-backdrop[b-91cwat2okt] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    background: transparent;
}

.cx-cc-panel[b-91cwat2okt] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.35rem;
    width: 260px;
    max-height: 420px;
    background: white;
    border: 1px solid var(--cx-border, var(--cx-border));
    border-radius: var(--cx-border-radius, 8px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.cx-cc-header[b-91cwat2okt] {
    padding: 0.75rem 1rem 0.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--cx-text-primary, var(--cx-text-primary));
}

.cx-cc-search[b-91cwat2okt] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0.75rem 0.5rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--cx-border, var(--cx-border));
    border-radius: 6px;
    background: var(--cx-surface, var(--paper-2));
    transition: border-color 0.2s;
}

.cx-cc-search:focus-within[b-91cwat2okt] {
    border-color: var(--cx-primary, var(--cx-info));
    background: white;
}

.cx-cc-search i[b-91cwat2okt] {
    font-size: 0.8rem;
    color: var(--cx-text-muted, var(--cx-text-muted));
}

.cx-cc-search input[b-91cwat2okt] {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.85rem;
    width: 100%;
    color: var(--cx-text-primary, var(--cx-text-primary));
}

.cx-cc-list[b-91cwat2okt] {
    overflow-y: auto;
    max-height: 300px;
    padding: 0.25rem 0 0.5rem;
}

.cx-cc-item[b-91cwat2okt] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 1rem;
    cursor: pointer;
    font-size: 0.85rem;
    color: var(--cx-text-primary, var(--cx-text-primary));
    transition: background 0.15s;
    user-select: none;
}

.cx-cc-item:hover[b-91cwat2okt] {
    background: var(--cx-primary-light, rgba(31,74,130,0.06));
}

.cx-cc-item input[type="checkbox"][b-91cwat2okt] {
    accent-color: var(--cx-primary, var(--cx-info));
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

.cx-cc-empty[b-91cwat2okt] {
    padding: 1rem;
    text-align: center;
    color: var(--cx-text-muted, var(--cx-text-muted));
    font-size: 0.85rem;
}
/* _content/CraftX.Web/Components/Shared/Customers/CustomerActivityTimeline.razor.rz.scp.css */
/* Per-customer Verlauf — warm activity timeline, mirrors the Nachfassen optic.
   Reuses global tokens (--copper #B8601F, --walnut, --stone, --ink, --copper-50). */

.cat[b-ta47d6rc9m] {
    padding: 8px 4px 4px;
}

.cat__head[b-ta47d6rc9m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.cat__title[b-ta47d6rc9m] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ink, #1C1915);
}

.cat__title i[b-ta47d6rc9m] { color: var(--copper, #B8601F); }

.cat__add[b-ta47d6rc9m] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    background: var(--copper, #B8601F);
    border: 0;
    border-radius: 7px;
    cursor: pointer;
    transition: background .15s ease;
}

.cat__add:hover[b-ta47d6rc9m] { background: var(--copper-dark, #8A4514); }

/* Quick-add chips — one-tap presets that open the inline composer */
.cat__quickadd[b-ta47d6rc9m] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }

.cat__chip-btn[b-ta47d6rc9m] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--walnut, #4A443C);
    background: #fff;
    border: 1px solid var(--cx-hairline-soft, #E8E3DA);
    border-radius: 999px;
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.cat__chip-btn i[b-ta47d6rc9m] { font-size: 12px; opacity: .85; }
.cat__chip-btn:hover[b-ta47d6rc9m] {
    color: var(--copper, #B8601F);
    border-color: color-mix(in srgb, var(--copper, #B8601F) 45%, transparent);
    background: var(--copper-50, #FBEFE5);
}
.cat__chip-btn--accent[b-ta47d6rc9m] {
    color: #fff;
    background: var(--copper, #B8601F);
    border-color: var(--copper, #B8601F);
}
.cat__chip-btn--accent:hover[b-ta47d6rc9m] { color: #fff; background: var(--copper-dark, #8A4514); border-color: var(--copper-dark, #8A4514); }

/* Loading + empty states */
.cat__loading[b-ta47d6rc9m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    color: var(--stone, #8E8679);
}

.cat__empty[b-ta47d6rc9m] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.cat__empty-ico[b-ta47d6rc9m] {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 24px;
    color: var(--copper, #B8601F);
    background: var(--copper-50, #FBEFE5);
}

.cat__empty-title[b-ta47d6rc9m] { font-size: 16px; font-weight: 600; color: var(--ink, #1C1915); margin-bottom: 6px; }
.cat__empty-sub[b-ta47d6rc9m] { font-size: 13px; color: var(--stone, #8E8679); max-width: 440px; margin: 0 auto 18px; line-height: 1.5; }

/* Timeline */
.cat__timeline[b-ta47d6rc9m] { display: flex; flex-direction: column; }

.cat__item[b-ta47d6rc9m] { display: flex; gap: 12px; padding-bottom: 16px; position: relative; }
.cat__item:last-child[b-ta47d6rc9m] { padding-bottom: 0; }
.cat__item[b-ta47d6rc9m]::before {
    content: '';
    position: absolute;
    left: 13px;
    top: 26px;
    bottom: -2px;
    width: 2px;
    background: var(--cx-hairline-soft, #E8E3DA);
}
.cat__item:last-child[b-ta47d6rc9m]::before { display: none; }

.cat__dot[b-ta47d6rc9m] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 13px;
    color: #fff;
    z-index: 1;
    background: var(--stone, #8E8679);
}
.cat__dot.copper[b-ta47d6rc9m] { background: var(--copper, #B8601F); }
.cat__dot.info[b-ta47d6rc9m] { background: var(--cx-info, #1F4A82); }
.cat__dot.success[b-ta47d6rc9m] { background: var(--cx-success, #3F7D5B); }
.cat__dot.warning[b-ta47d6rc9m] { background: var(--cx-warning, #A97514); }
.cat__dot.danger[b-ta47d6rc9m] { background: var(--cx-danger, #9A3B33); }

.cat__body[b-ta47d6rc9m] { min-width: 0; flex: 1; padding-top: 3px; }

.cat__row[b-ta47d6rc9m] { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }

.cat__title-line[b-ta47d6rc9m] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.cat__headline[b-ta47d6rc9m] { font-size: 13px; font-weight: 600; color: var(--ink, #1C1915); }

.cat__chip[b-ta47d6rc9m] {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 999px;
    color: var(--copper-dark, #8A4514);
    background: var(--copper-50, #FBEFE5);
}

.cat__sub[b-ta47d6rc9m] { font-size: 11.5px; color: var(--stone, #8E8679); margin-top: 1px; }

/* A recorded note / message / feedback — a quoted line so it stays readable and never
   displaces the timestamp. */
.cat__note[b-ta47d6rc9m] {
    margin-top: 5px;
    padding: 6px 9px;
    font-size: 12px;
    font-style: italic;
    line-height: 1.4;
    color: var(--walnut, #4A443C);
    background: var(--copper-50, #FBEFE5);
    border-left: 2px solid var(--copper, #B8601F);
    border-radius: 0 6px 6px 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.cat__followup[b-ta47d6rc9m] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    font-size: 11.5px;
    color: var(--cx-info, #1F4A82);
}

/* Row actions (edit/delete for notes, jump-offs for system rows) — quiet until hover */
.cat__actions[b-ta47d6rc9m] {
    display: flex;
    gap: 2px;
    flex: 0 0 auto;
    opacity: 0;
    transition: opacity .15s ease;
}
.cat__item:hover .cat__actions[b-ta47d6rc9m] { opacity: 1; }

.cat__jump[b-ta47d6rc9m] {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    font-size: 12px;
    color: var(--stone, #8E8679);
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    transition: color .15s ease, background .15s ease;
}
.cat__jump:hover[b-ta47d6rc9m] { color: var(--copper, #B8601F); background: var(--copper-50, #FBEFE5); }
.cat__jump--danger:hover[b-ta47d6rc9m] { color: var(--cx-danger, #9A3B33); background: color-mix(in srgb, var(--cx-danger, #9A3B33) 10%, transparent); }

/* Inline note composer (add at top / edit in-row) */
.cat__item--composer[b-ta47d6rc9m] { padding-bottom: 16px; }

.cat-composer[b-ta47d6rc9m] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid color-mix(in srgb, var(--copper, #B8601F) 35%, transparent);
    border-radius: 10px;
    background: var(--copper-50, #FBEFE5);
}

.cat-composer__head[b-ta47d6rc9m] { display: flex; flex-wrap: wrap; gap: 10px; }

[b-ta47d6rc9m] .cat-composer__input { min-height: 84px; background: #fff; }

.cat-composer__err[b-ta47d6rc9m] { font-size: 12px; margin-top: -4px; }

.cat-composer__actions[b-ta47d6rc9m] { display: flex; justify-content: flex-end; gap: 8px; }

.cat-composer__btn[b-ta47d6rc9m] {
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 500;
    border-radius: 7px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.cat-composer__btn--ghost[b-ta47d6rc9m] {
    color: var(--walnut, #4A443C);
    background: transparent;
    border-color: var(--cx-hairline-soft, #E8E3DA);
}
.cat-composer__btn--ghost:hover[b-ta47d6rc9m] { background: #fff; }
.cat-composer__btn--primary[b-ta47d6rc9m] {
    color: #fff;
    background: var(--copper, #B8601F);
}
.cat-composer__btn--primary:hover[b-ta47d6rc9m] { background: var(--copper-dark, #8A4514); }

/* Delete confirmation dialog */
.cat-dialog-footer[b-ta47d6rc9m] { display: flex; justify-content: flex-end; }
.cat-note-preview[b-ta47d6rc9m] {
    margin-top: 10px;
    padding: 8px 10px;
    font-size: 13px;
    color: var(--walnut, #4A443C);
    background: var(--cx-surface-soft, #F6F3ED);
    border-radius: 6px;
    max-height: 4.5rem;
    overflow: hidden;
}
/* _content/CraftX.Web/Components/Shared/Documents/EnergyCertificateSection.razor.rz.scp.css */
/* Empty state of the §35c card — explanation first, then the one action. */
.ecs-empty[b-7izmns00ip] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 16px 16px;
}

.ecs-empty > .bi[b-7izmns00ip] {
    font-size: 1.6rem;
    color: var(--copper);
    line-height: 1;
    margin-top: 2px;
}

.ecs-empty-body[b-7izmns00ip] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.ecs-empty-t[b-7izmns00ip] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.4;
}

.ecs-empty-s[b-7izmns00ip] {
    font-size: 12.5px;
    color: var(--stone);
    line-height: 1.45;
}

.ecs-empty-body .btn[b-7izmns00ip] { margin-top: 8px; }
/* _content/CraftX.Web/Components/Shared/Documents/EnergyCertificateWizardDialog.razor.rz.scp.css */
/* §35c wizard — leave/catalog dialog language (scrim + modal, radius 18, icon tile 42,
   title 19), step kicker + progress dots from the Termin guided wizard.
   z-band 5040/5050: above Syncfusion dialog containers, like .cxe-* in cx-catalog.css. */

.ecw-scrim[b-sazhyem376] {
    position: fixed;
    inset: 0;
    background: rgba(28, 25, 21, 0.34);
    backdrop-filter: blur(2px);
    z-index: 5040;
    animation: ecw-fade-b-sazhyem376 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);
}

@keyframes ecw-fade-b-sazhyem376 {
    from { opacity: 0; }
    to { opacity: 1; }
}

.ecw-modal[b-sazhyem376] {
    --ecw-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 860px;
    max-width: 94vw;
    height: min(92vh, 900px);
    display: flex;
    flex-direction: column;
    background: var(--paper);
    border-radius: 18px;
    z-index: 5050;
    box-shadow: 0 28px 56px rgba(28, 25, 21, 0.18), 0 10px 20px rgba(28, 25, 21, 0.10);
    animation: ecw-modalin-b-sazhyem376 0.24s var(--ecw-ease);
    font-family: var(--font-sans);
    color: var(--ink);
    outline: none;
}

@keyframes ecw-modalin-b-sazhyem376 {
    from { opacity: 0; transform: translate(-50%, -46%) scale(0.97); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.ecw-h[b-sazhyem376] {
    padding: 22px 24px 14px;
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 14px;
    border-bottom: 1px solid var(--hairline-soft);
    position: relative;
    flex-shrink: 0;
}

.ecw-hi[b-sazhyem376] {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--copper-50);
    color: var(--copper);
    display: grid;
    place-items: center;
    font-size: 1.25rem;
}

.ecw-ht[b-sazhyem376] { min-width: 0; padding-right: 40px; }

.ecw-kicker[b-sazhyem376] {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--copper);
    margin-bottom: 2px;
}

.ecw-t[b-sazhyem376] {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ecw-s[b-sazhyem376] {
    font-size: 13px;
    color: var(--walnut);
    margin-top: 3px;
    max-width: 64ch;
}

.ecw-close[b-sazhyem376] {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: none;
    background: var(--sand);
    display: grid;
    place-items: center;
    color: var(--walnut);
    cursor: pointer;
}

.ecw-close:hover[b-sazhyem376] { background: var(--sand-2); }

.ecw-dots[b-sazhyem376] {
    grid-column: 1 / -1;
    display: flex;
    gap: 6px;
    margin-top: 14px;
}

.ecw-dot[b-sazhyem376] {
    height: 6px;
    flex: 1;
    border-radius: 999px;
    border: none;
    padding: 0;
    background: var(--sand-2);
    cursor: pointer;
    transition: background 0.2s var(--ecw-ease);
}

.ecw-dot.on[b-sazhyem376] { background: var(--copper); }
.ecw-dot:hover:not(:disabled)[b-sazhyem376] { background: var(--copper-dark); }

/* ── Body ───────────────────────────────────────────────────────────────── */
.ecw-b[b-sazhyem376] {
    padding: 18px 24px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.ecw-loading[b-sazhyem376] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 3rem 1rem;
    color: var(--stone);
    font-size: 13px;
}

.ecw-loading .bi[b-sazhyem376] { font-size: 2rem; }

.ecw-blocks[b-sazhyem376], .ecw-values[b-sazhyem376], .ecw-pc[b-sazhyem376], .ecw-review[b-sazhyem376], .ecw-done[b-sazhyem376] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Block: icon tile + title/sub + optional action, then read view or editor */
.ecw-block[b-sazhyem376] {
    border: 1px solid var(--hairline);
    border-radius: 12px;
    padding: 14px 16px;
    background: #fff;
}

.ecw-block-h[b-sazhyem376] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ecw-block-ico[b-sazhyem376] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: var(--sand);
    color: var(--walnut);
    display: grid;
    place-items: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.ecw-block-t[b-sazhyem376] { flex: 1; min-width: 0; }
.ecw-block-t b[b-sazhyem376] { display: block; font-size: 14px; font-weight: 700; letter-spacing: -0.01em; }
.ecw-block-t span[b-sazhyem376] { display: block; font-size: 12px; color: var(--stone); margin-top: 1px; }

.ecw-read[b-sazhyem376] {
    margin: 10px 0 0 46px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--ink);
}

.ecw-missing[b-sazhyem376] {
    margin: 10px 0 0 46px;
    font-size: 12.5px;
    color: var(--cx-danger);
}

.ecw-edit[b-sazhyem376] {
    margin: 10px 0 0 46px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ecw-edit .form-control + .ecw-label[b-sazhyem376] { margin-top: 8px; }

.ecw-label[b-sazhyem376] {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 4px;
}

.ecw-opt[b-sazhyem376] { font-weight: 400; color: var(--stone); }

.ecw-hint[b-sazhyem376] {
    font-size: 11.5px;
    color: var(--stone);
    margin-top: 4px;
    line-height: 1.45;
}

.ecw-link[b-sazhyem376] {
    background: none;
    border: none;
    padding: 0;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--copper);
    cursor: pointer;
    white-space: nowrap;
}

.ecw-link:hover[b-sazhyem376] { color: var(--copper-dark); text-decoration: underline; }
.ecw-link:disabled[b-sazhyem376] { opacity: 0.5; cursor: default; text-decoration: none; }
.ecw-link.muted[b-sazhyem376] { color: var(--stone); font-weight: 500; }

.ecw-chips[b-sazhyem376] { margin: 10px 0 0 46px; display: flex; flex-wrap: wrap; gap: 6px; }

.ecw-chip[b-sazhyem376] {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 600;
    background: var(--sand);
    color: var(--walnut);
}

/* Notes: info (default), warn, bob */
.ecw-note[b-sazhyem376] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 11px 13px;
    border-radius: 10px;
    background: var(--paper-2);
    border: 1px solid var(--hairline);
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--walnut);
    margin-top: 10px;
}

.ecw-note > .bi[b-sazhyem376] { flex-shrink: 0; margin-top: 2px; color: var(--copper); }
.ecw-note b[b-sazhyem376] { color: var(--ink); }
.ecw-note > div[b-sazhyem376] { flex: 1; min-width: 0; }
.ecw-note a[b-sazhyem376] { color: var(--copper); font-weight: 600; }

.ecw-note.warn[b-sazhyem376] {
    background: color-mix(in srgb, var(--cx-warning) 10%, white);
    border-color: color-mix(in srgb, var(--cx-warning) 40%, white);
}

.ecw-note.warn > .bi[b-sazhyem376] { color: var(--cx-warning); }

.ecw-note.bob[b-sazhyem376] {
    background: color-mix(in srgb, var(--ai, #6f5bd6) 8%, white);
    border-color: color-mix(in srgb, var(--ai, #6f5bd6) 30%, white);
    align-items: center;
}

.ecw-note.bob > .bi[b-sazhyem376] { color: var(--ai, #6f5bd6); }

.ecw-blocks > .ecw-note[b-sazhyem376] { margin-top: 0; }

/* Checkbox rows */
.ecw-check[b-sazhyem376] {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid var(--hairline);
    font-size: 13px;
    line-height: 1.4;
    cursor: pointer;
    background: #fff;
    margin: 0;
}

.ecw-check:hover[b-sazhyem376] { background: var(--paper-2); }
.ecw-check.on[b-sazhyem376] { border-color: var(--copper); background: var(--copper-50); }
.ecw-check input[b-sazhyem376] { margin-top: 3px; accent-color: var(--copper); flex-shrink: 0; }
.ecw-check.inline[b-sazhyem376] { display: inline-flex; align-items: center; }

.ecw-trades[b-sazhyem376] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 12px 0;
}

/* Job picker (start from the customer) */
.ecw-jobs[b-sazhyem376] { display: flex; flex-direction: column; gap: 6px; margin: 12px 0 0 46px; }
.ecw-job[b-sazhyem376] { align-items: center; }
.ecw-job-main[b-sazhyem376] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ecw-job-main small[b-sazhyem376] { font-size: 12px; color: var(--stone); }

/* Measures step */
.ecw-measures[b-sazhyem376] { display: flex; flex-direction: column; gap: 16px; }

.ecw-toolbar[b-sazhyem376] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ecw-count[b-sazhyem376] { font-size: 12.5px; font-weight: 600; color: var(--walnut); }

.ecw-group-h[b-sazhyem376] {
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.01em;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ecw-group-no[b-sazhyem376], .ecw-card-no[b-sazhyem376] {
    display: inline-grid;
    place-items: center;
    min-width: 26px;
    height: 20px;
    padding: 0 6px;
    border-radius: 6px;
    background: var(--sand);
    color: var(--walnut);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 700;
}

.ecw-cards[b-sazhyem376] { display: flex; flex-direction: column; gap: 6px; }

.ecw-card[b-sazhyem376] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    text-align: left;
    padding: 10px 12px;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-family: inherit;
    color: var(--ink);
    transition: border-color 0.15s, background 0.15s;
}

.ecw-card:hover[b-sazhyem376] { background: var(--paper-2); }
.ecw-card.on[b-sazhyem376] { border-color: var(--copper); background: var(--copper-50); }

.ecw-card-check[b-sazhyem376] {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    border: 1.5px solid var(--hairline-strong, rgba(28, 25, 21, 0.25));
    display: grid;
    place-items: center;
    flex-shrink: 0;
    background: #fff;
    color: #fff;
    font-size: 13px;
    margin-top: 1px;
}

.ecw-card.on .ecw-card-check[b-sazhyem376] { background: var(--copper); border-color: var(--copper); }

.ecw-card-body[b-sazhyem376] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ecw-card-t[b-sazhyem376] { font-size: 13.5px; font-weight: 600; line-height: 1.35; display: flex; gap: 8px; align-items: flex-start; }
.ecw-card-t .ecw-card-no[b-sazhyem376] { margin-top: 1px; }
.ecw-card-hint[b-sazhyem376] { font-size: 11.5px; color: var(--stone); }

/* Values step */
.ecw-inputs[b-sazhyem376] {
    margin: 12px 0 0 46px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ecw-input[b-sazhyem376] { display: flex; flex-direction: column; }

.ecw-num[b-sazhyem376] { display: flex; align-items: center; gap: 8px; max-width: 280px; }
.ecw-num .form-control[b-sazhyem376] { font-variant-numeric: tabular-nums; }
.ecw-num .form-control.num[b-sazhyem376] { text-align: right; }
.ecw-unit[b-sazhyem376] { font-size: 12.5px; color: var(--stone); white-space: nowrap; }

.ecw-issue[b-sazhyem376] {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    font-size: 12.5px;
    line-height: 1.45;
    margin-top: 6px;
}

.ecw-issue .bi[b-sazhyem376] { flex-shrink: 0; margin-top: 1px; }
.ecw-issue.block[b-sazhyem376] { color: var(--cx-danger); font-weight: 600; }
.ecw-issue.warn[b-sazhyem376] { color: var(--cx-warning); }
.ecw-issue.ok[b-sazhyem376] { color: var(--cx-success); font-weight: 600; }

.ecw-issues[b-sazhyem376] { display: flex; flex-direction: column; gap: 2px; }

.ecw-empty[b-sazhyem376] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    border-radius: 12px;
    background: var(--paper-2);
    font-size: 13px;
    color: var(--walnut);
}

.ecw-empty .bi[b-sazhyem376] { font-size: 1.4rem; color: var(--stone); }
.ecw-empty b[b-sazhyem376] { color: var(--ink); }

/* Periods & costs */
.ecw-table[b-sazhyem376] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
    font-size: 13px;
}

.ecw-table th[b-sazhyem376] {
    text-align: left;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--stone);
    padding: 0 6px 6px 0;
}

.ecw-table td[b-sazhyem376] { padding: 3px 6px 3px 0; vertical-align: middle; }
.ecw-table th.num[b-sazhyem376], .ecw-table td.num[b-sazhyem376] { text-align: right; }
.ecw-table td.muted[b-sazhyem376] { color: var(--stone); font-size: 12.5px; white-space: nowrap; }
.ecw-table td:last-child[b-sazhyem376] { width: 32px; padding-right: 0; }
.ecw-table .form-control[b-sazhyem376], .ecw-table .form-select[b-sazhyem376] { min-width: 0; }

.ecw-x[b-sazhyem376] {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    border: none;
    background: transparent;
    color: var(--stone);
    display: grid;
    place-items: center;
    cursor: pointer;
}

.ecw-x:hover[b-sazhyem376] { background: var(--sand); color: var(--cx-danger); }

.ecw-row-actions[b-sazhyem376] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 10px;
}

.ecw-jobpick[b-sazhyem376] { max-width: 320px; }

.ecw-collapse[b-sazhyem376] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ink);
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

.ecw-block.collapsible[b-sazhyem376] { padding: 12px 16px; }

.ecw-extra[b-sazhyem376] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 20px;
    margin-top: 12px;
}

/* Review */
.ecw-review-bar[b-sazhyem376] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.ecw-review-bar .ecw-label[b-sazhyem376] { margin: 0; }
.ecw-date[b-sazhyem376] { width: 170px; }

.ecw-fixlist[b-sazhyem376] {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ecw-fixlist li[b-sazhyem376] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.ecw-preview[b-sazhyem376] {
    border: 1px solid var(--hairline);
    border-radius: 12px;
    overflow: hidden;
    background: var(--sand);
    min-height: 420px;
    display: flex;
}

.ecw-frame[b-sazhyem376] { width: 100%; min-height: 520px; border: 0; background: #fff; }

/* Issued state: status line, send bar, then the final PDF exactly as the customer gets it */
.ecw-done[b-sazhyem376] { align-items: stretch; }

.ecw-done-head[b-sazhyem376] { display: flex; align-items: center; gap: 14px; }
.ecw-done-text[b-sazhyem376] { min-width: 0; }

.ecw-done-ico[b-sazhyem376] {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 14px;
    background: color-mix(in srgb, var(--cx-success) 14%, white);
    color: var(--cx-success);
    display: grid;
    place-items: center;
    font-size: 1.35rem;
}

.ecw-done-t[b-sazhyem376] { font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }
.ecw-done-s[b-sazhyem376] { font-size: 13px; color: var(--walnut); margin-top: 2px; }

.ecw-sendbar[b-sazhyem376] { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ecw-sendbar-input[b-sazhyem376] { flex: 1; min-width: 220px; }
.ecw-sendbar-download[b-sazhyem376] { margin-left: auto; }
.ecw-sendbar-hint[b-sazhyem376] { font-size: 12.5px; color: var(--stone); }

/* Errors (save path) — .cxe-errors twin */
.ecw-errors[b-sazhyem376] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: var(--cx-danger-soft, rgba(154, 59, 51, 0.08));
    border: 1px solid var(--cx-danger);
    border-radius: 10px;
    padding: 11px 13px;
    font-size: 12.5px;
    color: var(--cx-danger);
    line-height: 1.5;
    margin-top: 1rem;
}

.ecw-errors b[b-sazhyem376] { color: var(--ink); display: block; margin-bottom: 2px; }

/* ── Footer ─────────────────────────────────────────────────────────────── */
.ecw-f[b-sazhyem376] {
    padding: 14px 24px;
    border-top: 1px solid var(--hairline-soft);
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--cx-card-bg);
    border-radius: 0 0 18px 18px;
    flex-shrink: 0;
}

.ecw-f-left[b-sazhyem376] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.ecw-saved[b-sazhyem376] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--stone);
    white-space: nowrap;
}

.ecw-saved .bi[b-sazhyem376] { color: var(--cx-success); }

.ecw-f-actions[b-sazhyem376] { display: flex; align-items: center; gap: 10px; }

.ecw-btn[b-sazhyem376] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 38px;
    padding: 0 18px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    border: 1.5px solid transparent;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
}

.ecw-btn.sm[b-sazhyem376] { height: 32px; padding: 0 14px; font-size: 12.5px; }
.ecw-btn.ghost:hover[b-sazhyem376] { background: var(--sand); }
.ecw-btn.outline[b-sazhyem376] { border-color: var(--hairline-strong, rgba(28, 25, 21, 0.2)); background: #fff; }
.ecw-btn.outline:hover[b-sazhyem376] { background: var(--sand); }

.ecw-btn.primary[b-sazhyem376] {
    background: var(--copper);
    color: #fff;
    box-shadow: 0 8px 20px rgba(184, 96, 31, 0.28), 0 2px 6px rgba(184, 96, 31, 0.16);
}

.ecw-btn.primary:hover[b-sazhyem376] { background: var(--copper-dark); }
.ecw-btn:disabled[b-sazhyem376] { opacity: 0.45; cursor: not-allowed; box-shadow: none; }
.ecw-btn:active:not(:disabled)[b-sazhyem376] { transform: translateY(1px); }

@media (max-width: 640px) {
    .ecw-modal[b-sazhyem376] { width: 96vw; height: 96vh; }
    .ecw-trades[b-sazhyem376], .ecw-extra[b-sazhyem376] { grid-template-columns: 1fr; }
    .ecw-read[b-sazhyem376], .ecw-edit[b-sazhyem376], .ecw-chips[b-sazhyem376], .ecw-inputs[b-sazhyem376], .ecw-jobs[b-sazhyem376] { margin-left: 0; }
    .ecw-sendbar-download[b-sazhyem376] { margin-left: 0; }
    .ecw-f[b-sazhyem376] { flex-wrap: wrap; }
    .ecw-f-left[b-sazhyem376] { flex-basis: 100%; }
}
/* _content/CraftX.Web/Components/Shared/Documents/LetterEditorDialog.razor.rz.scp.css */
.cx-letter[b-gia9kwws1q] {
    font-size: 0.9rem;
}

.cx-letter__label[b-gia9kwws1q] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cx-text-secondary, #6b7280);
    margin-bottom: 2px;
}

.cx-letter__recipient[b-gia9kwws1q] {
    background: var(--cx-surface-muted, #f8fafc);
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 14px;
}

.cx-letter__recipient-name[b-gia9kwws1q] {
    font-weight: 600;
    color: #111827;
}

/* Locked recipient summary — shown when the dialog is opened from a customer/employee page. */
.cx-letter__recipient-fixed[b-gia9kwws1q] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cx-letter__recipient-fixed i[b-gia9kwws1q] {
    color: var(--cx-text-secondary, #6b7280);
    font-size: 1.05rem;
}

.cx-letter__recipient-fixed .badge[b-gia9kwws1q] {
    font-weight: 500;
}

.cx-letter__check[b-gia9kwws1q] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 0.82rem;
    color: var(--cx-text-secondary, #6b7280);
    cursor: pointer;
}

.cx-letter__grid[b-gia9kwws1q] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.cx-letter__field[b-gia9kwws1q] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cx-letter__field--full[b-gia9kwws1q] {
    grid-column: 1 / -1;
}

.cx-letter__field label[b-gia9kwws1q] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cx-text-secondary, #6b7280);
}

.cx-letter__label-row[b-gia9kwws1q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.cx-letter__snippet-btn[b-gia9kwws1q] {
    background: none;
    border: none;
    padding: 0;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--cx-primary, #b87333);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.cx-letter__snippet-btn:hover[b-gia9kwws1q] {
    text-decoration: underline;
}

.cx-letter__snippet-btn:disabled[b-gia9kwws1q] {
    color: var(--cx-text-secondary, #9ca3af);
    cursor: default;
    text-decoration: none;
}

.cx-letter__footer[b-gia9kwws1q] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    border-top: 1px solid #e5e7eb;
    padding-top: 14px;
    margin-top: 4px;
    flex-wrap: wrap;
}

.cx-letter__send[b-gia9kwws1q] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 320px;
}

.cx-letter__send .form-control[b-gia9kwws1q] {
    max-width: 320px;
}

.cx-letter__actions[b-gia9kwws1q] {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Recipient-type selector (Kunde / Mitarbeiter / Freier Empfänger). */
.cx-letter__segmented[b-gia9kwws1q] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.cx-seg[b-gia9kwws1q] {
    flex: 1 1 auto;
    padding: 8px 12px;
    border: 1px solid #d1d5db;
    background: #fff;
    border-radius: 8px;
    font-size: 0.85rem;
    color: var(--cx-text-secondary, #6b7280);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.cx-seg:hover[b-gia9kwws1q] {
    border-color: var(--cx-primary, #b87333);
}

.cx-seg.on[b-gia9kwws1q] {
    background: var(--cx-primary, #b87333);
    border-color: var(--cx-primary, #b87333);
    color: #fff;
}
/* _content/CraftX.Web/Components/Shared/Documents/UndeliverableDocumentsBanner.razor.rz.scp.css */
/* Undeliverable-documents banner ------------------------------ */
/* The banner names the affected documents, because a bare count is unactionable when the flagged row
   is filtered out or far down the list. Each entry that belongs to a job jumps to that job's
   documents tab; documents without a job stay as plain, non-clickable chips. */
.undeliverable-alert[b-5e4azgdg77] {
    margin-bottom: 16px;
}

.undeliverable-alert-head[b-5e4azgdg77] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.undeliverable-alert-docs[b-5e4azgdg77] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin: 0.5rem 0 0 1.5rem;
}

.undeliverable-doc[b-5e4azgdg77],
.undeliverable-more[b-5e4azgdg77] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.5rem;
    border: 1px solid rgba(154, 59, 51, 0.32);
    border-radius: var(--radius-sm);
    background: rgba(154, 59, 51, 0.08);
    color: var(--cx-danger);
    font-size: 0.8125rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s var(--ease), border-color 0.15s var(--ease);
}

button.undeliverable-doc:hover[b-5e4azgdg77],
.undeliverable-more:hover[b-5e4azgdg77] {
    background: rgba(154, 59, 51, 0.16);
    border-color: rgba(154, 59, 51, 0.5);
}

.undeliverable-doc-static[b-5e4azgdg77] {
    cursor: default;
}

.undeliverable-doc strong[b-5e4azgdg77] {
    font-weight: var(--fw-semibold);
}

.undeliverable-doc-label[b-5e4azgdg77] {
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.undeliverable-doc i[b-5e4azgdg77] {
    font-size: 1rem;
}

.undeliverable-more[b-5e4azgdg77] {
    font-weight: var(--fw-medium);
}
/* _content/CraftX.Web/Components/Shared/FloatingChat/FloatingChatWidget.razor.rz.scp.css */
/* Floating Chat Widget */
.floating-chat-widget[b-tpkgmmoxz0] {
    position: fixed;
    z-index: 1200;
}

.floating-chat-widget.collapsed[b-tpkgmmoxz0] {
    bottom: 24px;
    right: 24px;
}

.floating-chat-widget.expanded[b-tpkgmmoxz0] {
    bottom: 16px;
    right: 16px;
}

/* Chat Bubble */
.chat-bubble[b-tpkgmmoxz0] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cx-primary) 0%, var(--ai) 100%);
    border: none;
    color: white;
    font-size: 1.4rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s, box-shadow 0.2s;
    position: relative;
}

.chat-bubble:hover[b-tpkgmmoxz0] {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.chat-bubble:active[b-tpkgmmoxz0] {
    transform: scale(0.98);
}

.chat-bubble .unread-badge[b-tpkgmmoxz0] {
    position: absolute;
    top: -4px;
    right: -4px;
    background-color: var(--cx-danger);
    color: white;
    font-size: 0.7rem;
    font-weight: 600;
    min-width: 20px;
    height: 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 2px solid white;
}

/* Chat Panel */
.chat-panel[b-tpkgmmoxz0] {
    width: 420px;
    height: 560px;
    background-color: var(--cx-card-bg, white);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Chat Header */
.chat-header[b-tpkgmmoxz0] {
    padding: 12px 16px;
    background-color: var(--cx-primary);
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.chat-header h3[b-tpkgmmoxz0] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.header-actions[b-tpkgmmoxz0] {
    display: flex;
    gap: 4px;
}

.header-btn[b-tpkgmmoxz0] {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.header-btn:hover[b-tpkgmmoxz0] {
    background: rgba(255, 255, 255, 0.2);
}

/* Chat Body */
.chat-body[b-tpkgmmoxz0] {
    flex: 1;
    display: flex;
    overflow: hidden;
}

/* Chat Sidebar */
.chat-sidebar[b-tpkgmmoxz0] {
    width: 160px;
    border-right: 1px solid var(--cx-border-color, var(--cx-border));
    display: flex;
    flex-direction: column;
    background-color: var(--cx-sidebar-light, var(--paper-2));
}

.sidebar-header[b-tpkgmmoxz0] {
    padding: 8px;
    border-bottom: 1px solid var(--cx-border-color, var(--cx-border));
}

.search-box[b-tpkgmmoxz0] {
    display: flex;
    align-items: center;
    background-color: white;
    border: 1px solid var(--cx-border-color, var(--cx-border));
    border-radius: 6px;
    padding: 4px 8px;
}

.search-box i[b-tpkgmmoxz0] {
    color: var(--cx-text-muted, var(--cx-text-muted));
    font-size: 0.75rem;
}

.search-box input[b-tpkgmmoxz0] {
    border: none;
    outline: none;
    flex: 1;
    font-size: 0.75rem;
    margin-left: 6px;
    background: transparent;
}

.thread-list[b-tpkgmmoxz0] {
    flex: 1;
    overflow-y: auto;
    padding: 4px;
}

.thread-item[b-tpkgmmoxz0] {
    display: flex;
    align-items: center;
    padding: 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s;
    margin-bottom: 2px;
}

.thread-item:hover[b-tpkgmmoxz0] {
    background-color: var(--cx-hover-bg, var(--paper-2));
}

.thread-item.selected[b-tpkgmmoxz0] {
    background-color: var(--cx-primary-light, rgba(31,74,130,0.06));
}

.thread-item.unread[b-tpkgmmoxz0] {
    background-color: rgba(169,117,20,0.15);
}

.thread-item.unread:hover[b-tpkgmmoxz0] {
    background-color: rgba(169,117,20,0.20);
}

.thread-avatar[b-tpkgmmoxz0] {
    position: relative;
    margin-right: 8px;
    flex-shrink: 0;
}

.avatar-initials[b-tpkgmmoxz0],
.avatar-ai[b-tpkgmmoxz0],
.avatar-icon[b-tpkgmmoxz0] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 500;
}

.avatar-initials[b-tpkgmmoxz0] {
    color: white;
}

.avatar-ai[b-tpkgmmoxz0] {
    color: white;
}

.avatar-ai i[b-tpkgmmoxz0] {
    font-size: 1rem;
}

.avatar-icon.job[b-tpkgmmoxz0] {
    background-color: rgba(31,74,130,0.12);
    color: var(--cx-primary);
}

.avatar-icon.channel[b-tpkgmmoxz0] {
    background-color: var(--ai-50);
    color: var(--ai);
}

.status-dot[b-tpkgmmoxz0] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid white;
}

.status-dot.online[b-tpkgmmoxz0] {
    background-color: var(--cx-success);
}

.status-dot.away[b-tpkgmmoxz0] {
    background-color: var(--cx-warning);
}

.status-dot.dnd[b-tpkgmmoxz0] {
    background-color: var(--cx-danger);
}

.status-dot.offline[b-tpkgmmoxz0] {
    background-color: var(--cx-text-muted);
}

.thread-info[b-tpkgmmoxz0] {
    flex: 1;
    min-width: 0;
}

.thread-name[b-tpkgmmoxz0] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--cx-text-primary, var(--cx-text-primary));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.thread-name .job-number[b-tpkgmmoxz0] {
    color: var(--cx-primary);
    font-weight: 600;
}

.thread-preview[b-tpkgmmoxz0] {
    font-size: 0.65rem;
    color: var(--cx-text-muted, var(--cx-text-muted));
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.thread-unread[b-tpkgmmoxz0] {
    background-color: var(--cx-primary);
    color: white;
    font-size: 0.6rem;
    font-weight: 600;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    margin-left: 4px;
}

.loading-threads[b-tpkgmmoxz0],
.no-threads[b-tpkgmmoxz0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 8px;
    color: var(--cx-text-muted, var(--cx-text-muted));
}

.loading-threads i[b-tpkgmmoxz0],
.no-threads i[b-tpkgmmoxz0] {
    font-size: 1.5rem;
    margin-bottom: 8px;
    opacity: 0.5;
}

.loading-threads span[b-tpkgmmoxz0],
.no-threads span[b-tpkgmmoxz0] {
    font-size: 0.75rem;
}

.sidebar-footer[b-tpkgmmoxz0] {
    padding: 8px;
    border-top: 1px solid var(--cx-border-color, var(--cx-border));
}

.new-chat-btn[b-tpkgmmoxz0] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px;
    background-color: var(--cx-primary);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s;
}

.new-chat-btn:hover[b-tpkgmmoxz0] {
    background-color: var(--cx-primary-hover, var(--cx-info));
}

/* Chat Conversation */
.chat-conversation[b-tpkgmmoxz0] {
    flex: 1;
    display: flex;
    flex-direction: column;
    background-color: white;
}

.no-selection[b-tpkgmmoxz0] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--cx-text-muted, var(--cx-text-muted));
    padding: 24px;
}

.no-selection i[b-tpkgmmoxz0] {
    font-size: 3rem;
    margin-bottom: 12px;
    opacity: 0.3;
}

.no-selection p[b-tpkgmmoxz0] {
    font-size: 0.875rem;
    margin-bottom: 16px;
}

.start-ai-chat[b-tpkgmmoxz0] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: linear-gradient(135deg, var(--ai) 0%, var(--ai) 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.start-ai-chat:hover[b-tpkgmmoxz0] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

.start-ai-chat i[b-tpkgmmoxz0] {
    font-size: 1rem;
}

/* Responsive */
@media (max-width: 480px) {
    .chat-panel[b-tpkgmmoxz0] {
        width: calc(100vw - 32px);
        height: calc(100vh - 100px);
        max-height: 600px;
    }

    .chat-sidebar[b-tpkgmmoxz0] {
        width: 64px;
    }

    .thread-info[b-tpkgmmoxz0] {
        display: none;
    }

    .sidebar-header[b-tpkgmmoxz0] {
        display: none;
    }

    .new-chat-btn span[b-tpkgmmoxz0] {
        display: none;
    }
}
/* _content/CraftX.Web/Components/Shared/FloatingChat/WhatsAppConversation.razor.rz.scp.css */
/* Deliberate "Verbindung zurücksetzen" hard-reset affordance shown in the disconnected/connect
   empty state. Kept visually subordinate to the primary connect button — it is a rare, destructive
   action gated behind a two-step inline confirm. */

.whatsapp-reset-link[b-jradgxa4jl] {
    margin-top: 0.75rem;
    background: none;
    border: none;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #6c757d);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.whatsapp-reset-link:hover:not(:disabled)[b-jradgxa4jl] {
    color: var(--bs-body-color, #212529);
}

.whatsapp-reset-link:disabled[b-jradgxa4jl] {
    opacity: 0.5;
    cursor: default;
}

.whatsapp-reset-confirm[b-jradgxa4jl] {
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    text-align: center;
    max-width: 18rem;
}

.whatsapp-reset-actions[b-jradgxa4jl] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.wa-text-btn[b-jradgxa4jl] {
    background: none;
    border: none;
    padding: 0.375rem 0.5rem;
    font-size: 0.8125rem;
    color: var(--bs-secondary-color, #6c757d);
    cursor: pointer;
}

.wa-text-btn:hover:not(:disabled)[b-jradgxa4jl] {
    color: var(--bs-body-color, #212529);
}

.wa-text-btn:disabled[b-jradgxa4jl] {
    opacity: 0.5;
    cursor: default;
}

/* "Abbrechen" affordance shown in the sticky pairing view so a user is never trapped on a QR/
   "wird verbunden…" spinner if the pairing stalls (e.g. OpenWA goes away mid-attempt). */
.whatsapp-pairing-cancel[b-jradgxa4jl] {
    margin-top: 1rem;
}
/* _content/CraftX.Web/Components/Shared/IbanBankHint.razor.rz.scp.css */
.iban-bank-hint[b-88n6sqsv0p] { font-size: 12.5px; color: var(--stone, #7a6f64); margin-top: 6px; display: flex; gap: 6px; align-items: center; }
.iban-bank-hint i[b-88n6sqsv0p] { color: var(--cx-success); }
/* _content/CraftX.Web/Components/Shared/Inbox/InboxConversationView.razor.rz.scp.css */
.inbox-conversation[b-svh7lsfd2t] {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
    background: var(--cx-card-bg);
}

.inbox-messages-area[b-svh7lsfd2t] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 18px;
    background:
        linear-gradient(180deg, rgba(34, 197, 94, 0.05), rgba(34, 197, 94, 0) 130px),
        var(--cx-card-bg);
}

.inbox-conversation.is-embedded .inbox-messages-area[b-svh7lsfd2t] {
    padding: 24px 28px;
}

.inbox-empty-state[b-svh7lsfd2t] {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 12px;
    color: var(--cx-text-secondary);
}

.inbox-empty-state > i[b-svh7lsfd2t] {
    font-size: 3.25rem;
    color: #16a34a;
    opacity: 0.42;
}

.inbox-empty-state p[b-svh7lsfd2t] {
    margin: 0;
    font-size: 1rem;
    color: var(--cx-text-primary);
    font-weight: 600;
}

/* ---- Messages ---- */
.inbox-message[b-svh7lsfd2t] {
    display: flex;
    margin-bottom: 8px;
}

.inbox-message-out[b-svh7lsfd2t] {
    justify-content: flex-end;
}

.inbox-message-in[b-svh7lsfd2t] {
    justify-content: flex-start;
}

.inbox-bubble[b-svh7lsfd2t] {
    max-width: min(76%, 560px);
    min-width: 92px;
    padding: 9px 11px 6px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid var(--cx-card-border);
    color: var(--cx-text-primary);
    text-align: left;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.inbox-message-out .inbox-bubble[b-svh7lsfd2t] {
    background: #dcfce7;
    border-color: #bbf7d0;
}

.inbox-message-text[b-svh7lsfd2t] {
    font-size: 0.95rem;
    line-height: 1.38;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.inbox-message-meta[b-svh7lsfd2t] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 4px;
    color: var(--cx-text-muted);
    font-size: 0.68rem;
    line-height: 1;
    white-space: nowrap;
}

.inbox-message-error[b-svh7lsfd2t] {
    margin-top: 6px;
    color: #b91c1c;
    font-size: 0.72rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

/* ---- Attachments ---- */
.inbox-attachment[b-svh7lsfd2t] {
    margin-top: 6px;
}

.inbox-image-preview-btn[b-svh7lsfd2t] {
    display: inline-block;
    max-width: 100%;
    padding: 0;
    margin: 0 0 8px;
    border: 0;
    border-radius: 8px;
    overflow: hidden;
    background: transparent;
    cursor: pointer;
}

.inbox-image-preview[b-svh7lsfd2t] {
    display: block;
    width: auto;
    max-width: min(100%, 320px);
    height: auto;
    max-height: 220px;
    object-fit: contain;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
}

.inbox-caption[b-svh7lsfd2t] {
    margin: 0 0 8px;
    font-size: 0.9rem;
}

.inbox-attachment-file[b-svh7lsfd2t] {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 8px;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.04);
}

.inbox-attachment-file-unavailable[b-svh7lsfd2t] {
    color: var(--cx-text-muted);
    background: rgba(15, 23, 42, 0.025);
}

.inbox-attachment-name[b-svh7lsfd2t] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.84rem;
    font-weight: 600;
}

.inbox-attachment-size[b-svh7lsfd2t] {
    color: var(--cx-text-muted);
    font-size: 0.72rem;
    white-space: nowrap;
}

.inbox-attachment-download[b-svh7lsfd2t] {
    margin-left: auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--cx-text-secondary);
    cursor: pointer;
}

.inbox-attachment-download:hover[b-svh7lsfd2t] {
    background: rgba(15, 23, 42, 0.08);
    color: var(--cx-text-primary);
}

/* ---- Voice player (class names shared with whatsapp-voice.js) ---- */
.wa-voice[b-svh7lsfd2t] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(100%, 260px);
    padding: 8px 12px 8px 8px;
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.04);
}

.inbox-message-out .wa-voice[b-svh7lsfd2t] {
    margin-left: auto;
    background: rgba(255, 255, 255, 0.5);
}

.wa-voice-play[b-svh7lsfd2t] {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}

.wa-voice-play:hover[b-svh7lsfd2t] {
    background: #1ebe5a;
}

.wa-voice-play:active[b-svh7lsfd2t] {
    transform: scale(0.94);
}

.wa-voice-play .bi-play-fill[b-svh7lsfd2t] {
    margin-left: 2px;
}

.wa-voice-body[b-svh7lsfd2t] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wa-voice-top[b-svh7lsfd2t] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.wa-voice-mic[b-svh7lsfd2t] {
    color: #25d366;
    font-size: 0.8rem;
    flex: 0 0 auto;
}

.wa-voice-title[b-svh7lsfd2t] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--cx-text-primary);
}

.wa-voice-track[b-svh7lsfd2t] {
    position: relative;
    height: 4px;
    border-radius: 2px;
    background: rgba(15, 23, 42, 0.15);
    cursor: pointer;
}

.wa-voice-progress[b-svh7lsfd2t] {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    border-radius: 2px;
    background: #25d366;
}

.wa-voice-progress[b-svh7lsfd2t]::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #25d366;
    transform: translateY(-50%);
}

.wa-voice-time[b-svh7lsfd2t] {
    flex: 0 0 auto;
    min-width: 30px;
    text-align: right;
    font-size: 0.72rem;
    color: var(--cx-text-secondary);
    font-variant-numeric: tabular-nums;
}

.wa-voice-audio[b-svh7lsfd2t] {
    display: none;
}

/* ---- Composer ---- */
.inbox-input-area[b-svh7lsfd2t] {
    padding: 12px;
    border-top: 1px solid var(--cx-card-border);
    background: var(--cx-card-bg);
}

.inbox-conversation.is-embedded .inbox-input-area[b-svh7lsfd2t] {
    padding: 14px 28px 18px;
}

.inbox-input-error[b-svh7lsfd2t] {
    color: #b91c1c;
    font-size: 0.8rem;
    margin-bottom: 6px;
}

.inbox-input-wrapper[b-svh7lsfd2t] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.inbox-message-input[b-svh7lsfd2t] {
    flex: 1;
    min-height: 42px;
    max-height: 140px;
    resize: none;
    border: 1px solid var(--cx-card-border);
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
    color: var(--cx-text-primary);
    font-size: 0.95rem;
    outline: none;
}

.inbox-message-input:focus[b-svh7lsfd2t] {
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
}

.inbox-send-btn[b-svh7lsfd2t] {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: #16a34a;
    color: #fff;
    cursor: pointer;
}

.inbox-send-btn:disabled[b-svh7lsfd2t] {
    cursor: not-allowed;
    opacity: 0.55;
}

.inbox-attach-btn[b-svh7lsfd2t] {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--cx-text-secondary);
    font-size: 1.15rem;
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}

.inbox-attach-btn:hover:not(:disabled)[b-svh7lsfd2t] {
    color: #16a34a;
    background: rgba(22, 163, 74, 0.08);
}

.inbox-attach-btn.has-file[b-svh7lsfd2t] {
    color: #16a34a;
}

.inbox-attach-btn.disabled[b-svh7lsfd2t] {
    cursor: not-allowed;
    opacity: 0.55;
    pointer-events: none;
}

.inbox-hidden-file[b-svh7lsfd2t] {
    display: none;
}

.inbox-pending-attachment[b-svh7lsfd2t] {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
    padding: 8px 10px;
    border: 1px solid var(--cx-card-border);
    border-radius: 10px;
    background: rgba(22, 163, 74, 0.06);
}

.inbox-pending-attachment > .bi:first-child[b-svh7lsfd2t] {
    color: #16a34a;
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.inbox-pending-name[b-svh7lsfd2t] {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--cx-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.inbox-pending-size[b-svh7lsfd2t] {
    flex: 0 0 auto;
    font-size: 0.74rem;
    color: var(--cx-text-secondary);
}

.inbox-pending-remove[b-svh7lsfd2t] {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--cx-text-secondary);
    cursor: pointer;
}

.inbox-pending-remove:hover:not(:disabled)[b-svh7lsfd2t] {
    background: rgba(15, 23, 42, 0.08);
    color: var(--cx-text-primary);
}

@media (max-width: 640px) {
    .inbox-bubble[b-svh7lsfd2t] {
        max-width: 84%;
    }
}
/* _content/CraftX.Web/Components/Shared/Inbox/InboxEmailView.razor.rz.scp.css */
.inbox-email[b-plm7n43kis] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.inbox-email-list[b-plm7n43kis] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.inbox-email-item[b-plm7n43kis] {
    border: 1px solid #e6e2dc;
    border-radius: 12px;
    background: #fff;
    padding: 12px 14px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.inbox-email-item.is-out[b-plm7n43kis] {
    border-color: #e2d6c6;
    background: #fbf7f1;
}

.inbox-email-item-head[b-plm7n43kis] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.inbox-email-from[b-plm7n43kis] {
    font-weight: 600;
    color: #3a3632;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    word-break: break-word;
}

.inbox-email-from i[b-plm7n43kis] {
    color: #b8601f;
}

.inbox-email-meta[b-plm7n43kis] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.8rem;
    color: #8a8279;
    white-space: nowrap;
}

.inbox-email-autoreply[b-plm7n43kis] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eef1f5;
    color: #5a6472;
    font-size: 0.72rem;
    font-weight: 600;
}

.inbox-email-subject[b-plm7n43kis] {
    margin-top: 8px;
    font-weight: 600;
    color: #2c2925;
}

.inbox-email-body[b-plm7n43kis] {
    margin: 8px 0 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: inherit;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #423d38;
    background: none;
    border: none;
    padding: 0;
}

.inbox-email-empty[b-plm7n43kis] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    color: #9a9187;
    padding: 32px;
}

.inbox-email-empty i[b-plm7n43kis] {
    font-size: 2rem;
    opacity: 0.5;
}

.inbox-email-empty p[b-plm7n43kis] {
    margin: 0;
    font-weight: 600;
    color: #6f675e;
}

.inbox-email-empty span[b-plm7n43kis] {
    font-size: 0.85rem;
}

.inbox-email-footer[b-plm7n43kis] {
    flex: 0 0 auto;
    border-top: 1px solid #eae6e0;
    padding: 12px 18px;
    background: #faf8f5;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.inbox-email-hint[b-plm7n43kis] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.86rem;
    color: #6f675e;
}

.inbox-email-hint i[b-plm7n43kis] {
    color: #b8601f;
}

.inbox-email-address[b-plm7n43kis] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.inbox-email-address-link[b-plm7n43kis] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #3a3632;
    font-weight: 600;
    text-decoration: none;
    word-break: break-all;
}

.inbox-email-address-link:hover[b-plm7n43kis] {
    text-decoration: underline;
}

.inbox-email-copy[b-plm7n43kis] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid #ddd6cd;
    background: #fff;
    color: #6f675e;
    border-radius: 8px;
    padding: 4px 10px;
    font-size: 0.8rem;
    cursor: pointer;
}

.inbox-email-copy:hover[b-plm7n43kis] {
    background: #f2ede6;
}

/* _content/CraftX.Web/Components/Shared/Inbox/InboxImportChatsDialog.razor.rz.scp.css */
.import-overlay[b-b11ii3fr2e] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.4);
    padding: 20px;
}

.import-card[b-b11ii3fr2e] {
    width: min(560px, 96vw);
    max-height: min(80vh, 720px);
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
    overflow: hidden;
}

.import-head[b-b11ii3fr2e] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--cx-card-border);
}

.import-head h3[b-b11ii3fr2e] {
    margin: 0;
    font-size: 1.08rem;
    color: var(--cx-text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.import-head h3 .bi-whatsapp[b-b11ii3fr2e] {
    color: #16a34a;
}

.import-head p[b-b11ii3fr2e] {
    margin: 6px 0 0;
    font-size: 0.84rem;
    line-height: 1.4;
    color: var(--cx-text-secondary);
}

.import-close[b-b11ii3fr2e] {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--cx-text-muted);
    cursor: pointer;
}

.import-close:hover[b-b11ii3fr2e] {
    background: rgba(15, 23, 42, 0.06);
    color: var(--cx-text-primary);
}

.import-body[b-b11ii3fr2e] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 8px 12px 14px;
}

.import-state[b-b11ii3fr2e] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 44px 24px;
    text-align: center;
    color: var(--cx-text-secondary);
}

.import-state > i[b-b11ii3fr2e] {
    font-size: 2.2rem;
    color: #16a34a;
    opacity: 0.42;
}

.import-state small[b-b11ii3fr2e] {
    font-size: 0.78rem;
    color: var(--cx-text-muted);
}

.import-list[b-b11ii3fr2e] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.import-row[b-b11ii3fr2e] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 8px;
    border-bottom: 1px solid var(--cx-card-border);
}

.import-row-main[b-b11ii3fr2e] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.import-row-name[b-b11ii3fr2e] {
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--cx-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.import-row-sub[b-b11ii3fr2e] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.76rem;
    color: var(--cx-text-muted);
}

.import-row-tag[b-b11ii3fr2e] {
    padding: 1px 7px;
    border-radius: 5px;
    background: #f0fdf4;
    color: #15803d;
    font-weight: 600;
}

.import-row-action[b-b11ii3fr2e] {
    flex: 0 0 auto;
}

.import-btn[b-b11ii3fr2e] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 32px;
    padding: 0 13px;
    border: 1px solid #16a34a;
    border-radius: 8px;
    background: #16a34a;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.import-btn:hover:not(:disabled)[b-b11ii3fr2e] {
    background: #15803d;
}

.import-btn:disabled[b-b11ii3fr2e] {
    opacity: 0.55;
    cursor: not-allowed;
}

.import-btn.is-retry[b-b11ii3fr2e] {
    border-color: #b45309;
    background: #fff;
    color: #b45309;
}

.import-done[b-b11ii3fr2e] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #15803d;
}

.import-loading[b-b11ii3fr2e] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.82rem;
    color: var(--cx-text-secondary);
}

.import-spinner[b-b11ii3fr2e] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(22, 163, 74, 0.3);
    border-top-color: #16a34a;
    border-radius: 50%;
    animation: import-spin-b-b11ii3fr2e 0.7s linear infinite;
}

@keyframes import-spin-b-b11ii3fr2e {
    to { transform: rotate(360deg); }
}

.import-row-error[b-b11ii3fr2e] {
    flex-basis: 100%;
    font-size: 0.76rem;
    color: #b91c1c;
}
/* _content/CraftX.Web/Components/Shared/Jobs/JobPositionsEditor.razor.rz.scp.css */
@media (hover: hover) and (pointer: fine) {
    .cx-po-row .secondary-actions[b-besfm59i1f] {
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease-in-out;
    }

    .cx-po-row:hover .secondary-actions[b-besfm59i1f],
    .cx-po-row.expanded .secondary-actions[b-besfm59i1f] {
        opacity: 1;
        pointer-events: auto;
    }
}
/* _content/CraftX.Web/Components/Shared/Jobs/JobPositionsEditorV2.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════════
   JobPositionsEditorV2 — Side-by-side split pane layout
   Left: scrollable position list  |  Right: sticky detail panel
   ══════════════════════════════════════════════════════════════ */

/* ── Root ── */
.cx-v2-root[b-siokms7a3g] {
    position: relative;
    height: 100%;
}

/* ── Split Pane ── */
.cx-v2-split[b-siokms7a3g] {
    display: flex;
    height: 100%;
    overflow: hidden;
}

/* Prevent text selection while the divider is being dragged */
.cx-v2-split.is-resizing[b-siokms7a3g] {
    user-select: none;
}

/* ── Master (left pane) ── */
.cx-v2-master[b-siokms7a3g] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ── Draggable divider ── */
.cx-v2-divider[b-siokms7a3g] {
    flex: 0 0 16px;
    cursor: col-resize;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--hairline-soft, rgba(28,25,21,0.05));
    border-left: 1px solid var(--hairline, rgba(28,25,21,0.08));
    border-right: 1px solid var(--hairline, rgba(28,25,21,0.08));
    transition: background 0.15s;
}

.cx-v2-divider:hover[b-siokms7a3g],
.cx-v2-split.is-resizing .cx-v2-divider[b-siokms7a3g] {
    background: var(--copper-50, #FBEFE5);
    border-color: var(--copper, #B8601F);
}

/* Grip icon */
.cx-v2-divider-grip[b-siokms7a3g] {
    font-size: 14px;
    color: var(--stone, #8E8679);
    transition: color 0.15s;
    pointer-events: none;
}

.cx-v2-divider:hover .cx-v2-divider-grip[b-siokms7a3g],
.cx-v2-split.is-resizing .cx-v2-divider-grip[b-siokms7a3g] {
    color: var(--copper, #B8601F);
}

/* ── Detail (right pane) ── */
.cx-v2-detail[b-siokms7a3g] {
    flex: 0 0 480px;
    width: 480px;      /* default; overridden by JS from localStorage */
    overflow-y: auto;
    min-height: 0;
    padding: .5rem .75rem .5rem .75rem;
    box-sizing: border-box;
    border-left: none; /* visual separator is now the divider */
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.cx-v2-detail > *[b-siokms7a3g] {
    flex-shrink: 0;
}

/* ── Toolbar (moved from header) ── */
.cx-v2-toolbar[b-siokms7a3g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding-bottom: .375rem;
    border-bottom: 1px solid var(--cx-hairline-soft);
    flex-shrink: 0;
}

.cx-v2-readonly-hint[b-siokms7a3g] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--cx-text-muted);
}

/* ── Netto / Brutto mode toggle (segmented control) ── */
.cx-v2-mode-toggle[b-siokms7a3g] {
    display: inline-flex;
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: white;
    height: 28px;
}

.cx-v2-mode-btn[b-siokms7a3g] {
    appearance: none;
    background: transparent;
    border: none;
    padding: 0 12px;
    font-size: 12px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-secondary);
    cursor: pointer;
    transition: background 0.15s var(--ease), color 0.15s var(--ease);
    line-height: 1;
}

.cx-v2-mode-btn + .cx-v2-mode-btn[b-siokms7a3g] {
    border-left: 1px solid var(--cx-hairline);
}

.cx-v2-mode-btn:hover[b-siokms7a3g] {
    background: var(--paper-2);
}

.cx-v2-mode-btn.is-active[b-siokms7a3g] {
    background: var(--cx-primary);
    color: white;
}

.cx-v2-toolbar-left[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .375rem;
    flex-wrap: wrap;
}

.cx-v2-toolbar-save[b-siokms7a3g] {
    flex-shrink: 0;
    white-space: nowrap;
}

/* ── Detail bar (position context) ── */
.cx-v2-detail-bar[b-siokms7a3g] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.cx-v2-detail-bar-left[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .375rem;
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
}

.cx-v2-detail-bar-right[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
    font-size: .85rem;
    color: var(--cx-text-muted);
}

.cx-v2-detail-bar-qty[b-siokms7a3g] {
    font-family: var(--font-mono);
    font-size: 12px;
}

.cx-v2-detail-bar-amount[b-siokms7a3g] {
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
    font-variant-numeric: tabular-nums;
}

.cx-v2-detail-bar-img-btn[b-siokms7a3g] {
    appearance: none;
    background: transparent;
    border: none;
    padding: 2px 4px;
    color: var(--cx-text-muted);
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: color 0.15s var(--ease), background 0.15s var(--ease);
}

.cx-v2-detail-bar-img-btn:hover[b-siokms7a3g] {
    color: var(--cx-primary);
    background: var(--paper-2);
}

/* Header row: image + title/description side by side */
.cx-v2-header-row[b-siokms7a3g] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.cx-v2-header-row.has-image[b-siokms7a3g] {
    flex-direction: row;
    align-items: stretch;
    gap: .75rem;
}

.cx-v2-header-fields[b-siokms7a3g] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

/* Image */
.cx-v2-img-surface[b-siokms7a3g] {
    width: 130px;
    min-height: 130px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--paper-2);
    cursor: pointer;
    padding: 0;
    transition: border-color 0.15s var(--ease);
}

.cx-v2-img-surface:hover[b-siokms7a3g] { border-color: var(--cx-primary); }

.cx-v2-img-surface img[b-siokms7a3g] {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Title input */
.cx-v2-title-input[b-siokms7a3g] {
    font-weight: 600;
    font-size: .9rem;
    width: 100%;
}

/* Editor wrap */
.cx-v2-editor-wrap[b-siokms7a3g] {
    min-height: 0;
}

/* TextBlock: lock the detail panel so only the RTE scrolls internally, not the whole pane */
.cx-v2-detail.cx-v2-detail--textblock[b-siokms7a3g] {
    overflow: hidden;
}

/* TextBlock: stretch the header row and editor to fill all available detail-pane height */
.cx-v2-header-row.cx-v2-textblock[b-siokms7a3g] {
    flex: 1;
    min-height: 0;
}

/* Propagate the height constraint through the field column so the editor-wrap can grow */
.cx-v2-header-row.cx-v2-textblock .cx-v2-header-fields[b-siokms7a3g] {
    min-height: 0;
}

.cx-v2-header-row.cx-v2-textblock .cx-v2-editor-wrap[b-siokms7a3g] {
    flex: 1;
    min-height: 0;
}

/* Ensure lists display properly inside the RTE content area */
.cx-v2-editor-wrap[b-siokms7a3g]  .e-rte-content .e-content ul {
    list-style-type: disc;
    padding-left: 1.5rem;
    margin: 4px 0;
}
.cx-v2-editor-wrap[b-siokms7a3g]  .e-rte-content .e-content ol {
    list-style-type: decimal;
    padding-left: 1.5rem;
    margin: 4px 0;
}
.cx-v2-editor-wrap[b-siokms7a3g]  .e-rte-content .e-content li {
    display: list-item;
    margin: 2px 0;
}

/* Section head (used by calculation) */
.cx-v2-section-head[b-siokms7a3g] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding-top: .25rem;
    border-top: 1px solid var(--cx-hairline-soft);
}

/* Calculation section */
.cx-v2-calc-section[b-siokms7a3g] {
    display: flex;
    flex-direction: column;
    gap: .375rem;
}

.cx-v2-calc-body[b-siokms7a3g] {
    min-height: 80px;
}

/* Empty state — detail panel */
.cx-v2-detail-empty[b-siokms7a3g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 2rem 1rem;
    color: var(--cx-text-muted);
    font-size: .875rem;
    text-align: center;
    flex: 1;
}

.cx-v2-detail-empty i[b-siokms7a3g] { font-size: 1.5rem; color: var(--copper); }

/* ── Position List Table — themed as cx-line-items shell with sticky header ── */
.cx-v2-table[b-siokms7a3g] {
    border: 1px solid var(--cx-card-border);
    border-radius: var(--radius-xl);
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    padding-bottom: 1rem;
    background: var(--cx-card-bg);
    flex: 1;
    min-height: 0;
}

.cx-v2-head[b-siokms7a3g],
.cx-v2-row[b-siokms7a3g] {
    display: grid;
    grid-template-columns: 28px 36px minmax(0, 2fr) 64px 80px 90px 80px 100px minmax(110px, auto);
    align-items: center;
    gap: .25rem;
}

.cx-v2-head[b-siokms7a3g] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--paper-2);
    padding: 10px 14px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    color: var(--cx-text-muted);
    font-weight: var(--fw-semibold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-bottom: 1px solid var(--cx-hairline);
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
    white-space: nowrap;
}

.cx-v2-head .col-nr[b-siokms7a3g],
.cx-v2-head .col-text[b-siokms7a3g],
.cx-v2-head .col-qty[b-siokms7a3g],
.cx-v2-head .col-unit[b-siokms7a3g],
.cx-v2-head .col-price[b-siokms7a3g],
.cx-v2-head .col-surcharge[b-siokms7a3g] {
    border-right: 1px solid var(--cx-hairline-soft);
}

.cx-v2-row[b-siokms7a3g] {
    padding: .35rem .5rem;
    position: relative;
    border-bottom: 1px solid var(--cx-hairline-soft);
    transition: background-color 0.15s var(--ease), box-shadow 0.15s var(--ease);
    cursor: pointer;
    color: var(--cx-text-primary);
}

.cx-v2-row:hover[b-siokms7a3g] { background: var(--paper-2); }

.cx-v2-row.selected[b-siokms7a3g] {
    background: var(--info-50);
    box-shadow: inset 3px 0 0 var(--cx-info);
}

.cx-v2-row .col-nr[b-siokms7a3g],
.cx-v2-row .col-text[b-siokms7a3g],
.cx-v2-row .col-qty[b-siokms7a3g],
.cx-v2-row .col-unit[b-siokms7a3g],
.cx-v2-row .col-price[b-siokms7a3g],
.cx-v2-row .col-surcharge[b-siokms7a3g] {
    border-right: 1px solid var(--cx-hairline-soft);
}

.cx-v2-row .col[b-siokms7a3g] { display: flex; align-items: center; }
.cx-v2-row .col-text[b-siokms7a3g] { align-items: flex-start; flex-direction: column; gap: .2rem; min-width: 0; }
.cx-v2-row .col-text > *[b-siokms7a3g] { width: 100%; }
.cx-v2-row .col-text .form-control[b-siokms7a3g] { width: 100%; }
.cx-v2-row .cx-num[b-siokms7a3g],
.cx-v2-row .col-surcharge .form-control[b-siokms7a3g] { text-align: right; }
.col-surcharge[b-siokms7a3g] { justify-content: flex-end; }
.cx-v2-head .col-surcharge[b-siokms7a3g],
.cx-v2-head .col-amt[b-siokms7a3g] { justify-content: flex-end; }
.col-amt[b-siokms7a3g] { justify-content: flex-end; font-variant-numeric: tabular-nums; font-family: var(--font-mono); }
.col-amt span[b-siokms7a3g] { white-space: nowrap; font-size: .875rem; font-weight: var(--fw-semibold); }
.cx-v2-row .col-act[b-siokms7a3g] { justify-content: flex-end; }

/* Always-visible status indicators */
.status-indicators[b-siokms7a3g] {
    flex-shrink: 0;
}

.status-indicators .btn[b-siokms7a3g] {
    font-size: .75rem;
    line-height: 1;
    padding: .125rem .25rem;
}

/* Empty state — bob-card style with copper accent */
.cx-v2-empty[b-siokms7a3g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: .375rem;
    padding: 2.5rem 1.25rem;
    background: linear-gradient(135deg, var(--copper-50) 0%, var(--paper) 60%);
    border-top: 1px solid var(--cx-hairline-soft);
}

.cx-v2-empty-icon[b-siokms7a3g] {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-lg);
    background: var(--copper);
    color: white;
    display: grid;
    place-items: center;
    font-size: 18px;
    margin-bottom: .25rem;
}

.cx-v2-empty-title[b-siokms7a3g] {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: var(--fw-bold);
    color: var(--cx-text-primary);
    letter-spacing: -0.01em;
}

.cx-v2-empty-text[b-siokms7a3g] {
    font-size: 12.5px;
    color: var(--cx-text-secondary);
    margin-bottom: .5rem;
}

/* ── Input styling ── */
.cx-input-sm[b-siokms7a3g] {
    height: 30px;
    padding: .2rem .4rem;
    border: 1px solid transparent;
    background: transparent;
    transition: background 0.15s var(--ease), border-color 0.15s var(--ease), box-shadow 0.15s var(--ease);
    border-radius: var(--radius-sm);
    font-size: .875rem;
    color: var(--cx-text-primary);
}

.cx-input-sm:hover[b-siokms7a3g] { background: var(--paper-2); }
.cx-input-sm:focus[b-siokms7a3g] {
    background: white;
    border-color: var(--cx-primary);
    box-shadow: 0 0 0 3px rgba(184, 96, 31, 0.15);
    outline: none;
}

.cx-input-sm.form-select[b-siokms7a3g] { height: 30px; padding-top: .2rem; padding-bottom: .2rem; }

.cx-input-sm.e-control-wrapper[b-siokms7a3g],
.cx-input-sm.e-input-group[b-siokms7a3g],
.cx-input-sm.e-control[b-siokms7a3g] {
    min-height: 30px;
    border-color: transparent;
    box-shadow: none;
    background: transparent;
}

/* ── Autocomplete dropdown ── */
.cx-ac-dropdown[b-siokms7a3g] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    margin-top: 4px;
    overflow: hidden;
}

.cx-ac-item[b-siokms7a3g] {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: .5rem .75rem;
}

.cx-ac-item:hover[b-siokms7a3g] { background: var(--paper-2); }
.cx-ac-item.selected[b-siokms7a3g] { background: var(--copper-50); }
.cx-ac-title[b-siokms7a3g] { font-weight: var(--fw-semibold); color: var(--cx-text-primary); font-size: .88rem; }
.cx-ac-sub[b-siokms7a3g] { color: var(--cx-text-muted); font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cx-ac-empty[b-siokms7a3g] { padding: .75rem; }
.cx-ac-empty .title[b-siokms7a3g] { font-weight: var(--fw-semibold); color: var(--cx-text-primary); margin-bottom: .25rem; }
.cx-ac-empty .subtitle[b-siokms7a3g] { font-size: .8rem; color: var(--cx-text-muted); }
.cx-ac-footer[b-siokms7a3g] {
    padding: .375rem .75rem;
    background: var(--paper);
    border-top: 1px solid var(--cx-hairline-soft);
    display: flex;
    flex-direction: column;
    gap: .125rem;
}

/* ── Drag & drop ── */
.col-drag[b-siokms7a3g] { display: flex; align-items: center; justify-content: center; }

.drag-handle[b-siokms7a3g] {
    cursor: grab;
    color: var(--cx-text-muted);
    opacity: .4;
    transition: opacity 0.15s var(--ease);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
}

.drag-handle:hover[b-siokms7a3g] { opacity: .8; }
.drag-handle:active[b-siokms7a3g] { cursor: grabbing; }
.cx-v2-row.dragging[b-siokms7a3g] { opacity: .5; background: var(--paper-2); }
.cx-v2-row.drag-over[b-siokms7a3g] { border-top: 2px solid var(--cx-primary); }

/* ── Row state styles ── */
.cx-v2-row.row-hidden[b-siokms7a3g] {
    background: var(--paper-2);
    color: var(--cx-text-muted);
}

.cx-v2-row.row-hidden .col-text input[b-siokms7a3g],
.cx-v2-row.row-hidden .col-nr[b-siokms7a3g] {
    text-decoration: line-through;
    color: var(--cx-text-muted);
}

.cx-v2-row.row-optional .col-nr[b-siokms7a3g]::after {
    content: "Opt.";
    display: inline-block;
    margin-left: .25rem;
    font-size: .65rem;
    color: var(--cx-text-muted);
}

.cx-v2-row.row-alternative[b-siokms7a3g] {
    border-left: 3px solid var(--cx-warning);
}

.cx-v2-row.row-textblock .col-qty[b-siokms7a3g],
.cx-v2-row.row-textblock .col-unit[b-siokms7a3g],
.cx-v2-row.row-textblock .col-price[b-siokms7a3g],
.cx-v2-row.row-textblock .col-surcharge[b-siokms7a3g],
.cx-v2-row.row-textblock .col-amt[b-siokms7a3g] {
    visibility: hidden;
    border-right: none;
}

.cx-v2-row.row-textblock[b-siokms7a3g] {
    background: var(--blue-50);
    border-left: 3px solid var(--blue);
}

.alt-badge[b-siokms7a3g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    margin-left: .25rem;
    padding: .1rem .3rem;
    border-radius: var(--radius-pill);
    background: var(--warning-50);
    color: var(--cx-warning);
    font-size: .65rem;
    font-weight: var(--fw-bold);
}

/* ── Action dropdown ── */
.action-dropdown[b-siokms7a3g] {
    position: relative;
    display: inline-block;
}

.action-dropdown-menu[b-siokms7a3g] {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 1050;
    min-width: 200px;
    background: var(--cx-card-bg);
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    padding: .375rem 0;
    display: none;
}

.action-dropdown.open .action-dropdown-menu[b-siokms7a3g] {
    display: block;
}

.cx-v2-toolbar .action-dropdown-menu[b-siokms7a3g] {
    right: auto;
    left: 0;
}

.action-dropdown-item[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: .5rem .875rem;
    border: none;
    background: transparent;
    text-align: left;
    font-size: .875rem;
    color: var(--cx-text-primary);
    cursor: pointer;
    transition: background 0.15s var(--ease);
}

.action-dropdown-item:hover[b-siokms7a3g] { background: var(--paper-2); }
.action-dropdown-item.active[b-siokms7a3g] { background: var(--copper-50); color: var(--cx-primary); }
.action-dropdown-item.danger[b-siokms7a3g] { color: var(--cx-danger); }
.action-dropdown-item.danger:hover[b-siokms7a3g] { background: var(--danger-50); }

.action-dropdown-divider[b-siokms7a3g] {
    height: 1px;
    background: var(--cx-hairline-soft);
    margin: .375rem 0;
}

.action-dropdown-item i[b-siokms7a3g] {
    width: 1rem;
    text-align: center;
    font-size: .9rem;
}

/* ── Alternative dialog ── */
.alt-group-dialog .e-dlg-content[b-siokms7a3g] { padding: 1.25rem !important; }
.alt-group-content[b-siokms7a3g] { display: flex; flex-direction: column; }
.alt-group-options[b-siokms7a3g] { display: flex; flex-direction: column; gap: .5rem; }
.alt-group-option[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    border: 1px solid var(--cx-hairline);
    border-radius: var(--radius-md);
    background: var(--cx-card-bg);
    cursor: pointer;
    transition: background 0.15s var(--ease), border-color 0.15s var(--ease);
    text-align: left;
}

.alt-group-option:hover[b-siokms7a3g] { background: var(--paper-2); border-color: var(--cx-text-muted); }
.alt-group-option.selected[b-siokms7a3g] { background: var(--warning-50); border-color: var(--cx-warning); }
.alt-group-option .alt-letter[b-siokms7a3g] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--cx-warning);
    color: white;
    font-weight: var(--fw-bold);
    border-radius: var(--radius-sm);
    font-size: .875rem;
}

.alt-group-option.remove-alt[b-siokms7a3g] { color: var(--cx-text-muted); }
.alt-group-option.remove-alt:hover[b-siokms7a3g] { background: var(--paper-2); }
.alt-group-option.remove-alt i[b-siokms7a3g] { font-size: 1.25rem; color: var(--cx-text-muted); }
.alt-group-divider[b-siokms7a3g] { height: 1px; background: var(--cx-hairline-soft); margin: .5rem 0; }

/* ── Summary footer (totals row, mirrors .cx-line-items totals-block tokens) ── */
.cx-v2-summary-footer[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 12px 18px;
    border-top: 1px solid var(--cx-hairline);
    background: var(--paper);
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
    font-size: 12.5px;
    flex-shrink: 0;
    flex-wrap: wrap;
    color: var(--cx-text-secondary);
}

.cx-v2-summary-footer .summary-divider[b-siokms7a3g] {
    width: 1px;
    height: 1.25rem;
    background: var(--cx-hairline);
    flex-shrink: 0;
}

.cx-v2-summary-footer .summary-item[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .375rem;
    white-space: nowrap;
}

.cx-v2-summary-footer .summary-label[b-siokms7a3g] {
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--cx-text-muted);
}

.cx-v2-summary-footer .summary-value[b-siokms7a3g] {
    font-weight: var(--fw-semibold);
    font-variant-numeric: tabular-nums;
    color: var(--cx-text-primary);
}

.cx-v2-summary-footer .summary-value.amount[b-siokms7a3g] {
    font-family: var(--font-mono);
}

.cx-v2-summary-footer .summary-item.is-grand .summary-value[b-siokms7a3g] {
    font-size: 14px;
    font-weight: var(--fw-bold);
}

.cx-v2-summary-footer .summary-value.highlight[b-siokms7a3g] {
    color: var(--cx-primary);
}

.cx-v2-summary-footer .summary-value-sm[b-siokms7a3g] {
    font-size: .75rem;
    font-weight: var(--fw-semibold);
    color: var(--cx-text-primary);
    font-variant-numeric: tabular-nums;
}

.cx-v2-summary-footer .summary-progress-item[b-siokms7a3g] {
    min-width: 0;
}

.cx-v2-summary-footer .summary-progress[b-siokms7a3g] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.cx-v2-summary-footer .progress-bar-mini[b-siokms7a3g] {
    width: 60px;
    height: 6px;
    background: var(--cx-hairline-soft);
    border-radius: var(--radius-pill);
    overflow: hidden;
}

.cx-v2-summary-footer .progress-bar-fill[b-siokms7a3g] {
    height: 100%;
    background: var(--cx-success);
    border-radius: var(--radius-pill);
    transition: width 0.3s var(--ease);
}

.cx-v2-summary-footer .summary-info[b-siokms7a3g] {
    color: var(--cx-text-muted);
    font-size: .75rem;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ── Hover show/hide for secondary actions ── */
@media (hover: hover) and (pointer: fine) {
    .cx-v2-row .secondary-actions[b-siokms7a3g] {
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease-in-out;
    }

    .cx-v2-row:hover .secondary-actions[b-siokms7a3g],
    .cx-v2-row.selected .secondary-actions[b-siokms7a3g] {
        opacity: 1;
        pointer-events: auto;
    }
}

/* ── Responsive ── */

/* Wide desktop — give detail pane more space */
@media (min-width: 1600px) {
    .cx-v2-split[b-siokms7a3g] {
        grid-template-columns: 1fr 520px;
    }
}

/* Medium desktop — narrower detail pane */
@media (max-width: 1400px) {
    .cx-v2-split[b-siokms7a3g] {
        grid-template-columns: 1fr 420px;
    }
}

/* Tablet / small desktop — stack vertically */
@media (max-width: 992px) {
    .cx-v2-root[b-siokms7a3g] {
        height: auto;
    }

    .cx-v2-split[b-siokms7a3g] {
        grid-template-columns: 1fr;
        height: auto;
        overflow: visible;
    }

    .cx-v2-master[b-siokms7a3g] {
        overflow: visible;
    }

    .cx-v2-table[b-siokms7a3g] {
        flex: none;
        overflow-y: visible;
        min-height: auto;
    }

    .cx-v2-detail[b-siokms7a3g] {
        padding: 0;
        border-left: none;
        overflow-y: visible;
    }
}

/* Narrow screens — compact grid columns */
@media (max-width: 900px) {
    .cx-v2-head[b-siokms7a3g],
    .cx-v2-row[b-siokms7a3g] {
        grid-template-columns: 24px 28px minmax(0, 1.5fr) 56px 70px 80px 70px 90px minmax(90px, auto);
        font-size: .8rem;
    }
}

@media (max-width: 768px) {
    .cx-v2-toolbar[b-siokms7a3g] {
        flex-wrap: wrap;
    }

    .cx-v2-head[b-siokms7a3g],
    .cx-v2-row[b-siokms7a3g] {
        grid-template-columns: 24px 28px minmax(0, 1fr) 50px 50px 70px 90px minmax(80px, auto);
    }

    .cx-v2-head .col-surcharge[b-siokms7a3g],
    .cx-v2-row .col-surcharge[b-siokms7a3g] {
        display: none;
    }
}

/* ── Scrollbar styling ── */
.cx-v2-detail[b-siokms7a3g],
.cx-v2-table[b-siokms7a3g] {
    scrollbar-width: thin;
    scrollbar-color: var(--cx-hairline) transparent;
}

.cx-v2-detail[b-siokms7a3g]::-webkit-scrollbar,
.cx-v2-table[b-siokms7a3g]::-webkit-scrollbar {
    width: 6px;
}

.cx-v2-detail[b-siokms7a3g]::-webkit-scrollbar-track,
.cx-v2-table[b-siokms7a3g]::-webkit-scrollbar-track {
    background: transparent;
}

.cx-v2-detail[b-siokms7a3g]::-webkit-scrollbar-thumb,
.cx-v2-table[b-siokms7a3g]::-webkit-scrollbar-thumb {
    background: var(--cx-hairline);
    border-radius: var(--radius-pill);
}

.cx-v2-detail[b-siokms7a3g]::-webkit-scrollbar-thumb:hover,
.cx-v2-table[b-siokms7a3g]::-webkit-scrollbar-thumb:hover {
    background: var(--cx-text-muted);
}
/* _content/CraftX.Web/Components/Shared/Jobs/JobTimeTrackingTab.razor.rz.scp.css */
    .job-time-tracking-tab[b-cbi4803n9u] {
        padding: 0;
    }

    .loading-state[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 3rem 2rem;
        color: var(--bs-secondary);
    }

    .empty-state[b-cbi4803n9u] {
        text-align: center;
        padding: 3rem 2rem;
        color: var(--bs-secondary);
    }

    .empty-state i[b-cbi4803n9u] {
        font-size: 3rem;
        display: block;
        margin-bottom: 1rem;
        opacity: 0.4;
    }

    .empty-state h4[b-cbi4803n9u] {
        font-weight: 600;
        margin-bottom: 0.5rem;
        color: var(--bs-body-color);
    }

    .empty-state p[b-cbi4803n9u] {
        font-size: 0.9rem;
    }

    /* Summary Cards */
    .summary-cards[b-cbi4803n9u] {
        display: flex;
        gap: 1rem;
        padding: 1.25rem;
        border-bottom: 1px solid var(--bs-border-color);
        background: var(--paper-2);
    }

    .summary-card[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.75rem 1rem;
        background: white;
        border-radius: 10px;
        border: 1px solid var(--bs-border-color);
        flex: 1;
    }

    .summary-icon[b-cbi4803n9u] {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        background: rgba(31,74,130,0.06);
        color: var(--cx-primary);
        font-size: 1rem;
    }

    .summary-content[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
    }

    .summary-value[b-cbi4803n9u] {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--bs-body-color);
        line-height: 1.2;
    }

    .summary-label[b-cbi4803n9u] {
        font-size: 0.75rem;
        color: var(--cx-text-secondary);
    }

    .unassigned-banner[b-cbi4803n9u] {
        margin: 1.25rem;
        border: 1px solid rgba(169,117,20,0.20);
        border-radius: 10px;
        background: rgba(169,117,20,0.06);
        overflow: hidden;
    }

    .unassigned-header[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 0.875rem 1rem;
        border-bottom: 1px solid rgba(169,117,20,0.20);
        flex-wrap: wrap;
    }

    .unassigned-title[b-cbi4803n9u] {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--cx-warning);
    }

    .unassigned-subtitle[b-cbi4803n9u] {
        font-size: 0.75rem;
        color: #a16207;
    }

    .unassigned-entries[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
    }

    .unassigned-entry[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.625rem 1rem;
        border-bottom: 1px solid rgba(169,117,20,0.15);
        font-size: 0.825rem;
        flex-wrap: wrap;
    }

    .unassigned-entry:last-child[b-cbi4803n9u] {
        border-bottom: none;
    }

    .ue-name[b-cbi4803n9u] {
        font-weight: 600;
        color: var(--cx-text-primary);
        min-width: 140px;
    }

    .ue-date[b-cbi4803n9u] {
        color: var(--cx-text-secondary);
        min-width: 84px;
    }

    .ue-time[b-cbi4803n9u] {
        color: var(--cx-text-primary);
        min-width: 110px;
        font-variant-numeric: tabular-nums;
    }

    .ue-hours[b-cbi4803n9u] {
        color: var(--cx-warning);
        font-weight: 700;
        min-width: 56px;
    }

    .ue-reason[b-cbi4803n9u] {
        display: inline-flex;
        align-items: center;
        padding: 0.125rem 0.375rem;
        border-radius: 999px;
        background: rgba(169,117,20,0.15);
        color: var(--cx-warning);
        font-size: 0.7rem;
        font-weight: 600;
    }

    .assign-btn[b-cbi4803n9u] {
        margin-left: auto;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.35rem 0.7rem;
        border: none;
        border-radius: 6px;
        background: var(--cx-warning);
        color: white;
        font-size: 0.75rem;
        font-weight: 600;
        cursor: pointer;
        transition: background 0.15s ease;
    }

    .assign-btn:hover[b-cbi4803n9u] {
        background: var(--cx-warning);
    }

    .assign-btn:disabled[b-cbi4803n9u] {
        opacity: 0.6;
        cursor: not-allowed;
    }

    /* Date Groups */
    .entries-list[b-cbi4803n9u] {
        padding: 1.25rem;
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .date-group[b-cbi4803n9u] {
        border: 1px solid var(--bs-border-color);
        border-radius: 10px;
        overflow: hidden;
    }

    .date-header[b-cbi4803n9u] {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.625rem 1rem;
        background: var(--paper-2);
        border-bottom: 1px solid var(--bs-border-color);
    }

    .date-label[b-cbi4803n9u] {
        font-weight: 600;
        font-size: 0.85rem;
        color: var(--cx-text-primary);
    }

    .date-hours[b-cbi4803n9u] {
        font-weight: 600;
        font-size: 0.85rem;
        color: var(--cx-primary);
    }

    .date-entries[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
    }

    /* Time Entry Row */
    .time-entry-row[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid var(--paper-2);
    }

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

    .employee-info[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        gap: 0.625rem;
        min-width: 180px;
    }

    .employee-avatar[b-cbi4803n9u] {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--ai);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.7rem;
        font-weight: 700;
        flex-shrink: 0;
    }

    .employee-avatar.small[b-cbi4803n9u] {
        width: 28px;
        height: 28px;
        font-size: 0.65rem;
    }

    .employee-details[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
    }

    .employee-name[b-cbi4803n9u] {
        font-weight: 600;
        font-size: 0.85rem;
        color: var(--cx-text-primary);
    }

    .entry-type-label[b-cbi4803n9u] {
        font-size: 0.75rem;
        color: var(--cx-text-secondary);
    }

    .time-info[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
        min-width: 130px;
    }

    .time-range[b-cbi4803n9u] {
        font-size: 0.85rem;
        font-weight: 500;
        color: var(--cx-text-primary);
        font-variant-numeric: tabular-nums;
    }

    .break-info[b-cbi4803n9u] {
        font-size: 0.75rem;
        color: var(--cx-text-muted);
    }

    .hours-info[b-cbi4803n9u] {
        min-width: 60px;
        text-align: right;
    }

    .hours-value[b-cbi4803n9u] {
        font-weight: 700;
        font-size: 0.9rem;
        color: var(--cx-text-primary);
    }

    .hours-value.in-progress[b-cbi4803n9u] {
        color: var(--cx-text-muted);
    }

    .status-info[b-cbi4803n9u] {
        min-width: 100px;
        text-align: right;
    }

    .status-badge[b-cbi4803n9u] {
        display: inline-block;
        padding: 0.2rem 0.5rem;
        border-radius: 20px;
        font-size: 0.7rem;
        font-weight: 600;
    }

    .status-badge.in-progress[b-cbi4803n9u] {
        background: rgba(31,74,130,0.12);
        color: var(--cx-primary);
    }

    .status-badge.completed[b-cbi4803n9u] {
        background: rgba(63,125,91,0.15);
        color: var(--cx-success);
    }

    .status-badge.approved[b-cbi4803n9u] {
        background: rgba(63,125,91,0.06);
        color: var(--cx-success);
        border: 1px solid rgba(63,125,91,0.30);
    }

    .status-badge.needs-correction[b-cbi4803n9u] {
        background: rgba(154,59,51,0.06);
        color: var(--cx-danger);
    }

    .status-badge.corrected[b-cbi4803n9u] {
        background: rgba(169,117,20,0.06);
        color: var(--cx-warning);
    }

    .entry-description[b-cbi4803n9u] {
        padding: 0.25rem 1rem 0.625rem 3.75rem;
        font-size: 0.8rem;
        color: var(--cx-text-secondary);
        border-bottom: 1px solid var(--paper-2);
    }

    /* Employee Summary */
    .employee-summary[b-cbi4803n9u] {
        margin: 0 1.25rem 1.25rem;
        border: 1px solid var(--bs-border-color);
        border-radius: 10px;
        overflow: hidden;
    }

    .employee-summary .summary-header[b-cbi4803n9u] {
        padding: 0.625rem 1rem;
        background: var(--paper-2);
        font-weight: 600;
        font-size: 0.85rem;
        color: var(--cx-text-primary);
        border-bottom: 1px solid var(--bs-border-color);
    }

    .summary-rows[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
    }

    .summary-row[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 0.625rem 1rem;
        border-bottom: 1px solid var(--paper-2);
    }

    .summary-row:last-child[b-cbi4803n9u] {
        border-bottom: none;
    }

    .summary-row .employee-name[b-cbi4803n9u] {
        flex: 1;
    }

    .summary-row .entry-count[b-cbi4803n9u] {
        font-size: 0.8rem;
        color: var(--cx-text-muted);
    }

    .summary-row .hours-total[b-cbi4803n9u] {
        font-weight: 700;
        font-size: 0.9rem;
        color: var(--cx-primary);
        min-width: 60px;
        text-align: right;
    }

    .dialog-overlay[b-cbi4803n9u] {
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, 0.45);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1100;
        padding: 1rem;
    }

    .dialog-card[b-cbi4803n9u] {
        width: min(480px, 100%);
        background: white;
        border-radius: 12px;
        box-shadow: 0 24px 64px rgba(15, 23, 42, 0.25);
        overflow: hidden;
    }

    .dialog-header[b-cbi4803n9u] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--cx-border);
    }

    .dialog-header h4[b-cbi4803n9u] {
        margin: 0;
        font-size: 1rem;
        font-weight: 700;
        color: var(--cx-text-primary);
    }

    .dialog-close[b-cbi4803n9u] {
        border: none;
        background: transparent;
        color: var(--cx-text-secondary);
        cursor: pointer;
    }

    .dialog-body[b-cbi4803n9u] {
        padding: 1rem 1.25rem;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .dialog-text[b-cbi4803n9u] {
        margin: 0;
        color: var(--cx-text-secondary);
        font-size: 0.9rem;
    }

    .dialog-entry[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        padding: 0.875rem 1rem;
        border-radius: 10px;
        background: var(--paper-2);
        border: 1px solid var(--cx-border);
        color: var(--cx-text-primary);
        font-size: 0.85rem;
    }

    .dialog-target[b-cbi4803n9u] {
        display: flex;
        flex-direction: column;
        gap: 0.25rem;
        padding: 0.75rem 1rem;
        border-radius: 10px;
        background: rgba(169,117,20,0.06);
        border: 1px solid rgba(169,117,20,0.20);
    }

    .dialog-target-label[b-cbi4803n9u] {
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #a16207;
    }

    .dialog-select-label[b-cbi4803n9u] {
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--cx-warning);
    }

    .dialog-select[b-cbi4803n9u] {
        min-width: 260px;
    }

    .dialog-target-hint[b-cbi4803n9u] {
        font-size: 0.75rem;
        color: var(--cx-warning);
    }

    .dialog-actions[b-cbi4803n9u] {
        display: flex;
        justify-content: flex-end;
        gap: 0.75rem;
        padding: 0 1.25rem 1.25rem;
    }

    @media (max-width: 768px) {
        .summary-cards[b-cbi4803n9u] {
            flex-direction: column;
        }

        .time-entry-row[b-cbi4803n9u] {
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .employee-info[b-cbi4803n9u] {
            min-width: 100%;
        }

        .status-info[b-cbi4803n9u] {
            text-align: left;
        }

        .unassigned-header[b-cbi4803n9u] {
            flex-direction: column;
            align-items: flex-start;
        }

        .assign-btn[b-cbi4803n9u] {
            margin-left: 0;
            width: 100%;
            justify-content: center;
        }
    }
/* _content/CraftX.Web/Components/Shared/Jobs/V2/JobV2ImportNotice.razor.rz.scp.css */
.import-notice[b-gl97ahtr01] {
    display: flex;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 12px;
    background: #f8f5f0;
    border: 1px solid #eadfd0;
    border-radius: 10px;
    color: #655b50;
    font-size: 13px;
}
.import-notice i[b-gl97ahtr01] { color: #b45f1b; padding-top: 2px; }
.import-notice strong[b-gl97ahtr01], .import-notice span[b-gl97ahtr01] { display: block; }
.import-notice strong[b-gl97ahtr01] { color: #39342e; margin-bottom: 3px; }
/* _content/CraftX.Web/Components/Shared/Jobs/V2/Tabs/JobV2DocumentsTab.razor.rz.scp.css */
.status-menu-wrapper[b-9dn1lsy9d7] {
    position: relative;
    display: inline-block;
}

.status-chip-btn[b-9dn1lsy9d7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    border: none;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    transition: opacity 0.15s;
}

.status-chip-btn:hover[b-9dn1lsy9d7] {
    opacity: 0.85;
}

.status-chip-btn i[b-9dn1lsy9d7] {
    font-size: 10px;
    opacity: 0.7;
}

.doc-status-menu[b-9dn1lsy9d7] {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    background: var(--surface-card, #fff);
    border: 1px solid var(--border-default, #e5e7eb);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    min-width: 200px;
    z-index: 200;
    padding: 4px 0;
}

.doc-status-menu-item[b-9dn1lsy9d7] {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 8px 14px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-primary, #111827);
    transition: background 0.1s;
}

.doc-status-menu-item:hover[b-9dn1lsy9d7] {
    background: var(--surface-hover, #f3f4f6);
}

.job-v2-docs__followup-summary[b-9dn1lsy9d7] {
    display: flex;
    gap: 12px;
    margin: 0 16px 12px;
    padding: 12px 14px;
    border: 1px solid rgba(190, 111, 45, 0.24);
    border-radius: 8px;
    background: rgba(190, 111, 45, 0.07);
}

.job-v2-docs__followup-summary-icon[b-9dn1lsy9d7] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cx-copper, #b76b2c);
    background: rgba(190, 111, 45, 0.12);
    flex: 0 0 auto;
}

.job-v2-docs__followup-summary-body[b-9dn1lsy9d7] {
    min-width: 0;
}

.job-v2-docs__followup-summary-title[b-9dn1lsy9d7] {
    font-weight: 700;
    color: var(--cx-text, #24211f);
    line-height: 1.25;
}

.job-v2-docs__followup-summary-meta[b-9dn1lsy9d7],
.job-v2-docs__followup-inline[b-9dn1lsy9d7] {
    color: var(--cx-text-muted, #8a8178);
    font-size: 13px;
}

.job-v2-docs__followup-note[b-9dn1lsy9d7] {
    margin-top: 6px;
    color: var(--cx-text, #24211f);
    font-size: 14px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.job-v2-docs__followup-inline[b-9dn1lsy9d7] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    min-width: 0;
}

.job-v2-docs__followup-inline i[b-9dn1lsy9d7] {
    color: var(--cx-copper, #b76b2c);
}

.job-v2-docs__followup-inline-note[b-9dn1lsy9d7] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--cx-text, #24211f);
}
/* _content/CraftX.Web/Components/Shared/Nachfassen/NachfassDrawer.razor.rz.scp.css */
.nachfass-drawer[b-eb984qx784] {
    position: fixed;
    inset: 0;
    /* Must beat the sticky topbar (.cx-shell topbar = z-index 1100), otherwise the
       panel slides in *behind* the appbar and its header is clipped. */
    z-index: 1200;
    pointer-events: none;
    visibility: hidden;
}

.nachfass-drawer--open[b-eb984qx784] {
    pointer-events: auto;
    visibility: visible;
}

.nachfass-drawer__backdrop[b-eb984qx784] {
    position: absolute;
    inset: 0;
    background: rgba(28, 25, 21, 0.32);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.nachfass-drawer--open .nachfass-drawer__backdrop[b-eb984qx784] {
    opacity: 1;
}

/* The panel hosts the light NachfassWorkspace surface; here we only own position, motion and a
   light backing so the surface is seamless. */
.nachfass-drawer__panel[b-eb984qx784] {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 440px;
    max-width: 92vw;
    background: var(--paper, #faf7f2);
    box-shadow: -12px 0 32px rgba(28, 25, 21, 0.28);
    transform: translateX(100%);
    transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}

.nachfass-drawer--open .nachfass-drawer__panel[b-eb984qx784] {
    transform: translateX(0);
}

.nachfass-drawer__close[b-eb984qx784] {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    background: rgba(28, 25, 21, 0.06);
    color: var(--walnut, #4a443c);
    cursor: pointer;
    transition: background 0.15s ease;
}

.nachfass-drawer__close:hover[b-eb984qx784] {
    background: rgba(28, 25, 21, 0.12);
}
/* _content/CraftX.Web/Components/Shared/Nachfassen/NachfassWorkspace.razor.rz.scp.css */
/* ==========================================================================
   Nachfassen-Workspace — light "Angebot im Detail" panel (mockup parity).
   Container-agnostic: fills the cockpit Split pane or the off-canvas drawer.
   Reuses global tokens (--copper #B8601F, paper/sand/ink, --font-display/-mono).
   2-column facts|action layout collapses to one column via a container query, so
   it stays correct in the wide Split pane AND the narrow drawer.
   ========================================================================== */

.nfw[b-hvfaplxjyv] {
    --nfw-ease: cubic-bezier(.22, .61, .36, 1);
    --nfw-violet: #5B4B8A;
    --nfw-violet-50: #EEEBF5;
    --nfw-hairline: rgba(28, 25, 21, .08);
    --nfw-hairline-soft: rgba(28, 25, 21, .05);
    container-type: inline-size;
    height: 100%;
    overflow-y: auto;
    background: var(--paper, #FAF7F2);
    font-family: var(--font-sans);
    color: var(--ink, #1C1915);
}

.nfw--empty[b-hvfaplxjyv] { display: flex; align-items: center; justify-content: center; }
.nfw__placeholder[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 40px 16px;
    color: var(--stone, #8E8679);
    font-size: 13px;
}

/* ── Detail header ─────────────────────────────────────── */
.nfw__head[b-hvfaplxjyv] {
    background: #fff;
    border-bottom: 1px solid var(--nfw-hairline);
    padding: 16px 20px;
}
.nfw__back[b-hvfaplxjyv] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: none;
    border: none;
    padding: 0 0 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--walnut, #4A443C);
    cursor: pointer;
}
.nfw__back:hover[b-hvfaplxjyv] { color: var(--copper, #B8601F); }

.nfw__head-top[b-hvfaplxjyv] { display: flex; align-items: flex-start; gap: 14px; }
.nfw__head-id[b-hvfaplxjyv] { min-width: 0; flex: 1; }
.nfw__cust[b-hvfaplxjyv] {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.1;
    color: var(--ink, #1C1915);
}
.nfw__proj[b-hvfaplxjyv] { margin-top: 3px; font-size: 13px; color: var(--walnut, #4A443C); }
.nfw__val[b-hvfaplxjyv] { text-align: right; flex: 0 0 auto; }
.nfw__val-n[b-hvfaplxjyv] {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink, #1C1915);
    font-variant-numeric: tabular-nums;
}
.nfw__val-l[b-hvfaplxjyv] {
    font-family: var(--font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--stone, #8E8679);
}
.nfw__meta[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.nfw-meta-sig[b-hvfaplxjyv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--walnut, #4A443C);
}
.nfw-meta-sig i[b-hvfaplxjyv] { opacity: .7; }

/* Discreet jump-offs (Angebot ansehen / Auftrag öffnen) — quiet borderless links so they read as
   secondary affordances, never competing with the primary follow-up actions. Muted ink that only
   warms to copper on hover; there when the user wants the document or the underlying Auftrag. */
.nfw-jump[b-hvfaplxjyv] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 4px;
    font-size: 12px;
    font-weight: 500;
    color: var(--stone, #8E8679);
    background: transparent;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    transition: color .15s ease;
}
.nfw-jump:hover[b-hvfaplxjyv] { color: var(--copper, #B8601F); }
.nfw-jump i[b-hvfaplxjyv] { font-size: 12px; opacity: .8; }

.nfw-tag[b-hvfaplxjyv] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: .03em;
    white-space: nowrap;
    background: var(--sand, #F0ECE4);
    color: var(--walnut, #4A443C);
}
.nfw-tag.info[b-hvfaplxjyv] { background: #EEF3FB; color: var(--cx-info, #1F4A82); }
.nfw-tag.warning[b-hvfaplxjyv] { background: #FAF1DE; color: var(--cx-warning, #A97514); }
.nfw-tag.danger[b-hvfaplxjyv] { background: #F7E7E5; color: var(--cx-danger, #9A3B33); }

/* ── Body ──────────────────────────────────────────────── */
.nfw__body[b-hvfaplxjyv] {
    padding: 16px 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.nfw-block__title[b-hvfaplxjyv],
.nfw-card__h[b-hvfaplxjyv] {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink, #1C1915);
}
.nfw-block__title[b-hvfaplxjyv] { margin-bottom: 10px; }

/* ── Channel pills (Kontaktweg) ────────────────────────── */
.nachfass-channels[b-hvfaplxjyv] { display: flex; gap: 8px; flex-wrap: wrap; }
.nachfass-channel[b-hvfaplxjyv] {
    position: relative;
    flex: 1 1 0;
    min-width: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid var(--nfw-hairline);
    border-radius: 9px;
    background: #fff;
    color: var(--walnut, #4A443C);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s var(--nfw-ease);
}
.nachfass-channel i[b-hvfaplxjyv] { font-size: 15px; }
.nachfass-channel:hover[b-hvfaplxjyv] { border-color: var(--copper, #B8601F); color: var(--ink, #1C1915); }
.nachfass-channel.active[b-hvfaplxjyv] {
    border-color: var(--copper, #B8601F);
    background: var(--copper-50, #FBEFE5);
    color: var(--copper-dark, #8A4514);
}
.nachfass-channel.recommended[b-hvfaplxjyv] { border-color: color-mix(in srgb, var(--copper, #B8601F) 55%, transparent); }
.nachfass-channel__star[b-hvfaplxjyv] {
    position: absolute;
    top: 4px;
    right: 6px;
    font-size: 9px;
    color: var(--copper, #B8601F);
}
.nachfass-channels__hint[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 11.5px;
    color: var(--stone, #8E8679);
}

/* phone links (call channel) */
.nfw-contact[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 8px;
    padding: 9px 12px;
    border: 1px solid var(--nfw-hairline);
    border-radius: 9px;
    background: #fff;
    text-decoration: none;
    color: var(--ink, #1C1915);
    transition: border-color .15s ease, background .15s ease;
}
.nfw-contact:hover[b-hvfaplxjyv] { border-color: var(--cx-info, #1F4A82); background: #EEF3FB; }
.nfw-contact i[b-hvfaplxjyv] { font-size: 17px; color: var(--cx-info, #1F4A82); }
.nfw-contact__label[b-hvfaplxjyv] { display: block; font-size: 11px; color: var(--stone, #8E8679); }
.nfw-contact__value[b-hvfaplxjyv] { font-size: 15px; font-weight: 600; }

.nfw-notice[b-hvfaplxjyv] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #FAF1DE;
    color: var(--cx-warning, #A97514);
    font-size: 12px;
    line-height: 1.4;
}

/* ── Two-column facts | action ─────────────────────────── */
.nfw-cols[b-hvfaplxjyv] { display: grid; grid-template-columns: 1fr; gap: 14px; }
.nfw-colL[b-hvfaplxjyv], .nfw-colR[b-hvfaplxjyv] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

@container (min-width: 720px) {
    .nfw-cols[b-hvfaplxjyv] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
}

/* ── Card shell ────────────────────────────────────────── */
.nfw-card[b-hvfaplxjyv] {
    background: #fff;
    border: 1px solid var(--nfw-hairline);
    border-radius: 12px;
    overflow: hidden;
}
.nfw-card__h[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--nfw-hairline-soft);
}
.nfw-card__ic[b-hvfaplxjyv] {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: var(--copper-50, #FBEFE5);
    color: var(--copper, #B8601F);
    font-size: 13px;
}
.nfw-card__b[b-hvfaplxjyv] { padding: 14px 16px; }

/* ── Angebotsübersicht ─────────────────────────────────── */
.nachfass-overview[b-hvfaplxjyv] { display: flex; flex-direction: column; }
.nachfass-overview__row[b-hvfaplxjyv] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--nfw-hairline-soft);
    font-size: 13px;
    color: var(--ink, #1C1915);
}
.nachfass-overview__desc[b-hvfaplxjyv] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nachfass-overview__amount[b-hvfaplxjyv] { flex: 0 0 auto; font-family: var(--font-mono); font-weight: 600; }
.nachfass-overview__total[b-hvfaplxjyv] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1.5px solid var(--nfw-hairline);
    font-weight: 700;
    font-size: 13.5px;
    color: var(--ink, #1C1915);
}
.nachfass-overview__total span:last-child[b-hvfaplxjyv] { color: var(--copper, #B8601F); font-family: var(--font-mono); }

.nachfass-overview__cost[b-hvfaplxjyv] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 10px;
    font-size: 12.5px;
    color: var(--stone, #8E8679);
}
.nachfass-overview__cost span:last-child[b-hvfaplxjyv] { font-family: var(--font-mono); }
.nachfass-overview__markup[b-hvfaplxjyv] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0 2px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--cx-success, #3F7D5B);
}
.nachfass-overview__markup span:last-child[b-hvfaplxjyv] { font-family: var(--font-mono); }
.nachfass-overview__markup.negative[b-hvfaplxjyv] { color: var(--cx-danger, #9A3B33); }
.nachfass-overview__note[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    font-size: 11px;
    color: var(--stone, #8E8679);
}
.nachfass-overview__note.danger[b-hvfaplxjyv] { color: var(--cx-danger, #9A3B33); }
.nachfass-overview__note.muted[b-hvfaplxjyv] { color: var(--stone, #8E8679); font-style: italic; }

/* ── Verlauf timeline ──────────────────────────────────── */
.nachfass-timeline[b-hvfaplxjyv] { display: flex; flex-direction: column; }
.nachfass-timeline__item[b-hvfaplxjyv] { display: flex; gap: 12px; padding-bottom: 16px; position: relative; }
.nachfass-timeline__item:last-child[b-hvfaplxjyv] { padding-bottom: 0; }
.nachfass-timeline__item[b-hvfaplxjyv]::before {
    content: '';
    position: absolute;
    left: 13px;
    top: 26px;
    bottom: -2px;
    width: 2px;
    background: var(--nfw-hairline);
}
.nachfass-timeline__item:last-child[b-hvfaplxjyv]::before { display: none; }
.nachfass-timeline__dot[b-hvfaplxjyv] {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 13px;
    color: #fff;
    z-index: 1;
    background: var(--stone, #8E8679);
}
.nachfass-timeline__dot.copper[b-hvfaplxjyv] { background: var(--copper, #B8601F); }
.nachfass-timeline__dot.info[b-hvfaplxjyv] { background: var(--cx-info, #1F4A82); }
.nachfass-timeline__dot.success[b-hvfaplxjyv] { background: var(--cx-success, #3F7D5B); }
.nachfass-timeline__dot.warning[b-hvfaplxjyv] { background: var(--cx-warning, #A97514); }
.nachfass-timeline__dot.danger[b-hvfaplxjyv] { background: var(--cx-danger, #9A3B33); }
.nachfass-timeline__body[b-hvfaplxjyv] { min-width: 0; padding-top: 3px; }
.nachfass-timeline__title[b-hvfaplxjyv] { font-size: 13px; font-weight: 600; color: var(--ink, #1C1915); }
.nachfass-timeline__sub[b-hvfaplxjyv] { font-size: 11.5px; color: var(--stone, #8E8679); margin-top: 1px; }
/* A recorded note (Gesprächsnotiz) — a quoted line under the date so it stays fully readable
   and never displaces the timestamp. */
.nachfass-timeline__note[b-hvfaplxjyv] {
    margin-top: 5px;
    padding: 6px 9px;
    font-size: 12px;
    font-style: italic;
    line-height: 1.4;
    color: var(--walnut, #4A443C);
    background: var(--copper-50, #FBEFE5);
    border-left: 2px solid var(--copper, #B8601F);
    border-radius: 0 6px 6px 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* ── Call guide + Bob tips ─────────────────────────────── */
.nfw-guide__prompt[b-hvfaplxjyv] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 9px;
    background: var(--paper-2, #F5F1E8);
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--ink, #1C1915);
}
.nfw-guide__prompt i[b-hvfaplxjyv] { color: var(--copper, #B8601F); margin-top: 2px; }
.nfw-guide__checklist[b-hvfaplxjyv] { display: grid; gap: 6px; margin-top: 10px; font-size: 12.5px; color: var(--walnut, #4A443C); }
.nfw-guide__checklist div[b-hvfaplxjyv] { display: flex; align-items: center; gap: 6px; }
.nfw-guide__checklist i[b-hvfaplxjyv] { color: var(--cx-success, #3F7D5B); }

.nfw-tips[b-hvfaplxjyv] {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 9px;
    background: var(--nfw-violet-50);
    border: 1px solid rgba(91, 75, 138, .2);
}
.nfw-tips__title[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--nfw-violet);
    margin-bottom: 6px;
}
.nfw-tips__item[b-hvfaplxjyv] { font-size: 12.5px; line-height: 1.5; color: var(--ink, #1C1915); padding: 2px 0 2px 14px; position: relative; }
.nfw-tips__item[b-hvfaplxjyv]::before { content: '—'; position: absolute; left: 0; color: var(--nfw-violet); }
.nfw-tips__loading[b-hvfaplxjyv] { display: flex; justify-content: center; padding: 8px; }

/* ── Composer (Bobs Erinnerung) ────────────────────────── */
.nfw-compose[b-hvfaplxjyv] {
    border: 1px solid rgba(91, 75, 138, .25);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.nfw-compose__h[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px 16px;
    background: linear-gradient(120deg, var(--nfw-violet-50), #fff);
    border-bottom: 1px solid rgba(91, 75, 138, .18);
}
.nfw-compose__av[b-hvfaplxjyv] {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--nfw-violet), #8370c0);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 13px;
    flex: 0 0 auto;
}
.nfw-compose__t[b-hvfaplxjyv] { font-size: 13px; font-weight: 700; color: var(--ink, #1C1915); }
.nfw-compose__s[b-hvfaplxjyv] {
    font-family: var(--font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--nfw-violet);
    margin-top: 1px;
}
.nfw-compose__b[b-hvfaplxjyv] { padding: 14px 16px; }
.nfw-compose__text[b-hvfaplxjyv] {
    font-size: 13px;
    line-height: 1.6;
    resize: vertical;
    min-height: 150px;
    border-radius: 8px;
}
.nfw-compose__f[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    border-top: 1px solid var(--nfw-hairline-soft);
    background: var(--paper, #FAF7F2);
}
.nfw-compose__by[b-hvfaplxjyv] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--stone, #8E8679);
}
.nfw-compose__by i[b-hvfaplxjyv] { color: var(--nfw-violet); }
.nfw-compose__sent[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 16px 14px;
    font-size: 12px;
    font-weight: 600;
    color: var(--cx-success, #3F7D5B);
}

/* tone pills */
.nachfass-tone[b-hvfaplxjyv] { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 12px; }
.nachfass-tone__label[b-hvfaplxjyv] {
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--stone, #8E8679);
    margin-right: 2px;
}
.nachfass-tone__pill[b-hvfaplxjyv] {
    padding: 4px 12px;
    border: 1px solid var(--nfw-hairline);
    border-radius: 999px;
    background: #fff;
    color: var(--walnut, #4A443C);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s var(--nfw-ease);
}
.nachfass-tone__pill:hover:not(:disabled)[b-hvfaplxjyv] { color: var(--ink, #1C1915); border-color: var(--copper, #B8601F); }
.nachfass-tone__pill.active[b-hvfaplxjyv] { background: var(--ink, #1C1915); color: #fff; border-color: var(--ink, #1C1915); }
.nachfass-tone__pill:disabled[b-hvfaplxjyv] { opacity: .5; cursor: default; }

/* ── Ergebnis ──────────────────────────────────────────── */
.nfw-outcomes[b-hvfaplxjyv] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@container (max-width: 460px) { .nfw-outcomes[b-hvfaplxjyv] { grid-template-columns: 1fr; } }
.nfw-outcome[b-hvfaplxjyv] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 11px;
    border: 1px solid var(--nfw-hairline);
    border-radius: 9px;
    background: #fff;
    color: var(--ink, #1C1915);
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.nfw-outcome:hover[b-hvfaplxjyv] { border-color: color-mix(in srgb, var(--copper, #B8601F) 40%, transparent); }
.nfw-outcome.active[b-hvfaplxjyv] { border-color: var(--copper, #B8601F); background: var(--copper-50, #FBEFE5); }
.nfw-outcome i[b-hvfaplxjyv] { margin-top: 2px; color: var(--stone, #8E8679); }
.nfw-outcome.active i[b-hvfaplxjyv] { color: var(--copper, #B8601F); }
.nfw-outcome strong[b-hvfaplxjyv] { display: block; font-size: 13px; line-height: 1.2; }
.nfw-outcome small[b-hvfaplxjyv] { display: block; margin-top: 2px; font-size: 11px; color: var(--stone, #8E8679); line-height: 1.3; }

.nfw-field[b-hvfaplxjyv] { display: grid; gap: 4px; margin-top: 12px; }
.nfw-field label[b-hvfaplxjyv] { font-size: 11px; font-weight: 600; color: var(--walnut, #4A443C); }
.nfw-field .form-control[b-hvfaplxjyv], .nfw-field .form-select[b-hvfaplxjyv] { font-size: 13px; }
.nfw-field textarea.form-control[b-hvfaplxjyv] { resize: vertical; min-height: 74px; }
.nfw-req[b-hvfaplxjyv] { color: var(--cx-danger, #9A3B33); font-weight: 600; font-size: 11px; margin-left: 6px; }
.nfw-opt[b-hvfaplxjyv] { color: var(--stone, #8E8679); font-weight: 400; font-size: 11px; margin-left: 6px; }

.nfw-result[b-hvfaplxjyv] { margin-top: 2px; }

/* ── Buttons ───────────────────────────────────────────── */
.nfw .btn[b-hvfaplxjyv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 38px;
    padding: 0 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
}
.nfw .btn.primary[b-hvfaplxjyv] { background: var(--copper, #B8601F); color: #fff; }
.nfw .btn.primary:hover:not(:disabled)[b-hvfaplxjyv] { background: var(--copper-dark, #8A4514); }
.nfw .btn.success[b-hvfaplxjyv] { background: var(--cx-success, #3F7D5B); color: #fff; margin-top: 14px; }
.nfw .btn.success:hover:not(:disabled)[b-hvfaplxjyv] { filter: brightness(.95); }
.nfw .btn:disabled[b-hvfaplxjyv] { opacity: .55; cursor: default; }
.nfw .btn.w-100[b-hvfaplxjyv] { width: 100%; }

/* ── "Erinnern in …" snooze (header) ───────────────────── */
.nfw-remind[b-hvfaplxjyv] { position: relative; margin-left: auto; }
.nfw-remind__btn[b-hvfaplxjyv] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border: 1px solid var(--nfw-hairline);
    border-radius: 999px;
    background: #fff;
    color: var(--walnut, #4A443C);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s var(--nfw-ease);
}
.nfw-remind__btn:hover:not(:disabled)[b-hvfaplxjyv],
.nfw-remind__btn.open[b-hvfaplxjyv] { border-color: var(--copper, #B8601F); color: var(--copper-dark, #8A4514); background: var(--copper-50, #FBEFE5); }
.nfw-remind__btn:disabled[b-hvfaplxjyv] { opacity: .6; cursor: default; }
.nfw-remind__caret[b-hvfaplxjyv] { font-size: 9px; opacity: .7; transition: transform .15s ease; }
.nfw-remind__btn.open .nfw-remind__caret[b-hvfaplxjyv] { transform: rotate(180deg); }

.nfw-remind__backdrop[b-hvfaplxjyv] { position: fixed; inset: 0; z-index: 30; }
.nfw-remind__menu[b-hvfaplxjyv] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 31;
    min-width: 210px;
    padding: 6px;
    background: #fff;
    border: 1px solid var(--nfw-hairline);
    border-radius: 11px;
    box-shadow: 0 12px 32px rgba(28, 25, 21, .16);
    animation: nfw-remind-in-b-hvfaplxjyv .14s var(--nfw-ease);
}
@keyframes nfw-remind-in-b-hvfaplxjyv { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.nfw-remind__head[b-hvfaplxjyv] {
    padding: 4px 10px 6px;
    font-family: var(--font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--stone, #8E8679);
}
.nfw-remind__item[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 10px;
    border: none;
    border-radius: 8px;
    background: none;
    color: var(--ink, #1C1915);
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background .12s ease;
}
.nfw-remind__item:hover[b-hvfaplxjyv] { background: var(--copper-50, #FBEFE5); }
.nfw-remind__item i[b-hvfaplxjyv] { color: var(--cx-warning, #A97514); font-size: 14px; }
.nfw-remind__item span[b-hvfaplxjyv] { flex: 1; }
.nfw-remind__item em[b-hvfaplxjyv] {
    font-family: var(--font-mono);
    font-style: normal;
    font-size: 11px;
    color: var(--stone, #8E8679);
}

/* ── Empfänger (composer) ─────────────────────────────── */
.nfw-recipient[b-hvfaplxjyv] {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 14px 16px 0;
    font-size: 11.5px;
    color: var(--stone, #8E8679);
}
.nfw-recipient i[b-hvfaplxjyv] {
    position: relative;
    top: 1px;
    flex: 0 0 auto;
}
.nfw-recipient strong[b-hvfaplxjyv] {
    font-weight: 600;
    color: var(--walnut, #4A443C);
    word-break: break-all;
}

/* ── WhatsApp reachability hint (composer) ─────────────── */
.nfw-wa-reach[b-hvfaplxjyv] {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 14px 16px 0;
    padding: 7px 11px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
}
.nfw-wa-reach.ready[b-hvfaplxjyv] { background: #E7F1EC; color: var(--cx-success, #3F7D5B); }
.nfw-wa-reach.checking[b-hvfaplxjyv] { background: var(--sand, #F0ECE4); color: var(--walnut, #4A443C); }
.nfw-wa-reach.blocked[b-hvfaplxjyv] { background: #F7E7E5; color: var(--cx-danger, #9A3B33); }

/* Gesprächsnotiz — its own full-width band between the contact columns and the Ergebnis block */
.nfw-note__text[b-hvfaplxjyv] {
    min-height: 84px;
    background: var(--paper-2, #F5F1E8);
    font-size: 13px;
    line-height: 1.5;
    resize: vertical;
}
/* _content/CraftX.Web/Components/Shared/Widgets/WisoDashboardCard.razor.rz.scp.css */
.migration-card[b-4wn30hksxl] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--cx-card-border);
    border-left: 4px solid var(--copper, var(--cx-primary));
    border-radius: 14px;
    background: var(--cx-card-bg);
}
.migration-icon[b-4wn30hksxl] {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--primary-50, #fcf2e9);
    color: var(--copper, var(--cx-primary));
    font-size: 20px;
}
.migration-body[b-4wn30hksxl] { flex: 1; min-width: 0; }
.migration-body h2[b-4wn30hksxl] { margin: 0 0 5px; font-size: 16px; font-weight: 650; }
.migration-body p[b-4wn30hksxl] { margin: 0; font-size: 13px; color: var(--cx-text-secondary); }
.migration-body .migration-counts[b-4wn30hksxl] { margin-top: 6px; color: var(--cx-text-muted); }
.catalog-progress[b-4wn30hksxl] {
    display: block;
    width: 100%;
    max-width: 560px;
    height: 6px;
    margin-top: 12px;
    border: 0;
    border-radius: 3px;
    overflow: hidden;
    accent-color: var(--copper, var(--cx-primary));
}
.catalog-progress[b-4wn30hksxl]::-webkit-progress-bar { background: var(--cx-card-border); border-radius: 3px; }
.catalog-progress[b-4wn30hksxl]::-webkit-progress-value { background: var(--copper, var(--cx-primary)); border-radius: 3px; }
.catalog-progress[b-4wn30hksxl]::-moz-progress-bar { background: var(--copper, var(--cx-primary)); border-radius: 3px; }
@media (max-width: 700px) {
    .migration-card[b-4wn30hksxl] { flex-wrap: wrap; }
    .migration-body[b-4wn30hksxl] { flex-basis: calc(100% - 56px); }
    .migration-card > a[b-4wn30hksxl] { flex: 1; justify-content: center; }
}
