/* _content/Compax.Web/Components/Pages/Admin/Calendar.razor.rz.scp.css */
/* Calendar Page Layout */
.calendar-layout[b-pun4xip0c8] {
    display: flex;
    gap: 24px;
    height: calc(100vh - 220px);
    min-height: 500px;
}

.calendar-sidebar[b-pun4xip0c8] {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.calendar-main[b-pun4xip0c8] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Mini Calendar */
.mini-calendar[b-pun4xip0c8] {
    background: var(--c-bg-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    padding: 16px;
}

.mini-calendar-header[b-pun4xip0c8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.mini-calendar-title[b-pun4xip0c8] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--c-text-primary);
    text-transform: capitalize;
}

.mini-calendar-nav[b-pun4xip0c8] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    color: var(--c-text-secondary);
    cursor: pointer;
    transition: var(--transition-normal);
}

.mini-calendar-nav:hover[b-pun4xip0c8] {
    background: var(--c-bg-hover);
    border-color: var(--c-text-muted);
    color: var(--c-text-primary);
}

.mini-calendar-weekdays[b-pun4xip0c8] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 8px;
}

.mini-calendar-weekdays span[b-pun4xip0c8] {
    text-align: center;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--c-text-muted);
    text-transform: uppercase;
    padding: 4px 0;
}

.mini-calendar-grid[b-pun4xip0c8] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.mini-calendar-day[b-pun4xip0c8] {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--c-text-primary);
    background: transparent;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: var(--transition-normal);
    position: relative;
}

.mini-calendar-day:hover[b-pun4xip0c8] {
    background: var(--c-bg-hover);
}

.mini-calendar-day.other-month[b-pun4xip0c8] {
    color: var(--c-text-muted);
    opacity: 0.5;
}

.mini-calendar-day.today[b-pun4xip0c8] {
    background: var(--c-info);
    color: white;
    font-weight: 600;
}

.mini-calendar-day.selected[b-pun4xip0c8] {
    background: var(--c-info-light);
    color: var(--c-info-dark);
    font-weight: 600;
}

.mini-calendar-day.today.selected[b-pun4xip0c8] {
    background: var(--c-info);
    color: white;
}

.mini-calendar-day.has-events[b-pun4xip0c8]::after {
    content: '';
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--c-info);
}

.mini-calendar-day.today.has-events[b-pun4xip0c8]::after {
    background: white;
}

/* Upcoming Tasks */
.upcoming-tasks[b-pun4xip0c8] {
    background: var(--c-bg-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-md);
    padding: 16px;
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.upcoming-tasks h4[b-pun4xip0c8] {
    margin: 0 0 12px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--c-text-primary);
}

.upcoming-task[b-pun4xip0c8] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    margin-bottom: 4px;
    background: var(--c-bg-secondary);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: var(--transition-normal);
}

.upcoming-task:hover[b-pun4xip0c8] {
    background: var(--c-bg-hover);
    transform: translateX(4px);
}

.upcoming-dot[b-pun4xip0c8] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 5px;
}

.upcoming-content[b-pun4xip0c8] {
    flex: 1;
    min-width: 0;
}

.upcoming-title[b-pun4xip0c8] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--c-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.upcoming-time[b-pun4xip0c8] {
    font-size: 0.75rem;
    color: var(--c-text-muted);
    margin-top: 2px;
}

.upcoming-empty[b-pun4xip0c8] {
    color: var(--c-text-muted);
    font-size: 0.85rem;
    text-align: center;
    padding: 20px;
    margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
    .calendar-sidebar[b-pun4xip0c8] {
        width: 240px;
    }
}

@media (max-width: 768px) {
    .calendar-layout[b-pun4xip0c8] {
        flex-direction: column;
        height: auto;
    }

    .calendar-sidebar[b-pun4xip0c8] {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
    }

    .mini-calendar[b-pun4xip0c8] {
        flex: 1;
        min-width: 280px;
    }

    .upcoming-tasks[b-pun4xip0c8] {
        flex: 1;
        min-width: 280px;
        max-height: 200px;
    }

    .calendar-main[b-pun4xip0c8] {
        min-height: 500px;
    }
}

@media (max-width: 600px) {
    .calendar-sidebar[b-pun4xip0c8] {
        display: none;
    }

    .calendar-layout[b-pun4xip0c8] {
        height: calc(100vh - 180px);
    }
}
/* _content/Compax.Web/Components/Shared/UI/CConfirmDialog.razor.rz.scp.css */
/* ========================================
   CConfirmDialog - Dialog potwierdzenia
   Używa zmiennych z tokens.css
   ======================================== */

.c-confirm-overlay[b-qfymfox7ij] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-4);
    animation: confirmFadeIn-b-qfymfox7ij 0.15s ease-out;
}

@keyframes confirmFadeIn-b-qfymfox7ij {
    from { opacity: 0; }
    to { opacity: 1; }
}

.c-confirm-dialog[b-qfymfox7ij] {
    background: var(--c-bg-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    max-width: 420px;
    width: 100%;
    animation: confirmSlideIn-b-qfymfox7ij 0.2s ease-out;
}

@keyframes confirmSlideIn-b-qfymfox7ij {
    from {
        transform: scale(0.95) translateY(-10px);
        opacity: 0;
    }
    to {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

.c-confirm-header[b-qfymfox7ij] {
    padding: var(--space-6) var(--space-6) var(--space-4);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.c-confirm-icon[b-qfymfox7ij] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
}

.c-confirm-danger .c-confirm-icon[b-qfymfox7ij] {
    background: var(--c-danger-light);
    color: var(--c-danger);
}

.c-confirm-warning .c-confirm-icon[b-qfymfox7ij] {
    background: var(--c-warning-light);
    color: var(--c-warning);
}

.c-confirm-info .c-confirm-icon[b-qfymfox7ij] {
    background: var(--c-info-light);
    color: var(--c-info);
}

.c-confirm-title[b-qfymfox7ij] {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--c-text-primary);
    margin: 0;
}

.c-confirm-body[b-qfymfox7ij] {
    padding: 0 var(--space-6) var(--space-6);
    text-align: center;
}

.c-confirm-body p[b-qfymfox7ij] {
    margin: 0;
    color: var(--c-text-secondary);
    font-size: var(--text-md);
    line-height: var(--leading-relaxed);
}

.c-confirm-footer[b-qfymfox7ij] {
    padding: var(--space-4) var(--space-6);
    display: flex;
    gap: var(--space-3);
    justify-content: flex-end;
    border-top: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
}

/* Dark mode */
.dark-mode .c-confirm-dialog[b-qfymfox7ij],
.admin-dark-mode .c-confirm-dialog[b-qfymfox7ij] {
    background: var(--c-bg-primary);
}

.dark-mode .c-confirm-footer[b-qfymfox7ij],
.admin-dark-mode .c-confirm-footer[b-qfymfox7ij] {
    background: var(--c-bg-secondary);
    border-color: var(--c-border);
}
/* _content/Compax.Web/Components/Shared/UI/CDataTable.razor.rz.scp.css */
/* ===========================================
   CDataTable - Advanced Blazor DataTable Component
   Integrated with COMPAX Design System
   =========================================== */

/* Container */
.cdt-container[b-voxxapihho] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-bg-primary);
    font-size: var(--text-sm);
    box-shadow: var(--shadow-sm);
    /* Note: overflow is NOT hidden to allow dropdowns to escape */
}

.cdt-container:focus[b-voxxapihho] {
    outline: none;
}

/* ===========================================
   Toolbar
   =========================================== */

.cdt-toolbar[b-voxxapihho] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-3) var(--space-4);
    background: var(--c-bg-secondary);
    border-bottom: 1px solid var(--c-border);
    gap: var(--space-4);
    flex-wrap: wrap;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.cdt-toolbar-left[b-voxxapihho],
.cdt-toolbar-right[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.cdt-toolbar-btn[b-voxxapihho] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border: 1px solid var(--c-border);
    background: var(--c-bg-primary);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: var(--text-sm);
    color: var(--c-text-primary);
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.cdt-toolbar-btn:hover[b-voxxapihho] {
    background: var(--c-bg-tertiary);
    border-color: var(--c-border-hover);
}

.cdt-export-buttons[b-voxxapihho] {
    display: flex;
    gap: var(--space-2);
}

.cdt-reset-btn[b-voxxapihho] {
    color: var(--c-error);
    border-color: var(--c-error-light);
}

.cdt-reset-btn:hover[b-voxxapihho] {
    background: var(--c-error-bg);
}

/* Global Filter */
.cdt-global-filter[b-voxxapihho] {
    position: relative;
    display: flex;
    align-items: center;
}

.cdt-search-icon[b-voxxapihho] {
    position: absolute;
    left: var(--space-3);
    color: var(--c-text-muted);
    display: flex;
    align-items: center;
}

.cdt-global-filter-input[b-voxxapihho] {
    padding: var(--space-2) var(--space-4) var(--space-2) calc(var(--space-3) + 24px);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    min-width: 250px;
    background: var(--c-bg-primary);
    color: var(--c-text-primary);
    transition: all var(--transition-fast);
}

.cdt-global-filter-input:focus[b-voxxapihho] {
    outline: none;
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px var(--c-primary-light);
}

.cdt-global-filter-input[b-voxxapihho]::placeholder {
    color: var(--c-text-muted);
}

.cdt-clear-btn[b-voxxapihho] {
    position: absolute;
    right: var(--space-2);
    background: none;
    border: none;
    cursor: pointer;
    color: var(--c-text-muted);
    padding: var(--space-1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-full);
    transition: all var(--transition-fast);
}

.cdt-clear-btn:hover[b-voxxapihho] {
    background: var(--c-bg-tertiary);
    color: var(--c-text-primary);
}

/* Column Toggle Menu */
.cdt-column-toggle[b-voxxapihho] {
    position: relative;
}

.cdt-column-menu[b-voxxapihho] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: var(--space-2);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    min-width: 280px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.cdt-column-menu-header[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--c-border);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    background: var(--c-bg-secondary);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.cdt-column-menu-reset[b-voxxapihho] {
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-1);
    border-radius: var(--radius-md);
    color: var(--c-text-muted);
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
}

.cdt-column-menu-reset:hover[b-voxxapihho] {
    background: var(--c-bg-tertiary);
    color: var(--c-primary);
}

.cdt-column-menu-items[b-voxxapihho] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-2);
    max-height: 300px;
    min-height: 100px;
}

.cdt-column-menu-item[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    cursor: pointer;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    color: var(--c-text-primary);
    transition: background var(--transition-fast);
}

.cdt-column-menu-item:hover[b-voxxapihho] {
    background: var(--c-bg-secondary);
}

