/* 
ВЕРСИЯ ДЛЯ ПЕЧАТИ ПРОИЗВОДСТВЕННОГО КАЛЕНДАРЯ
Оптимизировано для печати на листе А4
*/

/* ========== ОБЩИЕ НАСТРОЙКИ ========== */
* {
    box-sizing: border-box;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
}

body {
    font-family: "Arial", "Helvetica", sans-serif !important;
    font-size: 10pt !important;
    color: #000 !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* ========== СКРЫВАЕМ НЕНУЖНЫЕ ЭЛЕМЕНТЫ ========== */
nav.navbar,
footer.footer,
button,
.btn,
.no-print,
[data-bs-toggle="tooltip"],
.btn-group,
.alert,
.preview-controls,
.print-hide,
.d-print-none {
    display: none !important;
}

/* ========== ЗАГОЛОВОК СТРАНИЦЫ ========== */
.print-header {
    text-align: center;
    margin-bottom: 0.4cm;
    padding-bottom: 0.2cm;
    border-bottom: 1pt solid #000;
}

.print-header h1 {
    font-size: 16pt !important;
    font-weight: bold;
    margin: 0 0 0.1cm 0 !important;
}

.print-header .year {
    font-size: 14pt !important;
    font-weight: normal;
}

.print-header .print-date {
    font-size: 8pt !important;
    color: #666;
    margin-top: 0.1cm;
}

/* ========== СЕТКА ДЛЯ ПЕЧАТИ ========== */
.row.print-row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -0.1cm !important;
    margin-right: -0.1cm !important;
    page-break-inside: avoid;
}

.col-print-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
    width: 33.333333% !important;
    padding-left: 0.1cm !important;
    padding-right: 0.1cm !important;
    page-break-inside: avoid;
}

/* ========== СТИЛИ МЕСЯЦА ДЛЯ ПЕЧАТИ ========== */
.calendar-month.print-month {
    margin-bottom: 0.3cm !important;
    border: 0.5pt solid #999 !important;
    page-break-inside: avoid;
    break-inside: avoid;
}

.print-month .card-header {
    background-color: #fff !important;
    color: #000 !important;
    border-bottom: 0.5pt solid #999 !important;
    padding: 0.15cm 0.1cm !important;
    text-align: center;
}

.print-month .card-header h5 {
    font-size: 9pt !important;
    margin: 0 !important;
    font-weight: bold;
}

.print-month .card-body {
    padding: 0 !important;
}

/* ========== ТАБЛИЦА КАЛЕНДАРЯ ДЛЯ ПЕЧАТИ ========== */
.calendar-table.print-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 7pt !important;
    table-layout: fixed;
}

.print-table th, 
.print-table td {
    height: 0.9cm !important; /* Увеличили высоту для больших цифр */
    border: 0.3pt solid #999 !important;
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-weight: normal !important;
}

/* Заголовки дней недели */
.print-table .day-header {
    background-color: #f0f0f0 !important;
    color: #000 !important;
    font-weight: bold !important;
    font-size: 7pt !important;
    padding: 0.1cm !important;
}

.print-table .day-header.weekend {
    background-color: #d0d0d0 !important;
}

/* Ячейки с днями - УВЕЛИЧИВАЕМ ЦИФРЫ */
.print-table .day-cell {
    position: relative;
}

.print-table .day-number-large {
    font-size: 10pt !important; /* БОЛЬШИЕ ЦИФРЫ */
    font-weight: bold !important;
    display: block;
    line-height: 1;
}

/* Маленькая иконка для особых дней */
.day-icon-small {
    position: absolute;
    top: 1px;
    right: 1px;
    font-size: 5pt !important;
    font-weight: bold;
}

/* Цвета для печати Ч/Б (по умолчанию) */
.print-table .workday {
    background-color: #fff !important;
}

.print-table .holiday {
    background-color: #f0f0f0 !important;
}

/* Штриховка для особых дней в Ч/Б версии */
.print-table .workday.special {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 1px,
        #e0e0e0 1px,
        #e0e0e0 2px
    ) !important;
}

.print-table .holiday.special {
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 1px,
        #d0d0d0 1px,
        #d0d0d0 2px
    ) !important;
}

/* ========== ВАРИАНТЫ МАКЕТОВ ========== */

