/* 1. Сброс ограничений ширины */
.container, .main-container, .container-fluid {
max-width: 100% !important;
padding-left: 10px !important;
padding-right: 10px !important;
}
/* 2. Специфичные стили для таблицы планировщика */
.scheduler-table th.sticky-col,
.scheduler-table td.sticky-col {
position: sticky;
left: 0;
background-color: #ffffff;
z-index: 20;
border-right: 2px solid #cbd5e1;
text-align: left;
min-width: 180px;
box-shadow: 2px 0 5px -2px rgba(0,0,0,0.1);
}
.scheduler-table th,
.scheduler-table td {
padding: 0.5rem 0.25rem;
min-width: 36px;
border: 1px solid #e2e8f0;
text-align: center;
vertical-align: middle;
}
/* Эффект при наведении на ячейку */
.scheduler-table td:not(.sticky-col):hover {
filter: brightness(0.95);
background-color: #f1f5f9;
cursor: pointer;
}
/* Фиксация ячейки (Замочек) */
.cell-fixed {
position: relative;
}
.cell-fixed::after {
content: "🔒";
position: absolute;
top: 2px;
right: 2px;
font-size: 10px;
line-height: 1;
}
/* 3. Расчетные столбцы (Доплата, Итого и т.д.) */
.col-calc {
background-color: #f8fafc !important; /* чуть темнее остальных */
font-weight: 700;
min-width: 90px !important;
border-left: 2px solid #cbd5e1 !important;
color: #1e293b;
}
/* 4. Цвета типов смен */
.shift-S1_1, .shift-S2_1, .shift-S3_1 { background-color: #fef3c7 !important; color: #92400e !important; } /* День */
.shift-S2_2, .shift-S3_2 { background-color: #3b82f6 !important; color: #ffffff !important; } /* Ночь */
.shift-S3_3 { background-color: #1e3a8a !important; color: #ffffff !important; } /* Глубокая ночь */
.shift-S4 { background-color: #e9d5ff !important; color: #581c87 !important; } /* Сутки */
.shift-S_5 { background-color: #dbeafe !important; color: #1e40af !important; font-weight: 600; } /* 5/2 (8ч) */
.shift-R { background-color: #d1fae5 !important; color: #065f46 !important; } /* Отсыпной */
.shift-O { background-color: #ffffff !important; color: #94a3b8 !important; } /* Выходной */
.shift-V { background-color: #f1f5f9 !important; color: #475569 !important; font-style: italic; } /* Отпуск */
.shift-B { background-color: #fee2e2 !important; color: #b91c1c !important; } /* Больничный */
/* 5. Кнопки (Исправление контраста) */
.bg-business-600 {
background-color: #1e40af !important; /* Deep Blue 800 */
color: white !important;
}
.bg-business-600:hover {
background-color: #1e3a8a !important;
}
.btn-premium {
background-color: #f59e0b !important; /* Улучшенный Orange 500 */
color: #ffffff !important;
border: none !important;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.btn-premium:hover {
background-color: #d97706 !important;
transform: translateY(-1px);
}
/* Активная кнопка в модалке */
.shift-btn.active {
/* ring: 2px solid #0f172a; */
background-color: #e2e8f0 !important;
box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

@media print {
    .no-print, .flex.gap-1.border-b, #cellEditorModal, #shareModal, #sub-banner { display: none !important; }
    body { margin: 0; padding: 10px; background: #fff !important; font-size: 10pt; color: #000; }
    .overflow-x-auto { max-height: none !important; overflow: visible !important; border: 1px solid #333 !important; box-shadow: none !important; }
    #mainTable { width: 100% !important; border-collapse: collapse !important; }
    .sticky, .sticky.top-0, .sticky.bottom-0, .sticky-col { position: static !important; box-shadow: none !important; z-index: auto !important; }
    th, td { border: 1px solid #999 !important; padding: 3px 2px !important; text-align: center !important; white-space: nowrap !important; }
    .sticky-col { border-right: 2px solid #333 !important; font-weight: bold; }
    tbody tr { page-break-inside: avoid; }
    thead { display: table-header-group; }
    tfoot { display: table-footer-group; }
    
    /* 🎯 Режим печати без зарплаты */
    body.print-no-salary .col-salary { display: none !important; }
    #monthLabel::after { content: " — График смен"; font-size: 0.9em; color: #555; }
}