.cdt-column-menu-item input[type="checkbox"][b-voxxapihho] {
    width: 16px;
    height: 16px;
    accent-color: var(--c-primary);
    flex-shrink: 0;
}

.cdt-column-menu-title[b-voxxapihho] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cdt-column-menu-footer[b-voxxapihho] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-top: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    flex-shrink: 0;
}

.cdt-btn-outline[b-voxxapihho] {
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    color: var(--c-text-primary);
}

.cdt-btn-outline:hover[b-voxxapihho] {
    background: var(--c-bg-secondary);
    border-color: var(--c-border-hover);
}

.cdt-btn-primary:disabled[b-voxxapihho] {
    opacity: 0.5;
    cursor: not-allowed;
}

.cdt-toolbar-btn.cdt-unsaved[b-voxxapihho] {
    border-color: var(--c-warning);
    background: var(--c-warning-bg);
}

.cdt-badge[b-voxxapihho] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 6px;
    font-size: var(--text-xs);
    border-radius: var(--radius-full);
    margin-left: auto;
}

.cdt-badge-edit[b-voxxapihho] {
    background: var(--c-primary-light);
    color: var(--c-primary);
}

/* ===========================================
   Aggregate Configuration
   =========================================== */

.cdt-aggregate-toggle[b-voxxapihho] {
    position: relative;
}

.cdt-toolbar-btn.cdt-active[b-voxxapihho] {
    background: var(--c-primary);
    color: white;
}

.cdt-aggregate-menu[b-voxxapihho] {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: var(--space-2);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    min-width: 300px;
    max-height: 400px;
    overflow-y: auto;
    z-index: 100;
}

.cdt-aggregate-menu-header[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--c-border);
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    background: var(--c-bg-secondary);
}

.cdt-aggregate-clear[b-voxxapihho] {
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-1);
    border-radius: var(--radius-md);
    color: var(--c-text-muted);
    transition: all var(--transition-fast);
}

.cdt-aggregate-clear:hover[b-voxxapihho] {
    background: var(--c-danger-light);
    color: var(--c-danger);
}

.cdt-aggregate-menu-item[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-2) var(--space-4);
    border-bottom: 1px solid var(--c-border-light);
}

.cdt-aggregate-menu-item:last-of-type[b-voxxapihho] {
    border-bottom: none;
}

.cdt-aggregate-column-name[b-voxxapihho] {
    font-size: var(--text-sm);
    color: var(--c-text-primary);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: var(--space-2);
}

.cdt-aggregate-select[b-voxxapihho] {
    padding: var(--space-1) var(--space-2);
    font-size: var(--text-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-bg-primary);
    color: var(--c-text-primary);
    min-width: 120px;
    cursor: pointer;
}

.cdt-aggregate-select:focus[b-voxxapihho] {
    outline: none;
    border-color: var(--c-primary);
    box-shadow: 0 0 0 2px var(--c-primary-light);
}

.cdt-aggregate-menu-footer[b-voxxapihho] {
    display: flex;
    justify-content: flex-end;
    padding: var(--space-3) var(--space-4);
    border-top: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
}

.cdt-btn[b-voxxapihho] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.cdt-btn-sm[b-voxxapihho] {
    padding: var(--space-1) var(--space-3);
    font-size: var(--text-xs);
}

.cdt-btn-primary[b-voxxapihho] {
    background: var(--c-primary);
    color: white;
}

.cdt-btn-primary:hover[b-voxxapihho] {
    background: var(--c-primary-dark);
}

/* ===========================================
   Table
   =========================================== */

.cdt-table-wrapper[b-voxxapihho] {
    flex: 1;
    overflow: auto;
    position: relative;
}

.cdt-sticky-header .cdt-table thead[b-voxxapihho] {
    position: sticky;
    top: 0;
    z-index: 10;
}

.cdt-table[b-voxxapihho] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

/* Header */
.cdt-th[b-voxxapihho] {
    padding: var(--space-3) var(--space-4);
    background: var(--c-bg-secondary);
    border-bottom: 2px solid var(--c-border);
    font-weight: var(--font-semibold);
    color: var(--c-text-primary);
    text-align: left;
    white-space: nowrap;
    position: relative;
    box-sizing: border-box;
}

.cdt-header-cell-content[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.cdt-header-content[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex: 1;
    min-width: 0;
}

.cdt-header-content.cdt-sortable[b-voxxapihho] {
    cursor: pointer;
}

.cdt-header-content.cdt-sortable:hover[b-voxxapihho] {
    color: var(--c-primary);
}

.cdt-header-title[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    overflow: hidden;
    text-overflow: ellipsis;
}

.cdt-drag-handle[b-voxxapihho] {
    cursor: grab;
    color: var(--c-text-muted);
    display: flex;
    align-items: center;
}

.cdt-drag-handle:active[b-voxxapihho] {
    cursor: grabbing;
}

.cdt-editable-indicator[b-voxxapihho] {
    color: var(--c-primary);
    opacity: 0.7;
    display: flex;
    align-items: center;
}

.cdt-sort-icon[b-voxxapihho] {
    display: flex;
    align-items: center;
    color: var(--c-text-muted);
    margin-left: auto;
}

.cdt-sort-icon.cdt-sort-active[b-voxxapihho] {
    color: var(--c-primary);
}

/* Resize Handle */
.cdt-resize-handle[b-voxxapihho] {
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    cursor: col-resize;
    background: transparent;
    transition: background var(--transition-fast);
}

.cdt-resize-handle:hover[b-voxxapihho],
.cdt-resize-handle:active[b-voxxapihho] {
    background: var(--c-primary);
}

/* Filter Row */
.cdt-filter-row .cdt-th[b-voxxapihho] {
    padding: var(--space-2) var(--space-3);
    background: var(--c-bg-tertiary);
    border-bottom: 1px solid var(--c-border);
}

.cdt-filter-input[b-voxxapihho] {
    width: 100%;
    padding: var(--space-2);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    background: var(--c-bg-primary);
    color: var(--c-text-primary);
}

.cdt-filter-input:focus[b-voxxapihho] {
    outline: none;
    border-color: var(--c-primary);
}

/* Body Rows */
.cdt-row[b-voxxapihho] {
    transition: background var(--transition-fast);
}

.cdt-row:hover[b-voxxapihho] {
    background: var(--c-bg-secondary);
}

.cdt-row.cdt-row-focused[b-voxxapihho] {
    background: var(--c-primary-light);
}

.cdt-row.cdt-row-selected[b-voxxapihho] {
    background: var(--c-primary-bg);
}

.cdt-row.cdt-row-focused.cdt-row-selected[b-voxxapihho] {
    background: var(--c-primary-light);
}

.cdt-td[b-voxxapihho] {
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--c-border);
    color: var(--c-text-primary);
    vertical-align: middle;
    box-sizing: border-box;
}

.cdt-cell-content[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Checkbox Column */
.cdt-checkbox-column[b-voxxapihho] {
    width: 40px;
    text-align: center;
}

.cdt-checkbox[b-voxxapihho] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: var(--c-primary);
}

/* Row Numbers */
.cdt-row-number-column[b-voxxapihho] {
    width: 50px;
    text-align: center;
    color: var(--c-text-muted);
}

/* Expand Column */
.cdt-expand-column[b-voxxapihho] {
    width: 40px;
    text-align: center;
}

.cdt-expand-btn[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: var(--radius-md);
    color: var(--c-text-secondary);
    transition: all var(--transition-fast);
}

.cdt-expand-btn:hover[b-voxxapihho] {
    background: var(--c-bg-tertiary);
    color: var(--c-primary);
}

/* Actions Column */
.cdt-actions-column[b-voxxapihho] {
    width: auto;
    white-space: nowrap;
}

/* ===========================================
   Grouping
   =========================================== */

.cdt-group-row[b-voxxapihho] {
    cursor: pointer;
}

.cdt-group-row:hover[b-voxxapihho] {
    background: var(--c-bg-secondary);
}

.cdt-group-cell[b-voxxapihho] {
    padding: var(--space-3) var(--space-4);
    background: var(--c-bg-tertiary);
    border-bottom: 1px solid var(--c-border);
}

.cdt-group-header[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-weight: var(--font-semibold);
}

.cdt-group-toggle[b-voxxapihho] {
    display: flex;
    align-items: center;
    color: var(--c-text-secondary);
}

.cdt-group-title[b-voxxapihho] {
    color: var(--c-text-primary);
}

.cdt-group-count[b-voxxapihho] {
    color: var(--c-text-muted);
    font-weight: var(--font-normal);
}

.cdt-group-aggregates[b-voxxapihho] {
    margin-left: auto;
    display: flex;
    gap: var(--space-4);
    font-size: var(--text-sm);
    color: var(--c-text-secondary);
}

/* ===========================================
   Row Expansion
   =========================================== */

.cdt-expansion-row[b-voxxapihho] {
    background: var(--c-bg-secondary);
}

.cdt-expansion-cell[b-voxxapihho] {
    padding: 0;
    border-bottom: 1px solid var(--c-border);
}

.cdt-expansion-content[b-voxxapihho] {
    padding: var(--space-4);
    background: var(--c-bg-primary);
    border-left: 3px solid var(--c-primary);
    margin: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
}

/* ===========================================
   Inline Editing
   =========================================== */

.cdt-editing-cell[b-voxxapihho] {
    padding: var(--space-2);
}

.cdt-editor-container[b-voxxapihho] {
    position: relative;
}

.cdt-editor[b-voxxapihho] {
    width: 100%;
    padding: var(--space-2);
    border: 2px solid var(--c-primary);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    background: var(--c-bg-primary);
    color: var(--c-text-primary);
}

.cdt-editor:focus[b-voxxapihho] {
    outline: none;
    box-shadow: 0 0 0 3px var(--c-primary-light);
}

.cdt-editor-container.cdt-editor-error .cdt-editor[b-voxxapihho] {
    border-color: var(--c-error);
}

.cdt-editor-error-message[b-voxxapihho] {
    color: var(--c-error);
    font-size: var(--text-xs);
    margin-top: var(--space-1);
}

.cdt-editor-actions[b-voxxapihho] {
    position: absolute;
    right: var(--space-1);
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: var(--space-1);
}