/* Вариант A: 3 колонки (по умолчанию) */
.print-layout-3col .col-print-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
}

/* Вариант B: 4 колонки */
.print-layout-4col .col-print-4 {
    flex: 0 0 25% !important;
    max-width: 25% !important;
}

.print-layout-4col .calendar-table.print-table {
    font-size: 6.5pt !important;
}

.print-layout-4col .print-table th, 
.print-layout-4col .print-table td {
    height: 0.8cm !important;
}

.print-layout-4col .day-number-large {
    font-size: 9pt !important;
}

/* Вариант C: Плотный макет */
.print-layout-dense .col-print-4 {
    flex: 0 0 50% !important; /* 2 колонки */
    max-width: 50% !important;
}

.print-layout-dense .calendar-table.print-table {
    font-size: 6pt !important;
}

.print-layout-dense .print-table th, 
.print-layout-dense .print-table td {
    height: 0.7cm !important;
}

.print-layout-dense .print-month .card-header h5 {
    font-size: 8pt !important;
}

.print-layout-dense .day-number-large {
    font-size: 8pt !important;
}

/* ========== ЛЕГЕНДА ДЛЯ ПЕЧАТИ ========== */
.print-legend {
    margin-top: 0.4cm;
    margin-bottom: 0.3cm;
    padding: 0.2cm;
    border: 0.5pt solid #999;
    font-size: 7pt;
    page-break-inside: avoid;
}

.print-legend h6 {
    font-size: 8pt;
    font-weight: bold;
    margin: 0 0 0.15cm 0;
    text-align: center;
}

.legend-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.2cm;
}

.legend-item {
    display: flex;
    align-items: center;
    margin-right: 0.2cm;
}

.legend-color {
    width: 0.4cm;
    height: 0.4cm;
    margin-right: 0.1cm;
    border: 0.3pt solid #999;
}

.legend-color.workday {
    background-color: #fff;
}

.legend-color.holiday {
    background-color: #f0f0f0;
}

.legend-color.special-workday {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 1px,
        #e0e0e0 1px,
        #e0e0e0 2px
    );
}

.legend-color.special-holiday {
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 1px,
        #d0d0d0 1px,
        #d0d0d0 2px
    );
}

/* ========== ПОДВАЛ СТРАНИЦЫ ========== */
.print-footer {
    margin-top: 0.4cm;
    padding-top: 0.2cm;
    border-top: 0.5pt solid #ccc;
    font-size: 7pt;
    color: #666;
    text-align: center;
}

/* ========== НАСТРОЙКИ ДЛЯ ОРИЕНТАЦИИ ========== */

/* Для альбомной ориентации */
@media print and (orientation: landscape) {
    .print-layout-4col .col-print-4 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
    
    .print-layout-3col .col-print-4 {
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }
    
    .day-number-large {
        font-size: 11pt !important; /* Еще больше цифры в альбомной */
    }
}