.cdt-editor-btn[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.cdt-editor-commit[b-voxxapihho] {
    background: var(--c-success);
    color: white;
}

.cdt-editor-commit:hover[b-voxxapihho] {
    background: var(--c-success-dark);
}

.cdt-editor-cancel[b-voxxapihho] {
    background: var(--c-error);
    color: white;
}

.cdt-editor-cancel:hover[b-voxxapihho] {
    background: var(--c-error-dark);
}

.cdt-editor-checkbox[b-voxxapihho] {
    width: 20px;
    height: 20px;
}

.cdt-editor-select[b-voxxapihho],
.cdt-editor-textarea[b-voxxapihho] {
    min-height: 36px;
}

.cdt-editor-textarea[b-voxxapihho] {
    resize: vertical;
    min-height: 80px;
}

/* ===========================================
   Conditional Formatting
   =========================================== */

.cdt-cell-positive[b-voxxapihho] {
    color: var(--c-success);
}

.cdt-cell-negative[b-voxxapihho] {
    color: var(--c-error);
}

.cdt-cell-zero[b-voxxapihho] {
    color: var(--c-text-muted);
}

.cdt-cell-red[b-voxxapihho] {
    background: var(--c-error-bg);
    color: var(--c-error);
}

.cdt-cell-yellow[b-voxxapihho] {
    background: var(--c-warning-bg);
    color: var(--c-warning-dark);
}

.cdt-cell-green[b-voxxapihho] {
    background: var(--c-success-bg);
    color: var(--c-success);
}

.cdt-cell-icon[b-voxxapihho] {
    margin-right: var(--space-1);
}

/* ===========================================
   Pagination
   =========================================== */

.cdt-footer[b-voxxapihho] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-3) var(--space-4);
    background: var(--c-bg-secondary);
    border-top: 1px solid var(--c-border);
    flex-wrap: wrap;
    gap: var(--space-3);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.cdt-footer-left[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--c-text-secondary);
    font-size: var(--text-sm);
}

.cdt-page-size-select[b-voxxapihho] {
    padding: var(--space-1) var(--space-2);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-bg-primary);
    font-size: var(--text-sm);
    color: var(--c-text-primary);
}

.cdt-pagination[b-voxxapihho] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.cdt-page-size[b-voxxapihho] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--c-text-secondary);
}

.cdt-page-nav[b-voxxapihho] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-1);
}

.cdt-page-btn[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 var(--space-2);
    border: 1px solid var(--c-border);
    background: var(--c-bg-primary);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: var(--text-sm);
    color: var(--c-text-primary);
    transition: all var(--transition-fast);
}

.cdt-page-btn:hover:not(:disabled)[b-voxxapihho] {
    background: var(--c-bg-tertiary);
    border-color: var(--c-border-hover);
}

.cdt-page-btn:disabled[b-voxxapihho] {
    opacity: 0.5;
    cursor: not-allowed;
}

.cdt-page-btn.cdt-page-active[b-voxxapihho] {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: white;
}

.cdt-page-jump[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-left: var(--space-3);
}

.cdt-page-jump-input[b-voxxapihho] {
    width: 60px;
    padding: var(--space-1) var(--space-2);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    text-align: center;
    font-size: var(--text-sm);
}

/* ===========================================
   Aggregates Row
   =========================================== */

.cdt-aggregate-row .cdt-td[b-voxxapihho] {
    background: var(--c-bg-tertiary);
    font-weight: var(--font-semibold);
    border-top: 2px solid var(--c-border);
}

.cdt-aggregate-label[b-voxxapihho] {
    color: var(--c-text-muted);
    font-size: var(--text-xs);
    margin-right: var(--space-1);
}

/* ===========================================
   Empty & Loading States
   =========================================== */

.cdt-empty[b-voxxapihho] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-8);
    color: var(--c-text-muted);
    text-align: center;
}

.cdt-empty-icon[b-voxxapihho] {
    font-size: 48px;
    margin-bottom: var(--space-4);
    opacity: 0.5;
}

.cdt-loading[b-voxxapihho] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-8);
}

.cdt-loading-spinner[b-voxxapihho] {
    width: 40px;
    height: 40px;
    border: 3px solid var(--c-border);
    border-top-color: var(--c-primary);
    border-radius: 50%;
    animation: cdt-spin-b-voxxapihho 1s linear infinite;
}

@keyframes cdt-spin-b-voxxapihho {
    to { transform: rotate(360deg); }
}

/* ===========================================
   Drag & Drop
   =========================================== */

.cdt-th[draggable="true"][b-voxxapihho] {
    cursor: grab;
}

.cdt-th[draggable="true"]:active[b-voxxapihho] {
    cursor: grabbing;
}

.cdt-drag-handle[b-voxxapihho] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    opacity: 0.5;
    margin-right: var(--space-1);
    transition: opacity var(--transition-fast);
}

.cdt-th:hover .cdt-drag-handle[b-voxxapihho] {
    opacity: 1;
}

.cdt-th.cdt-drag-over[b-voxxapihho] {
    background: var(--c-primary-light);
    border-left: 3px solid var(--c-primary);
}

.cdt-th.cdt-dragging[b-voxxapihho] {
    opacity: 0.5;
    background: var(--c-bg-secondary);
}

/* ===========================================
   Frozen Columns
   =========================================== */

.cdt-frozen[b-voxxapihho] {
    position: sticky;
    left: 0;
    z-index: 5;
    background: inherit;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.05);
}

/* ===========================================
   Search Highlight
   =========================================== */

.cdt-highlight[b-voxxapihho] {
    background: var(--c-warning);
    padding: 0 2px;
    border-radius: 2px;
}

/* ===========================================
   Context Menu (optional)
   =========================================== */

.cdt-context-menu[b-voxxapihho] {
    position: fixed;
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    min-width: 180px;
    z-index: 1000;
    padding: var(--space-1);
}

.cdt-context-menu-item[b-voxxapihho] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    cursor: pointer;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    color: var(--c-text-primary);
    transition: background var(--transition-fast);
}

.cdt-context-menu-item:hover[b-voxxapihho] {
    background: var(--c-bg-secondary);
}

.cdt-context-menu-divider[b-voxxapihho] {
    height: 1px;
    background: var(--c-border);
    margin: var(--space-1) 0;
}

/* ===========================================
   Responsive
   =========================================== */

@media (max-width: 768px) {
    .cdt-toolbar[b-voxxapihho] {
        flex-direction: column;
        align-items: stretch;
    }
    
    .cdt-toolbar-left[b-voxxapihho],
    .cdt-toolbar-right[b-voxxapihho] {
        justify-content: center;
    }
    
    .cdt-global-filter-input[b-voxxapihho] {
        min-width: 100%;
    }
    
    .cdt-footer[b-voxxapihho] {
        flex-direction: column;
        text-align: center;
    }
}

/* ===========================================
   Print Styles
   =========================================== */

@media print {
    .cdt-toolbar[b-voxxapihho],
    .cdt-footer[b-voxxapihho],
    .cdt-expand-column[b-voxxapihho],
    .cdt-checkbox-column[b-voxxapihho],
    .cdt-resize-handle[b-voxxapihho] {
        display: none !important;
    }
    
    .cdt-container[b-voxxapihho] {
        border: none;
        box-shadow: none;
    }
    
    .cdt-th[b-voxxapihho],
    .cdt-td[b-voxxapihho] {
        border: 1px solid #000;
        padding: 8px;
    }
}
/* _content/Compax.Web/Components/Shared/UI/CFormGroup.razor.rz.scp.css */
/* ========================================
   CFormGroup - Wrapper dla grup formularza
   Używa zmiennych z tokens.css
   ======================================== */

.c-form-group[b-blx6roeem3] {
    display: flex;
    flex-direction: column;
}

/* Gap variants */
.c-form-group-gap-sm .c-form-group-content[b-blx6roeem3] {
    gap: var(--space-2);
}

.c-form-group-gap-md .c-form-group-content[b-blx6roeem3] {
    gap: var(--space-4);
}

.c-form-group-gap-lg .c-form-group-content[b-blx6roeem3] {
    gap: var(--space-6);
}

/* Header */
.c-form-group-header[b-blx6roeem3] {
    margin-bottom: var(--space-4);
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--c-border);
}

.c-form-group-label[b-blx6roeem3] {
    display: block;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--c-text-primary);
}

.c-form-group-description[b-blx6roeem3] {
    display: block;
    margin-top: var(--space-1);
    font-size: var(--text-sm);
    color: var(--c-text-secondary);
}

/* Content - default stack */
.c-form-group-content[b-blx6roeem3] {
    display: flex;
    flex-direction: column;
}

/* Grid layout */
.c-form-group-grid .c-form-group-content[b-blx6roeem3] {
    display: grid;
}

/* Inline layout */
.c-form-group-inline .c-form-group-content[b-blx6roeem3] {
    flex-direction: row;
    align-items: flex-end;
    flex-wrap: wrap;
}

.c-form-group-inline .c-form-group-content > *[b-blx6roeem3] {
    flex: 1;
    min-width: 150px;
}

/* Error */
.c-form-group-error[b-blx6roeem3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-3);
    padding: var(--space-3);
    background: var(--c-danger-light);
    border: 1px solid var(--c-danger);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    color: var(--c-danger);
}

/* Responsive */
@media (max-width: 768px) {
    .c-form-group-grid .c-form-group-content[b-blx6roeem3] {
        grid-template-columns: 1fr !important;
    }
    
    .c-form-group-inline .c-form-group-content[b-blx6roeem3] {
        flex-direction: column;
        align-items: stretch;
    }
    
    .c-form-group-inline .c-form-group-content > *[b-blx6roeem3] {
        min-width: 100%;
    }
}

/* Dark mode */
.dark-mode .c-form-group-header[b-blx6roeem3],
.admin-dark-mode .c-form-group-header[b-blx6roeem3] {
    border-color: var(--c-border);
}

.dark-mode .c-form-group-error[b-blx6roeem3],
.admin-dark-mode .c-form-group-error[b-blx6roeem3] {
    background: rgba(239, 68, 68, 0.1);
}
/* _content/Compax.Web/Components/Shared/UI/CInput.razor.rz.scp.css */
/* ========================================
   CInput - Uniwersalny komponent input
   Używa zmiennych z tokens.css
   ======================================== */

.c-input-wrapper[b-ge1pifg18l] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.c-input-wrapper.disabled[b-ge1pifg18l] {
    opacity: 0.6;
    pointer-events: none;
}

/* Label */
.c-input-label[b-ge1pifg18l] {
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--c-text-primary);
}

.c-input-required[b-ge1pifg18l] {
    color: var(--c-danger);
    margin-left: 2px;
}

/* Container */
.c-input-container[b-ge1pifg18l] {
    position: relative;
    display: flex;
    align-items: center;
}

/* Input */
.c-input[b-ge1pifg18l] {
    width: 100%;
    height: var(--btn-height-md);
    padding: 0 var(--space-3);
    font-family: var(--font-family);
    font-size: var(--text-md);
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    transition: var(--transition-fast);
    outline: none;
}

.c-input[b-ge1pifg18l]::placeholder {
    color: var(--c-text-muted);
}

.c-input:hover:not(:disabled)[b-ge1pifg18l] {
    border-color: var(--c-border-hover);
}

.c-input:focus[b-ge1pifg18l] {
    border-color: var(--c-primary);
    box-shadow: var(--shadow-focus);
}

.c-input:disabled[b-ge1pifg18l] {
    background: var(--c-bg-secondary);
    cursor: not-allowed;
}

.c-input:read-only[b-ge1pifg18l] {
    background: var(--c-bg-secondary);
}

/* Sizes */
.c-input-sm[b-ge1pifg18l] {
    height: var(--btn-height-sm);
    padding: 0 var(--space-2);
    font-size: var(--text-sm);
}

.c-input-lg[b-ge1pifg18l] {
    height: var(--btn-height-lg);
    padding: 0 var(--space-4);
    font-size: var(--text-lg);
}

/* Icons */
.c-input-icon[b-ge1pifg18l] {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-muted);
    pointer-events: none;
}

.c-input-icon-left[b-ge1pifg18l] {
    left: var(--space-3);
}

.c-input-icon-right[b-ge1pifg18l] {
    right: var(--space-3);
}

.c-input-container.has-icon-left .c-input[b-ge1pifg18l] {
    padding-left: var(--space-10);
}

.c-input-container.has-icon-right .c-input[b-ge1pifg18l] {
    padding-right: var(--space-10);
}

/* Prefix & Suffix */
.c-input-prefix[b-ge1pifg18l],
.c-input-suffix[b-ge1pifg18l] {
    display: flex;
    align-items: center;
    padding: 0 var(--space-3);
    height: var(--btn-height-md);
    font-size: var(--text-sm);
    color: var(--c-text-secondary);
    background: var(--c-bg-secondary);
    border: 1px solid var(--c-border);
    white-space: nowrap;
}

.c-input-prefix[b-ge1pifg18l] {
    border-right: none;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.c-input-suffix[b-ge1pifg18l] {
    border-left: none;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.c-input-container.has-prefix .c-input[b-ge1pifg18l] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.c-input-container.has-suffix .c-input[b-ge1pifg18l] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Clear button */
.c-input-clear[b-ge1pifg18l] {
    position: absolute;
    right: var(--space-2);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: var(--c-bg-hover);
    color: var(--c-text-muted);
    border-radius: 50%;
    cursor: pointer;
    opacity: 0.6;
    transition: var(--transition-fast);
}

.c-input-clear:hover[b-ge1pifg18l] {
    opacity: 1;
    background: var(--c-bg-tertiary);
}

.c-input-container.has-icon-right .c-input-clear[b-ge1pifg18l] {
    right: var(--space-10);
}

/* Helper & Error text */
.c-input-helper[b-ge1pifg18l] {
    font-size: var(--text-xs);
    color: var(--c-text-muted);
}

.c-input-error[b-ge1pifg18l] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-xs);
    color: var(--c-danger);
}

/* Error state */
.c-input-wrapper.has-error .c-input[b-ge1pifg18l] {
    border-color: var(--c-danger);
}

.c-input-wrapper.has-error .c-input:focus[b-ge1pifg18l] {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

/* Number input - ukryj strzałki */
.c-input[type="number"][b-ge1pifg18l]::-webkit-inner-spin-button,
.c-input[type="number"][b-ge1pifg18l]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.c-input[type="number"][b-ge1pifg18l] {
    -moz-appearance: textfield;
}

/* Dark mode */
.dark-mode .c-input[b-ge1pifg18l],
.admin-dark-mode .c-input[b-ge1pifg18l] {
    background: var(--c-bg-primary);
    border-color: var(--c-border);
    color: var(--c-text-primary);
}

.dark-mode .c-input:disabled[b-ge1pifg18l],
.dark-mode .c-input:read-only[b-ge1pifg18l],
.admin-dark-mode .c-input:disabled[b-ge1pifg18l],
.admin-dark-mode .c-input:read-only[b-ge1pifg18l] {
    background: var(--c-bg-secondary);
}

.dark-mode .c-input-prefix[b-ge1pifg18l],
.dark-mode .c-input-suffix[b-ge1pifg18l],
.admin-dark-mode .c-input-prefix[b-ge1pifg18l],
.admin-dark-mode .c-input-suffix[b-ge1pifg18l] {
    background: var(--c-bg-tertiary);
    border-color: var(--c-border);
}
/* _content/Compax.Web/Components/Shared/UI/CScheduler.razor.rz.scp.css */
/* ========================================
   CScheduler - Nowoczesny komponent kalendarza
   Używa tokenów z Design System (tokens.css)
   ======================================== */

/* === Zmienne specyficzne dla Scheduler === */
.cscheduler[b-fbsobib3yg] {
    /* Scheduler-specific variables */
    --cs-today: #fef3c7;
    --cs-weekend: var(--c-bg-secondary);
    --cs-hour-height: 48px;
    --cs-selected: var(--c-info-light);
}

/* === Podstawowy reset === */
.cscheduler[b-fbsobib3yg] {
    font-family: var(--font-family);
    background: var(--c-bg-primary);
    color: var(--c-text-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 600px;
}

.cscheduler *[b-fbsobib3yg] {
    box-sizing: border-box;
}

/* === Header === */
.cscheduler-header[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: var(--c-bg-primary);
    border-bottom: 1px solid var(--c-border);
    gap: 16px;
    flex-wrap: wrap;
}

.cscheduler-header-left[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cscheduler-header-right[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cscheduler-title[b-fbsobib3yg] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--c-text-primary);
    margin: 0;
    text-transform: capitalize;
}

/* === Buttons === */
.cscheduler-btn[b-fbsobib3yg] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: var(--transition-normal);
    white-space: nowrap;
}

.cscheduler-btn:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    border-color: var(--c-text-muted);
}

.cscheduler-btn svg[b-fbsobib3yg] {
    width: 16px;
    height: 16px;
}

.cscheduler-btn-today[b-fbsobib3yg] {
    background: var(--c-bg-secondary);
}

.cscheduler-btn-today:hover[b-fbsobib3yg] {
    background: var(--c-info);
    color: white;
    border-color: var(--c-info);
}

.cscheduler-btn-primary[b-fbsobib3yg] {
    background: var(--c-info);
    color: white;
    border-color: var(--c-info);
}

.cscheduler-btn-primary:hover[b-fbsobib3yg] {
    background: var(--c-info-dark);
    border-color: var(--c-info-dark);
}

.cscheduler-btn-danger[b-fbsobib3yg] {
    color: var(--c-danger);
    border-color: var(--c-danger);
}

.cscheduler-btn-danger:hover[b-fbsobib3yg] {
    background: var(--c-danger);
    color: white;
}

/* === Navigation === */
.cscheduler-nav[b-fbsobib3yg] {
    display: flex;
    gap: 4px;
}

.cscheduler-nav-btn[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: var(--transition-normal);
    color: var(--c-text-primary);
}

.cscheduler-nav-btn:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    border-color: var(--c-text-muted);
}

.cscheduler-nav-btn svg[b-fbsobib3yg] {
    width: 18px;
    height: 18px;
}

/* === View Toggle === */
.cscheduler-view-toggle[b-fbsobib3yg] {
    display: flex;
    background: var(--c-bg-secondary);
    border-radius: var(--radius-lg);
    padding: 4px;
    gap: 4px;
}

.cscheduler-view-btn[b-fbsobib3yg] {
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--c-text-secondary);
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-view-btn:hover[b-fbsobib3yg] {
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
}

.cscheduler-view-btn.active[b-fbsobib3yg] {
    color: var(--c-info);
    background: var(--c-bg-primary);
    box-shadow: var(--shadow-md);
}

/* === Body === */
.cscheduler-body[b-fbsobib3yg] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* === Time Gutter === */
.cscheduler-time-gutter[b-fbsobib3yg],
.cscheduler-time-gutter-header[b-fbsobib3yg] {
    width: 60px;
    min-width: 60px;
    flex-shrink: 0;
    text-align: right;
    padding-right: 12px;
    font-size: 0.75rem;
    color: var(--c-text-muted);
    background: var(--c-bg-primary);
}

.cscheduler-time-gutter[b-fbsobib3yg] {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 0;
    transform: translateY(-8px);
}

/* ========================================
   WIDOK MIESIĘCZNY
   ======================================== */

.cscheduler-month[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.cscheduler-month-header[b-fbsobib3yg] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: var(--c-bg-secondary);
    border-bottom: 1px solid var(--c-border);
}

.cscheduler-month-header-cell[b-fbsobib3yg] {
    padding: 12px 8px;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cscheduler-month-body[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow-y: auto;
}

.cscheduler-month-row[b-fbsobib3yg] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    flex: 1;
    min-height: 100px;
}

.cscheduler-month-cell[b-fbsobib3yg] {
    border-right: 1px solid var(--c-bg-tertiary);
    border-bottom: 1px solid var(--c-bg-tertiary);
    padding: 4px;
    cursor: pointer;
    transition: var(--transition-normal);
    background: var(--c-bg-primary);
    display: flex;
    flex-direction: column;
    min-height: 100px;
}

.cscheduler-month-cell:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
}

.cscheduler-month-cell:nth-child(7n)[b-fbsobib3yg] {
    border-right: none;
}

.cscheduler-month-cell.weekend[b-fbsobib3yg] {
    background: var(--cs-weekend);
}

.cscheduler-month-cell.other-month[b-fbsobib3yg] {
    opacity: 0.4;
}

.cscheduler-month-cell.today[b-fbsobib3yg] {
    background: var(--cs-today);
}

.cscheduler-month-cell-header[b-fbsobib3yg] {
    display: flex;
    justify-content: flex-end;
    padding: 4px;
}

.cscheduler-month-day[b-fbsobib3yg] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--c-text-secondary);
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.cscheduler-month-day.today-badge[b-fbsobib3yg] {
    background: var(--c-info);
    color: white;
    font-weight: 600;
}

.cscheduler-month-cell-events[b-fbsobib3yg] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
}

/* === Events w widoku miesięcznym === */
.cscheduler-event-month[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 8px;
    font-size: 0.75rem;
    border-radius: var(--radius-sm);
    cursor: grab;
    transition: var(--transition-normal);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    background: color-mix(in srgb, var(--event-color) 15%, transparent);
    border-left: 3px solid var(--event-color);
}

.cscheduler-event-month:hover[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--event-color) 25%, transparent);
    transform: translateX(2px);
}

.cscheduler-event-month.all-day[b-fbsobib3yg] {
    background: var(--event-color);
    color: var(--event-text-color);
    border-left: none;
    font-weight: 500;
}