/* Для портретной ориентации */
@media print and (orientation: portrait) {
    .print-layout-4col .col-print-4 {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
    
    .print-layout-dense .col-print-4 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

/* ========== УПРАВЛЕНИЕ РАЗРЫВАМИ СТРАНИЦ ========== */
@media print {
    .page-break-before {
        page-break-before: always !important;
    }
    
    .page-break-after {
        page-break-after: always !important;
    }
    
    .page-break-avoid {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    
    /* Убираем тени и фоны для экономии тонера */
    .print-month {
        box-shadow: none !important;
    }
    
    /* Гарантируем видимость границ */
    .print-table th, 
    .print-table td {
        border-color: #999 !important;
    }
}

/* ========== ЛЕГЕНДА С БРЕНДИРОВАНИЕМ (НОВЫЙ ДИЗАЙН) ========== */
.print-legend {
    margin-top: 0.3cm;
    margin-bottom: 0.2cm;
    padding: 0.2cm;
    border: 0.5pt solid #999;
    font-size: 7pt;
    page-break-inside: avoid;
    min-height: 1.5cm;
}

.legend-container {
    display: flex !important;
    align-items: stretch !important;
    height: 100%;
    min-height: 1.2cm;
}

.legend-side {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    //padding: 0 0.2cm !important;
    width: 2cm !important;
}

.legend-left {
    border-right: 0.3pt solid #eee !important;
}

.legend-right {
    border-left: 0.3pt solid #eee !important;
}

.legend-center {
    flex: 1 1 auto !important;
    padding: 0 0.2cm !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.legend-title {
    text-align: center !important;
    font-size: 8pt !important;
    font-weight: bold !important;
    margin-bottom: 0.15cm !important;
    border-bottom: 0.3pt solid #eee;
    padding-bottom: 0.1cm;
}

.legend-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.1cm !important;
}

.legend-row {
    display: flex !important;
    justify-content: space-around !important;
    gap: 0.2cm !important;
}

.legend-item {
    display: flex !important;
    align-items: center !important;
    flex: 1 !important;
}

.legend-item.full-width {
    flex: none !important;
    justify-content: center !important;
    width: 100% !important;
}

.legend-color {
    width: 0.4cm !important;
    height: 0.4cm !important;
    margin-right: 0.1cm !important;
    border: 0.3pt solid #999 !important;
    flex-shrink: 0 !important;
}

.legend-text {
    font-size: 6.5pt !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

.legend-version {
    font-size: 6.5pt !important;
    color: #666 !important;
    font-style: italic !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

/* Логотип и QR-код */
.legend-logo {
    max-height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
}

.legend-logo {
    max-height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
}

.legend-qr {
    width: 1.3cm !important;
    height: 1.3cm !important;
    margin-bottom: 0.1cm !important;
}

.qr-label {
    font-size: 7pt !important;
    color: #666 !important;
    text-align: center !important;
    line-height: 1 !important;
    font-weight: bold !important;
}

.qr-label1 {
    font-size: 7pt !important;
    color: #666 !important;
    text-align: center !important;
    line-height: 1 !important;
    font-weight: bold !important;
}

/* Цвета для легенды */
.legend-color.workday {
    background-color: #fff !important;
}

.legend-color.holiday {
    background-color: #f0f0f0 !important;
}

.legend-color.special-workday {
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 1px,
        #e0e0e0 1px,
        #e0e0e0 2px
    ) !important;
}

.legend-color.special-holiday {
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 1px,
        #d0d0d0 1px,
        #d0d0d0 2px
    ) !important;
}

/* Адаптация для плотного макета */
.print-layout-dense .print-legend {
    min-height: 1.3cm;
    padding: 0.15cm;
}

.print-layout-dense .legend-side {
    width: 1.5cm !important;
    padding: 0 0.15cm !important;
}

.print-layout-dense .legend-title {
    font-size: 7pt !important;
    margin-bottom: 0.1cm !important;
}

.print-layout-dense .legend-text {
    font-size: 6pt !important;
}

.print-layout-dense .legend-color {
    width: 0.35cm !important;
    height: 0.35cm !important;
}

.print-layout-dense .legend-qr {
    width: 0.8cm !important;
    height: 0.8cm !important;
}

.print-layout-dense .qr-label {
    font-size: 5.5pt !important;
}

/* Для альбомной ориентации */
@media print and (orientation: landscape) {
    .print-legend {
        min-height: 1.3cm;
    }
    
    .legend-side {
        width: 2cm !important;
    }
    
    .legend-qr {
        width: 1cm !important;
        height: 1cm !important;
    }
    
    .legend-text {
        font-size: 7pt !important;
    }
}

/* Компактный вариант для очень плотной печати */
.print-legend.compact {
    min-height: 1cm;
    padding: 0.1cm;
}

.print-legend.compact .legend-side {
    width: 1.2cm !important;
    padding: 0 0.1cm !important;
}

.print-legend.compact .legend-title {
    font-size: 6.5pt !important;
    margin-bottom: 0.05cm !important;
}

.print-legend.compact .legend-text {
    font-size: 5.5pt !important;
}

.print-legend.compact .legend-color {
    width: 0.3cm !important;
    height: 0.3cm !important;
    margin-right: 0.05cm !important;
}

.print-legend.compact .legend-qr {
    width: 0.7cm !important;
    height: 0.7cm !important;
}

.print-legend.compact .qr-label {
    font-size: 5pt !important;
}

/* Вертикальное расположение обозначений */
.print-legend.vertical .legend-items-vertical {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.1cm !important;
}

.print-legend.vertical .legend-item {
    margin-bottom: 0.05cm !important;
}