.cscheduler-event-dot[b-fbsobib3yg] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cscheduler-event-title[b-fbsobib3yg] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cscheduler-event-more[b-fbsobib3yg] {
    font-size: 0.7rem;
    color: var(--c-info);
    padding: 2px 8px;
    cursor: pointer;
    font-weight: 500;
}

.cscheduler-event-more:hover[b-fbsobib3yg] {
    text-decoration: underline;
}

/* ========================================
   WIDOK TYGODNIOWY
   ======================================== */

.cscheduler-week[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.cscheduler-week-header[b-fbsobib3yg] {
    display: flex;
    background: var(--c-bg-secondary);
    border-bottom: 1px solid var(--c-border);
    flex-shrink: 0;
}

.cscheduler-week-header-cell[b-fbsobib3yg] {
    flex: 1;
    padding: 12px 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    border-right: 1px solid var(--c-bg-tertiary);
}

.cscheduler-week-header-cell:last-child[b-fbsobib3yg] {
    border-right: none;
}

.cscheduler-week-header-cell.today[b-fbsobib3yg] {
    background: var(--cs-today);
}

.cscheduler-week-header-cell.weekend[b-fbsobib3yg] {
    background: var(--cs-weekend);
}

.cscheduler-week-day-name[b-fbsobib3yg] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    text-transform: uppercase;
}

.cscheduler-week-day-number[b-fbsobib3yg] {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--c-text-primary);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.cscheduler-week-day-number.today-badge[b-fbsobib3yg] {
    background: var(--c-info);
    color: white;
}

/* === All-day row === */
.cscheduler-week-allday[b-fbsobib3yg] {
    display: flex;
    border-bottom: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
    min-height: 40px;
}

.cscheduler-week-allday-cell[b-fbsobib3yg] {
    flex: 1;
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-right: 1px solid var(--c-bg-tertiary);
}

.cscheduler-week-allday-cell:last-child[b-fbsobib3yg] {
    border-right: none;
}

/* === Week body (time grid) === */
.cscheduler-week-body[b-fbsobib3yg] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.cscheduler-week-scrollable[b-fbsobib3yg] {
    flex: 1;
    overflow-y: auto;
    position: relative;
}

.cscheduler-week-row[b-fbsobib3yg] {
    display: flex;
    height: var(--cs-hour-height);
    border-bottom: 1px solid var(--c-bg-tertiary);
}

.cscheduler-week-cell[b-fbsobib3yg] {
    flex: 1;
    border-right: 1px solid var(--c-bg-tertiary);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-week-cell:last-child[b-fbsobib3yg] {
    border-right: none;
}

.cscheduler-week-cell:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
}

.cscheduler-week-cell.today[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--cs-today) 30%, transparent);
}

/* === Events layer for week view === */
.cscheduler-week-events-layer[b-fbsobib3yg] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.cscheduler-event-timed[b-fbsobib3yg] {
    position: absolute;
    pointer-events: auto;
    background: var(--event-color);
    color: var(--event-text-color);
    border-radius: var(--radius-sm);
    padding: 4px 8px;
    font-size: 0.75rem;
    overflow: hidden;
    cursor: grab;
    transition: box-shadow 0.2s, transform 0.2s;
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cscheduler-event-timed:hover[b-fbsobib3yg] {
    box-shadow: var(--shadow-lg);
    transform: scale(1.02);
    z-index: 10;
}

.cscheduler-event-time[b-fbsobib3yg] {
    font-size: 0.7rem;
    opacity: 0.9;
    font-weight: 500;
}

.cscheduler-event-desc[b-fbsobib3yg] {
    font-size: 0.7rem;
    opacity: 0.8;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cscheduler-event-resize-handle[b-fbsobib3yg] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 8px;
    cursor: ns-resize;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.1));
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}

/* === Current time line === */
.cscheduler-current-time[b-fbsobib3yg] {
    position: absolute;
    left: 60px;
    right: 0;
    display: flex;
    align-items: center;
    z-index: 5;
    pointer-events: none;
}

.cscheduler-current-time-day[b-fbsobib3yg] {
    left: 60px;
}

.cscheduler-current-time-dot[b-fbsobib3yg] {
    width: 12px;
    height: 12px;
    background: var(--c-danger);
    border-radius: 50%;
    margin-left: -6px;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-danger) 30%, transparent);
}

.cscheduler-current-time-line[b-fbsobib3yg] {
    flex: 1;
    height: 2px;
    background: var(--c-danger);
}

/* ========================================
   WIDOK DZIENNY
   ======================================== */

.cscheduler-day[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

.cscheduler-day-header[b-fbsobib3yg] {
    display: flex;
    background: var(--c-bg-secondary);
    border-bottom: 1px solid var(--c-border);
    flex-shrink: 0;
}

.cscheduler-day-header-cell[b-fbsobib3yg] {
    flex: 1;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.cscheduler-day-header-cell.today[b-fbsobib3yg] {
    background: var(--cs-today);
}

.cscheduler-day-name[b-fbsobib3yg] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--c-text-secondary);
    text-transform: capitalize;
}

.cscheduler-day-date[b-fbsobib3yg] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--c-text-primary);
    padding: 8px 16px;
    border-radius: var(--radius-lg);
}

.cscheduler-day-date.today-badge[b-fbsobib3yg] {
    background: var(--c-info);
    color: white;
}

.cscheduler-day-allday[b-fbsobib3yg] {
    display: flex;
    border-bottom: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
    min-height: 48px;
}

.cscheduler-day-allday-events[b-fbsobib3yg] {
    flex: 1;
    padding: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cscheduler-day-body[b-fbsobib3yg] {
    flex: 1;
    overflow: hidden;
}

.cscheduler-day-scrollable[b-fbsobib3yg] {
    height: 100%;
    overflow-y: auto;
    position: relative;
}

.cscheduler-day-row[b-fbsobib3yg] {
    display: flex;
    height: var(--cs-hour-height);
    border-bottom: 1px solid var(--c-bg-tertiary);
}

.cscheduler-day-cell[b-fbsobib3yg] {
    flex: 1;
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-day-cell:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
}

.cscheduler-day-cell.today[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--cs-today) 30%, transparent);
}

.cscheduler-day-events-layer[b-fbsobib3yg] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
}

.cscheduler-event-day[b-fbsobib3yg] {
    min-width: 200px;
}

/* === All-day events === */
.cscheduler-event-allday[b-fbsobib3yg] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 0.8rem;
    font-weight: 500;
    border-radius: var(--radius-sm);
    background: var(--event-color);
    color: var(--event-text-color);
    cursor: grab;
    transition: var(--transition-normal);
}

.cscheduler-event-allday:hover[b-fbsobib3yg] {
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

/* ========================================
   MODAL / EDITOR
   ======================================== */

.cscheduler-modal-overlay[b-fbsobib3yg] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: fadeIn-b-fbsobib3yg 0.2s ease;
}

@keyframes fadeIn-b-fbsobib3yg {
    from { opacity: 0; }
    to { opacity: 1; }
}

.cscheduler-modal[b-fbsobib3yg] {
    background: var(--c-bg-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: slideUp-b-fbsobib3yg 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideUp-b-fbsobib3yg {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.cscheduler-modal-header[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--c-border);
}

.cscheduler-modal-header h3[b-fbsobib3yg] {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--c-text-primary);
}

.cscheduler-modal-close[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--radius-lg);
    color: var(--c-text-muted);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-modal-close:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    color: var(--c-text-primary);
}

.cscheduler-modal-close svg[b-fbsobib3yg] {
    width: 20px;
    height: 20px;
}

.cscheduler-modal-body[b-fbsobib3yg] {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}

.cscheduler-modal-footer[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-top: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
}

.cscheduler-modal-footer-right[b-fbsobib3yg] {
    display: flex;
    gap: 8px;
}

/* === Editor Form === */
.cscheduler-editor[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cscheduler-editor-field[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cscheduler-editor-field > label[b-fbsobib3yg] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--c-text-secondary);
}

.cscheduler-editor-field input[type="text"][b-fbsobib3yg],
.cscheduler-editor-field input[type="datetime-local"][b-fbsobib3yg],
.cscheduler-editor-field textarea[b-fbsobib3yg] {
    width: 100%;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    transition: var(--transition-normal);
    font-family: inherit;
}

.cscheduler-editor-field input:focus[b-fbsobib3yg],
.cscheduler-editor-field textarea:focus[b-fbsobib3yg] {
    outline: none;
    border-color: var(--c-info);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-info) 20%, transparent);
}

.cscheduler-editor-field textarea[b-fbsobib3yg] {
    resize: vertical;
    min-height: 80px;
}

.cscheduler-editor-row[b-fbsobib3yg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.cscheduler-checkbox[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: normal !important;
}

.cscheduler-checkbox input[type="checkbox"][b-fbsobib3yg] {
    width: 18px;
    height: 18px;
    accent-color: var(--c-info);
    cursor: pointer;
}

/* === Color Picker === */
.cscheduler-color-picker[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cscheduler-color-btn[b-fbsobib3yg] {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-color-btn:hover[b-fbsobib3yg] {
    transform: scale(1.15);
}

.cscheduler-color-btn.selected[b-fbsobib3yg] {
    border-color: var(--c-text-primary);
    box-shadow: 0 0 0 2px var(--c-bg-primary);
}

.cscheduler-color-input[b-fbsobib3yg] {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    background: transparent;
}

.cscheduler-color-input[b-fbsobib3yg]::-webkit-color-swatch-wrapper {
    padding: 2px;
}

.cscheduler-color-input[b-fbsobib3yg]::-webkit-color-swatch {
    border: none;
    border-radius: 2px;
}

/* ========================================
   TRYB CIEMNY
   Scheduler dziedziczy dark mode z tokenów.
   Tu tylko nadpisania zmiennych specyficznych.
   ======================================== */

/* Lokalny toggle dark mode */
.cscheduler.dark[b-fbsobib3yg] {
    --cs-today: rgba(251, 191, 36, 0.15);
    --cs-weekend: rgba(255, 255, 255, 0.03);
}

/* Automatyczne dark mode gdy strona jest w dark mode */
html.admin-dark-mode .cscheduler[b-fbsobib3yg] {
    --cs-today: rgba(251, 191, 36, 0.15);
    --cs-weekend: rgba(255, 255, 255, 0.03);
}

.cscheduler.dark .cscheduler-modal-overlay[b-fbsobib3yg],
html.admin-dark-mode .cscheduler .cscheduler-modal-overlay[b-fbsobib3yg] {
    background: rgba(0, 0, 0, 0.7);
}

.cscheduler.dark .cscheduler-event-month[b-fbsobib3yg],
html.admin-dark-mode .cscheduler .cscheduler-event-month[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--event-color) 25%, transparent);
}

.cscheduler.dark .cscheduler-event-month:hover[b-fbsobib3yg],
html.admin-dark-mode .cscheduler .cscheduler-event-month:hover[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--event-color) 35%, transparent);
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 768px) {
    .cscheduler-header[b-fbsobib3yg] {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    
    .cscheduler-header-left[b-fbsobib3yg],
    .cscheduler-header-right[b-fbsobib3yg] {
        justify-content: center;
    }
    
    .cscheduler-title[b-fbsobib3yg] {
        font-size: 1rem;
    }
    
    .cscheduler-view-toggle[b-fbsobib3yg] {
        width: 100%;
    }
    
    .cscheduler-view-btn[b-fbsobib3yg] {
        flex: 1;
        text-align: center;
    }
    
    .cscheduler-month-cell[b-fbsobib3yg] {
        min-height: 80px;
    }
    
    .cscheduler-month-day[b-fbsobib3yg] {
        font-size: 0.75rem;
        width: 24px;
        height: 24px;
    }
    
    .cscheduler-week-day-number[b-fbsobib3yg] {
        font-size: 1.25rem;
        width: 32px;
        height: 32px;
    }
    
    .cscheduler-modal[b-fbsobib3yg] {
        margin: 16px;
        max-height: calc(100vh - 32px);
    }
    
    .cscheduler-editor-row[b-fbsobib3yg] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .cscheduler[b-fbsobib3yg] {
        min-height: 500px;
    }
    
    .cscheduler-btn-today span[b-fbsobib3yg] {
        display: none;
    }
    
    .cscheduler-month-header-cell[b-fbsobib3yg] {
        padding: 8px 4px;
        font-size: 0.65rem;
    }
    
    .cscheduler-event-month[b-fbsobib3yg] {
        padding: 2px 4px;
        font-size: 0.65rem;
    }
    
    .cscheduler-event-dot[b-fbsobib3yg] {
        width: 6px;
        height: 6px;
    }
}

/* ========================================
   ANIMACJE DRAG & DROP
   ======================================== */

.cscheduler-event[draggable="true"]:active[b-fbsobib3yg] {
    cursor: grabbing;
    opacity: 0.8;
    transform: scale(1.05);
    box-shadow: var(--shadow-lg);
}

.cscheduler-month-cell.drag-over[b-fbsobib3yg],
.cscheduler-week-cell.drag-over[b-fbsobib3yg],
.cscheduler-day-cell.drag-over[b-fbsobib3yg] {
    background: var(--cs-selected) !important;
}

/* === JS Drag Ghost === */
.cs-drag-ghost[b-fbsobib3yg] {
    pointer-events: none;
    z-index: 10000;
}

.cs-dragging-source[b-fbsobib3yg] {
    opacity: 0.4;
    pointer-events: none;
}

.cs-drop-target[b-fbsobib3yg] {
    background: var(--cs-selected) !important;
    box-shadow: inset 0 0 0 2px var(--c-info);
}

.cs-resizing[b-fbsobib3yg] {
    z-index: 100;
    box-shadow: 0 0 0 2px var(--c-info), var(--shadow-lg);
}

/* ========================================
   RECURRING EVENTS
   ======================================== */

.cscheduler-event.recurring[b-fbsobib3yg] {
    position: relative;
}

.cscheduler-event-recurring-icon[b-fbsobib3yg] {
    font-size: 0.65rem;
    margin-right: 4px;
    opacity: 0.8;
}

.cscheduler-event-month.recurring[b-fbsobib3yg]::after {
    content: '';
    position: absolute;
    top: 2px;
    right: 2px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
}

/* === Recurring Edit Dialog === */
.cscheduler-modal-sm[b-fbsobib3yg] {
    max-width: 400px;
}

.cscheduler-recurring-options[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.cscheduler-recurring-option[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--c-bg-secondary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: var(--transition-normal);
    text-align: left;
    color: var(--c-text-primary);
    font-size: 0.9rem;
}

.cscheduler-recurring-option:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    border-color: var(--c-info);
}

.cscheduler-recurring-option svg[b-fbsobib3yg] {
    width: 24px;
    height: 24px;
    color: var(--c-info);
    flex-shrink: 0;
}

/* === Recurrence Editor in Modal === */
.cscheduler-editor-section[b-fbsobib3yg] {
    padding-top: 16px;
    border-top: 1px solid var(--c-border);
}

.cscheduler-recurrence-editor[b-fbsobib3yg] {
    margin-top: 16px;
    padding: 16px;
    background: var(--c-bg-secondary);
    border-radius: var(--radius-lg);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cscheduler-weekday-picker[b-fbsobib3yg] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.cscheduler-weekday-btn[b-fbsobib3yg] {
    width: 36px;
    height: 36px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    color: var(--c-text-secondary);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-weekday-btn:hover[b-fbsobib3yg] {
    border-color: var(--c-info);
    color: var(--c-info);
}

.cscheduler-weekday-btn.selected[b-fbsobib3yg] {
    background: var(--c-info);
    border-color: var(--c-info);
    color: white;
}

.cscheduler-recurrence-summary[b-fbsobib3yg] {
    padding: 12px;
    background: var(--c-bg-primary);
    border-radius: var(--radius-sm);
    font-size: 0.85rem;
    color: var(--c-text-secondary);
}

/* ========================================
   KEYBOARD NAVIGATION
   ======================================== */

.cscheduler:focus[b-fbsobib3yg] {
    outline: none;
}

.cscheduler.focused[b-fbsobib3yg] {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-info) 30%, transparent), var(--shadow-lg);
}

.cscheduler-event.selected[b-fbsobib3yg] {
    box-shadow: 0 0 0 2px var(--c-info), var(--shadow-md);
    z-index: 5;
}

.cscheduler-event:focus[b-fbsobib3yg] {
    outline: none;
    box-shadow: 0 0 0 2px var(--c-info), var(--shadow-md);
}

.cscheduler-month-cell.selected[b-fbsobib3yg] {
    background: var(--cs-selected) !important;
}

/* === Keyboard Shortcuts Help === */
.cscheduler-shortcuts[b-fbsobib3yg] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
}

.cscheduler-shortcut-group h4[b-fbsobib3yg] {
    margin: 0 0 12px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--c-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cscheduler-shortcut[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    font-size: 0.85rem;
    color: var(--c-text-secondary);
}

.cscheduler-shortcut kbd[b-fbsobib3yg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--c-text-primary);
    background: var(--c-bg-secondary);
    border: 1px solid var(--c-border);
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.cscheduler-shortcut span[b-fbsobib3yg] {
    flex: 1;
}

/* === Icon Button === */
.cscheduler-btn-icon[b-fbsobib3yg] {
    padding: 8px;
    width: 36px;
    height: 36px;
}

.cscheduler-btn-icon svg[b-fbsobib3yg] {
    width: 18px;
    height: 18px;
}

/* ========================================
   DODATKOWE USPRAWNIENIA UI
   ======================================== */

/* Lepsza animacja eventów */
.cscheduler-event[b-fbsobib3yg] {
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

/* Subtelne efekty hover */
.cscheduler-event-timed:hover[b-fbsobib3yg] {
    transform: translateX(2px);
}

/* Poprawione style dla small modal */
.cscheduler-modal p[b-fbsobib3yg] {
    margin: 0;
    color: var(--c-text-secondary);
    line-height: 1.5;
}

/* Select w edytorze */
.cscheduler-editor-field select[b-fbsobib3yg] {
    width: 100%;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-editor-field select:focus[b-fbsobib3yg] {
    outline: none;
    border-color: var(--c-info);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-info) 20%, transparent);
}

/* Number input */
.cscheduler-editor-field input[type="number"][b-fbsobib3yg] {
    width: 100%;
    padding: 10px 14px;
    font-size: 0.9rem;
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    transition: var(--transition-normal);
}

.cscheduler-editor-field input[type="number"]:focus[b-fbsobib3yg] {
    outline: none;
    border-color: var(--c-info);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-info) 20%, transparent);
}

/* Tooltip dla eventów */
.cscheduler-event[title][b-fbsobib3yg] {
    cursor: pointer;
}

/* Animacja dla current time line */
.cscheduler-current-time-dot[b-fbsobib3yg] {
    animation: pulse-b-fbsobib3yg 2s infinite;
}

@keyframes pulse-b-fbsobib3yg {
    0%, 100% {
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-danger) 30%, transparent);
    }
    50% {
        box-shadow: 0 0 0 6px color-mix(in srgb, var(--c-danger) 15%, transparent);
    }
}

/* Print styles */
@media print {
    .cscheduler-header[b-fbsobib3yg],
    .cscheduler-modal-overlay[b-fbsobib3yg] {
        display: none;
    }

    .cscheduler[b-fbsobib3yg] {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/* ========================================
   AGENDA VIEW
   ======================================== */

.cscheduler-agenda[b-fbsobib3yg] {
    flex: 1;
    overflow-y: auto;
    padding: 16px 20px;
}

.cscheduler-agenda-empty[b-fbsobib3yg] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    color: var(--c-text-muted);
    text-align: center;
}

.cscheduler-agenda-empty svg[b-fbsobib3yg] {
    margin-bottom: 16px;
    opacity: 0.5;
}

.cscheduler-agenda-empty p[b-fbsobib3yg] {
    margin: 0;
    font-size: 1rem;
}

.cscheduler-agenda-date-header[b-fbsobib3yg] {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 12px 0 8px;
    border-bottom: 1px solid var(--c-border);
    margin-bottom: 8px;
}

.cscheduler-agenda-date-header.today[b-fbsobib3yg] {
    background: var(--cs-today);
    margin: 0 -20px;
    padding: 12px 20px 8px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.cscheduler-agenda-date-header .agenda-day[b-fbsobib3yg] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--c-text-primary);
    text-transform: capitalize;
}

.cscheduler-agenda-date-header .agenda-date[b-fbsobib3yg] {
    font-size: 0.875rem;
    color: var(--c-text-secondary);
}

.cscheduler-agenda-event[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 4px;
    background: var(--c-bg-secondary);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-agenda-event:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    transform: translateX(4px);
}

.cscheduler-agenda-event.selected[b-fbsobib3yg] {
    background: var(--cs-selected);
    box-shadow: 0 0 0 2px var(--c-info);
}

.cscheduler-agenda-event .agenda-time[b-fbsobib3yg] {
    min-width: 70px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--c-text-secondary);
}

.cscheduler-agenda-event .agenda-dot[b-fbsobib3yg] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cscheduler-agenda-event .agenda-content[b-fbsobib3yg] {
    flex: 1;
    min-width: 0;
}

.cscheduler-agenda-event .agenda-title[b-fbsobib3yg] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--c-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cscheduler-agenda-event .agenda-category[b-fbsobib3yg] {
    font-size: 0.75rem;
    color: var(--c-text-muted);
    margin-top: 2px;
}

.cscheduler-agenda-event .agenda-duration[b-fbsobib3yg] {
    font-size: 0.75rem;
    color: var(--c-text-muted);
    white-space: nowrap;
}

/* ========================================
   EVENT POPOVER
   ======================================== */

.cscheduler-popover-overlay[b-fbsobib3yg] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
}

.cscheduler-popover[b-fbsobib3yg] {
    position: fixed;
    z-index: 1000;
    background: var(--c-bg-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
    width: 280px;
    max-width: calc(100vw - 40px);
    animation: popover-in-b-fbsobib3yg 0.15s ease-out;
    overflow: hidden;
}

@keyframes popover-in-b-fbsobib3yg {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(-5px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.cscheduler-popover-header[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: var(--c-bg-secondary);
    border-left: 4px solid var(--c-info);
}

.cscheduler-popover-header strong[b-fbsobib3yg] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--c-text-primary);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cscheduler-popover-close[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    color: var(--c-text-muted);
    cursor: pointer;
    transition: var(--transition-normal);
    flex-shrink: 0;
}

.cscheduler-popover-close:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    color: var(--c-text-primary);
}

.cscheduler-popover-close svg[b-fbsobib3yg] {
    width: 14px;
    height: 14px;
}

.cscheduler-popover-body[b-fbsobib3yg] {
    padding: 14px 16px;
}

.cscheduler-popover-time[b-fbsobib3yg],
.cscheduler-popover-client[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--c-text-secondary);
    margin-bottom: 8px;
}

.cscheduler-popover-time svg[b-fbsobib3yg],
.cscheduler-popover-client svg[b-fbsobib3yg] {
    flex-shrink: 0;
    color: var(--c-text-muted);
}

.cscheduler-popover-desc[b-fbsobib3yg] {
    margin: 8px 0 0;
    font-size: 0.85rem;
    color: var(--c-text-secondary);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cscheduler-popover-actions[b-fbsobib3yg] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--c-border);
    background: var(--c-bg-secondary);
}

.cscheduler-popover-btn[b-fbsobib3yg] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--c-text-secondary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: var(--transition-normal);
}

.cscheduler-popover-btn:hover[b-fbsobib3yg] {
    background: var(--c-bg-hover);
    border-color: var(--c-text-muted);
    color: var(--c-text-primary);
}

.cscheduler-popover-btn svg[b-fbsobib3yg] {
    flex-shrink: 0;
}

.cscheduler-popover-btn-danger[b-fbsobib3yg] {
    color: var(--c-danger);
    border-color: transparent;
    background: transparent;
    margin-left: auto;
}

.cscheduler-popover-btn-danger:hover[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--c-danger) 10%, transparent);
    border-color: transparent;
    color: var(--c-danger);
}

/* ========================================
   MOBILE RESPONSIVE - ENHANCED
   ======================================== */

@media (max-width: 768px) {
    .cscheduler[b-fbsobib3yg] {
        min-height: 450px;
    }

    .cscheduler-popover[b-fbsobib3yg] {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: auto !important;
        width: 100%;
        max-width: 100%;
        border-radius: var(--radius-xl) var(--radius-xl) 0 0;
        animation: slide-up-b-fbsobib3yg 0.2s ease-out;
    }

    .cscheduler-popover-overlay[b-fbsobib3yg] {
        background: rgba(0, 0, 0, 0.3);
    }

    @keyframes slide-up-b-fbsobib3yg {
        from {
            transform: translateY(100%);
        }
        to {
            transform: translateY(0);
        }
    }

    .cscheduler-agenda-event[b-fbsobib3yg] {
        flex-wrap: wrap;
    }

    .cscheduler-agenda-event .agenda-time[b-fbsobib3yg] {
        min-width: 60px;
    }

    .cscheduler-agenda-event .agenda-duration[b-fbsobib3yg] {
        width: 100%;
        margin-top: 4px;
        padding-left: 82px;
    }

    /* Mobile view selector dropdown */
    .cscheduler-mobile-view-select[b-fbsobib3yg] {
        display: block;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .cscheduler[b-fbsobib3yg] {
        min-height: 400px;
    }

    .cscheduler-agenda[b-fbsobib3yg] {
        padding: 12px 16px;
    }

    .cscheduler-agenda-date-header[b-fbsobib3yg] {
        flex-direction: column;
        gap: 4px;
    }

    .cscheduler-agenda-event[b-fbsobib3yg] {
        padding: 10px 12px;
        gap: 8px;
    }

    .cscheduler-agenda-event .agenda-time[b-fbsobib3yg] {
        min-width: 55px;
        font-size: 0.8rem;
    }

    .cscheduler-agenda-event .agenda-title[b-fbsobib3yg] {
        font-size: 0.85rem;
    }

    .cscheduler-popover-actions[b-fbsobib3yg] {
        flex-wrap: wrap;
    }

    .cscheduler-popover-btn[b-fbsobib3yg] {
        flex: 1;
        justify-content: center;
    }

    .cscheduler-popover-btn-danger[b-fbsobib3yg] {
        flex: 0;
        margin-left: 0;
    }
}

/* ========================================
   DRAG-TO-SELECT (CSS preparation)
   ======================================== */

.cscheduler-drag-selection[b-fbsobib3yg] {
    position: absolute;
    background: color-mix(in srgb, var(--c-info) 15%, transparent);
    border: 2px dashed var(--c-info);
    border-radius: var(--radius-sm);
    pointer-events: none;
    z-index: 10;
    animation: drag-selection-pulse-b-fbsobib3yg 1s ease-in-out infinite;
}

@keyframes drag-selection-pulse-b-fbsobib3yg {
    0%, 100% {
        opacity: 0.7;
    }
    50% {
        opacity: 1;
    }
}

.cscheduler-week-cell.selecting[b-fbsobib3yg],
.cscheduler-day-cell.selecting[b-fbsobib3yg] {
    background: color-mix(in srgb, var(--c-info) 20%, transparent) !important;
}

/* Touch-friendly improvements */
@media (pointer: coarse) {
    .cscheduler-event[b-fbsobib3yg] {
        min-height: 36px;
    }

    .cscheduler-month-cell[b-fbsobib3yg] {
        min-height: 90px;
    }

    .cscheduler-popover-btn[b-fbsobib3yg] {
        padding: 12px 16px;
        font-size: 0.9rem;
    }

    .cscheduler-popover-close[b-fbsobib3yg] {
        width: 36px;
        height: 36px;
    }
}
/* _content/Compax.Web/Components/Shared/UI/CSelect.razor.rz.scp.css */
/* ========================================
   CSelect - Komponent select/dropdown
   Używa zmiennych z tokens.css
   ======================================== */

.c-select-wrapper[b-9sgjzkltdf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.c-select-wrapper.disabled[b-9sgjzkltdf] {
    opacity: 0.6;
    pointer-events: none;
}

/* Label */
.c-select-label[b-9sgjzkltdf] {
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--c-text-primary);
}

.c-select-required[b-9sgjzkltdf] {
    color: var(--c-danger);
    margin-left: 2px;
}

/* Container */
.c-select-container[b-9sgjzkltdf] {
    position: relative;
    display: flex;
    align-items: center;
}

/* Select */
.c-select[b-9sgjzkltdf] {
    width: 100%;
    height: var(--btn-height-md);
    padding: 0 var(--space-10) 0 var(--space-3);
    font-family: var(--font-family);
    font-size: var(--text-md);
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    transition: var(--transition-fast);
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.c-select:hover:not(:disabled)[b-9sgjzkltdf] {
    border-color: var(--c-border-hover);
}

.c-select:focus[b-9sgjzkltdf] {
    border-color: var(--c-primary);
    box-shadow: var(--shadow-focus);
}

.c-select:disabled[b-9sgjzkltdf] {
    background: var(--c-bg-secondary);
    cursor: not-allowed;
}

/* Empty/placeholder state */
.c-select:invalid[b-9sgjzkltdf],
.c-select option[value=""][b-9sgjzkltdf] {
    color: var(--c-text-muted);
}

/* Sizes */
.c-select-sm[b-9sgjzkltdf] {
    height: var(--btn-height-sm);
    padding: 0 var(--space-8) 0 var(--space-2);
    font-size: var(--text-sm);
}

.c-select-lg[b-9sgjzkltdf] {
    height: var(--btn-height-lg);
    padding: 0 var(--space-12) 0 var(--space-4);
    font-size: var(--text-lg);
}

/* Dropdown icon */
.c-select-icon[b-9sgjzkltdf] {
    position: absolute;
    right: var(--space-3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-muted);
    pointer-events: none;
    transition: var(--transition-fast);
}

.c-select:focus + .c-select-icon[b-9sgjzkltdf] {
    color: var(--c-primary);
}

/* Helper & Error text */
.c-select-helper[b-9sgjzkltdf] {
    font-size: var(--text-xs);
    color: var(--c-text-muted);
}

.c-select-error[b-9sgjzkltdf] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-xs);
    color: var(--c-danger);
}

/* Error state */
.c-select-wrapper.has-error .c-select[b-9sgjzkltdf] {
    border-color: var(--c-danger);
}

.c-select-wrapper.has-error .c-select:focus[b-9sgjzkltdf] {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

/* Dark mode */
.dark-mode .c-select[b-9sgjzkltdf],
.admin-dark-mode .c-select[b-9sgjzkltdf] {
    background: var(--c-bg-primary);
    border-color: var(--c-border);
    color: var(--c-text-primary);
}

.dark-mode .c-select:disabled[b-9sgjzkltdf],
.admin-dark-mode .c-select:disabled[b-9sgjzkltdf] {
    background: var(--c-bg-secondary);
}

.dark-mode .c-select option[b-9sgjzkltdf],
.admin-dark-mode .c-select option[b-9sgjzkltdf] {
    background: var(--c-bg-primary);
    color: var(--c-text-primary);
}
/* _content/Compax.Web/Components/Shared/UI/CSkeleton.razor.rz.scp.css */
/* ========================================
   CSkeleton - Placeholder ładowania
   Używa zmiennych z tokens.css
   ======================================== */

.c-skeleton[b-zlapd5u7k2] {
    background: linear-gradient(90deg, 
        var(--c-bg-tertiary) 25%, 
        var(--c-bg-secondary) 50%, 
        var(--c-bg-tertiary) 75%);
    background-size: 200% 100%;
    animation: skeletonShimmer-b-zlapd5u7k2 1.5s infinite;
    border-radius: var(--radius-sm);
}

@keyframes skeletonShimmer-b-zlapd5u7k2 {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Basic types */
.c-skeleton-text[b-zlapd5u7k2] {
    height: 14px;
    margin-bottom: var(--space-2);
}

.c-skeleton-title[b-zlapd5u7k2] {
    height: 24px;
    margin-bottom: var(--space-3);
}

.c-skeleton-avatar[b-zlapd5u7k2] {
    border-radius: 50%;
}

.c-skeleton-button[b-zlapd5u7k2] {
    height: var(--btn-height-md);
    width: 120px;
    border-radius: var(--radius-md);
}

/* Card */
.c-skeleton-card[b-zlapd5u7k2] {
    padding: var(--space-5);
    background: var(--c-bg-primary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--c-border);
}

.c-skeleton-card-header[b-zlapd5u7k2] {
    height: 20px;
    width: 40%;
    margin-bottom: var(--space-4);
}

.c-skeleton-card-body[b-zlapd5u7k2] {
    height: 80px;
    margin-bottom: var(--space-4);
}

/* Table */
.c-skeleton-table[b-zlapd5u7k2] {
    width: 100%;
}

.c-skeleton-table-header[b-zlapd5u7k2],
.c-skeleton-table-row[b-zlapd5u7k2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: var(--space-4);
    padding: var(--space-3) var(--space-4);
}

.c-skeleton-table-header[b-zlapd5u7k2] {
    background: var(--c-bg-secondary);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.c-skeleton-table-row[b-zlapd5u7k2] {
    border-bottom: 1px solid var(--c-border);
}

.c-skeleton-cell[b-zlapd5u7k2] {
    height: 16px;
}

/* Form */
.c-skeleton-form[b-zlapd5u7k2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.c-skeleton-form-group[b-zlapd5u7k2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.c-skeleton-label[b-zlapd5u7k2] {
    height: 14px;
    width: 30%;
}

.c-skeleton-input[b-zlapd5u7k2] {
    height: var(--btn-height-md);
    border-radius: var(--radius-md);
}

/* List */
.c-skeleton-list[b-zlapd5u7k2] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.c-skeleton-list-item[b-zlapd5u7k2] {
    display: flex;
    gap: var(--space-3);
    align-items: center;
}

.c-skeleton-list-content[b-zlapd5u7k2] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

/* Stats */
.c-skeleton-stats[b-zlapd5u7k2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.c-skeleton-stat-card[b-zlapd5u7k2] {
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.c-skeleton-stat-value[b-zlapd5u7k2] {
    height: 32px;
    width: 60%;
}

.c-skeleton-stat-label[b-zlapd5u7k2] {
    height: 14px;
    width: 40%;
}

/* Dark mode */
.dark-mode .c-skeleton[b-zlapd5u7k2],
.admin-dark-mode .c-skeleton[b-zlapd5u7k2] {
    background: linear-gradient(90deg, 
        var(--c-bg-tertiary) 25%, 
        var(--c-bg-hover) 50%, 
        var(--c-bg-tertiary) 75%);
    background-size: 200% 100%;
}

.dark-mode .c-skeleton-card[b-zlapd5u7k2],
.dark-mode .c-skeleton-stat-card[b-zlapd5u7k2],
.admin-dark-mode .c-skeleton-card[b-zlapd5u7k2],
.admin-dark-mode .c-skeleton-stat-card[b-zlapd5u7k2] {
    background: var(--c-bg-primary);
    border-color: var(--c-border);
}

.dark-mode .c-skeleton-table-header[b-zlapd5u7k2],
.admin-dark-mode .c-skeleton-table-header[b-zlapd5u7k2] {
    background: var(--c-bg-secondary);
}

.dark-mode .c-skeleton-table-row[b-zlapd5u7k2],
.admin-dark-mode .c-skeleton-table-row[b-zlapd5u7k2] {
    border-color: var(--c-border);
}
/* _content/Compax.Web/Components/Shared/UI/CTextarea.razor.rz.scp.css */
/* ========================================
   CTextarea - Komponent wieloliniowego pola
   Używa zmiennych z tokens.css
   ======================================== */

.c-textarea-wrapper[b-b969pj5lyl] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.c-textarea-wrapper.disabled[b-b969pj5lyl] {
    opacity: 0.6;
    pointer-events: none;
}

/* Label */
.c-textarea-label[b-b969pj5lyl] {
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--c-text-primary);
}

.c-textarea-required[b-b969pj5lyl] {
    color: var(--c-danger);
    margin-left: 2px;
}

/* Container */
.c-textarea-container[b-b969pj5lyl] {
    position: relative;
}

/* Textarea */
.c-textarea[b-b969pj5lyl] {
    width: 100%;
    min-height: 80px;
    padding: var(--space-3);
    font-family: var(--font-family);
    font-size: var(--text-md);
    line-height: var(--leading-normal);
    color: var(--c-text-primary);
    background: var(--c-bg-primary);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    transition: var(--transition-fast);
    outline: none;
    resize: vertical;
}

.c-textarea[b-b969pj5lyl]::placeholder {
    color: var(--c-text-muted);
}

.c-textarea:hover:not(:disabled)[b-b969pj5lyl] {
    border-color: var(--c-border-hover);
}

.c-textarea:focus[b-b969pj5lyl] {
    border-color: var(--c-primary);
    box-shadow: var(--shadow-focus);
}

.c-textarea:disabled[b-b969pj5lyl] {
    background: var(--c-bg-secondary);
    cursor: not-allowed;
    resize: none;
}

.c-textarea:read-only[b-b969pj5lyl] {
    background: var(--c-bg-secondary);
}

/* Monospace */
.c-textarea.monospace[b-b969pj5lyl] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
}

/* Auto resize */
.c-textarea.auto-resize[b-b969pj5lyl] {
    resize: none;
    overflow: hidden;
}

/* Footer */
.c-textarea-footer[b-b969pj5lyl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 18px;
}

/* Helper & Error text */
.c-textarea-helper[b-b969pj5lyl] {
    font-size: var(--text-xs);
    color: var(--c-text-muted);
}

.c-textarea-error[b-b969pj5lyl] {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-xs);
    color: var(--c-danger);
}

/* Character count */
.c-textarea-count[b-b969pj5lyl] {
    font-size: var(--text-xs);
    color: var(--c-text-muted);
    margin-left: auto;
}

.c-textarea-count.limit[b-b969pj5lyl] {
    color: var(--c-danger);
    font-weight: var(--font-medium);
}

/* Error state */
.c-textarea-wrapper.has-error .c-textarea[b-b969pj5lyl] {
    border-color: var(--c-danger);
}

.c-textarea-wrapper.has-error .c-textarea:focus[b-b969pj5lyl] {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

/* Dark mode */
.dark-mode .c-textarea[b-b969pj5lyl],
.admin-dark-mode .c-textarea[b-b969pj5lyl] {
    background: var(--c-bg-primary);
    border-color: var(--c-border);
    color: var(--c-text-primary);
}

.dark-mode .c-textarea:disabled[b-b969pj5lyl],
.dark-mode .c-textarea:read-only[b-b969pj5lyl],
.admin-dark-mode .c-textarea:disabled[b-b969pj5lyl],
.admin-dark-mode .c-textarea:read-only[b-b969pj5lyl] {
    background: var(--c-bg-secondary);
}
/* _content/Compax.Web/Components/Shared/UI/CToast.razor.rz.scp.css */
/* ========================================
   CToast - Powiadomienia toast
   Używa zmiennych z tokens.css
   ======================================== */

.c-toast-container[b-2iaxvaa4aw] {
    position: fixed;
    top: var(--space-4);
    right: var(--space-4);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    max-width: 400px;
    pointer-events: none;
}

.c-toast[b-2iaxvaa4aw] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background: var(--c-bg-primary);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--c-border);
    pointer-events: auto;
    animation: toastSlideIn-b-2iaxvaa4aw 0.3s ease-out;
    position: relative;
    overflow: hidden;
}

.c-toast.hiding[b-2iaxvaa4aw] {
    animation: toastSlideOut-b-2iaxvaa4aw 0.2s ease-in forwards;
}

@keyframes toastSlideIn-b-2iaxvaa4aw {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes toastSlideOut-b-2iaxvaa4aw {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.c-toast-icon[b-2iaxvaa4aw] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.c-toast-success .c-toast-icon[b-2iaxvaa4aw] { color: var(--c-success); }
.c-toast-error .c-toast-icon[b-2iaxvaa4aw] { color: var(--c-danger); }
.c-toast-warning .c-toast-icon[b-2iaxvaa4aw] { color: var(--c-warning); }
.c-toast-info .c-toast-icon[b-2iaxvaa4aw] { color: var(--c-info); }

.c-toast-content[b-2iaxvaa4aw] {
    flex: 1;
    min-width: 0;
}

.c-toast-title[b-2iaxvaa4aw] {
    font-weight: var(--font-semibold);
    font-size: var(--text-md);
    color: var(--c-text-primary);
    margin-bottom: 2px;
}

.c-toast-message[b-2iaxvaa4aw] {
    font-size: var(--text-sm);
    color: var(--c-text-secondary);
    line-height: var(--leading-snug);
}

.c-toast-close[b-2iaxvaa4aw] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-1);
    border: none;
    background: transparent;
    color: var(--c-text-muted);
    cursor: pointer;
    border-radius: var(--radius-sm);
    opacity: 0.6;
    transition: var(--transition-fast);
}

.c-toast-close:hover[b-2iaxvaa4aw] {
    opacity: 1;
    background: var(--c-bg-hover);
}

.c-toast-progress[b-2iaxvaa4aw] {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    transform-origin: left;
    animation: toastProgress-b-2iaxvaa4aw linear forwards;
}

.c-toast-success .c-toast-progress[b-2iaxvaa4aw] { background: var(--c-success); }
.c-toast-error .c-toast-progress[b-2iaxvaa4aw] { background: var(--c-danger); }
.c-toast-warning .c-toast-progress[b-2iaxvaa4aw] { background: var(--c-warning); }
.c-toast-info .c-toast-progress[b-2iaxvaa4aw] { background: var(--c-info); }

@keyframes toastProgress-b-2iaxvaa4aw {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

/* Dark mode */
.dark-mode .c-toast[b-2iaxvaa4aw],
.admin-dark-mode .c-toast[b-2iaxvaa4aw] {
    background: var(--c-bg-primary);
    border-color: var(--c-border);
}

/* Mobile */
@media (max-width: 480px) {
    .c-toast-container[b-2iaxvaa4aw] {
        left: var(--space-4);
        right: var(--space-4);
        max-width: none;
    }
}
