.mini-calendar-container{
font-family: 'Open Sans', "Segoe UI" sans-serif;
}

.calendar-title{
text-align: center;
font-size: 22px;
font-weight: bold;
margin: 30px auto 18px auto;
box-sizing: border-box;
}

.legend-container{
display:flex;
justify-content:center;
gap:20px;
margin: 20px auto 36px auto;
}

.legend-item{
display:flex;
align-items:center;
gap:8px;
}

.legend-color{
width:20px;
height:20px;
border:1px solid #333;
}

div.mini-day.empty{
background-color: #fff;
}

.mini-calendar-container{
width: 100%;
margin: 0 auto;
overflow-x: hidden;
}

.mini-paydays{
background-color:#d3f3d3;
}

.mini-holidays{
background-color:#ffd9df;
}

.mini-special{
background-color:#ffe5bc;
}

.mini-events{
background-color:#d8eeff;
}

@media print{

*{
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
color-adjust: exact;
}

.mini-months-grid *{
font-size: 15px;
}

.holiday, .payday, .mini-day.has-holiday, .mini-day.has-payday, .mini-day.has-events{
print-color-adjust: exact;
-webkit-print-color-adjust: exact;
color-adjust: exact;
}

.calendar-controls, .navigation, .print-controls{
display:none;
}

.mini-calendar-container.print-portrait .mini-months-grid{
grid-template-columns:repeat(2,1fr);
grid-template-rows:repeat(6,1fr);
gap:15px;
}

.mini-calendar-container.print-landscape .mini-months-grid{
grid-template-columns:repeat(4,1fr);
grid-template-rows:repeat(3,1fr);
gap:15px;
}

.mini-month{
page-break-inside:avoid;
}

.month-name{
background-color:#333;
color:#fff;
}

.holiday{
background-color:#ffd9df;
}

.payday{
background-color:#e8f5e9;
}

.mini-day.has-holiday{
background-color:#ffd9df;
}

.mini-day.has-payday{
background-color:#e8f5e9;
}

.mini-day.has-events{
background-color:#e3f2fd;
}

.print-portrait .mini-months-grid{
display: grid;
gap: 12px;
height: 0 important;
padding: 0;
margin: 0 auto;
width: 88%;
}

.calendar-title{
margin: 44px auto 14px auto;
box-sizing: border-box;
padding: 0;
max-width: 100%;
width: 88%;
}

.legend-container{
display:flex;
justify-content:center;
gap: 20px;
margin-top: 10px;
}

.mini-calendar-container{
width: 100%;
max-width: 100%;
margin: 0 auto;
}

.mini-day, .mini-day-header{
height: 22px;
border-right: 1px solid #333;
border-bottom: 1px solid #333;
padding: 0;
margin: 0;
}

.mini-days-grid{
border-top: 1px solid #333;
border-left: 1px solid #333;
}

.mini-day-header{
background-color: #ddd;
font-weight: 600;
}

.mini-day.has-payday{
background-color: #d3f3d3;
}

.mini-day.has-special-holiday{
background-color: #ffe5bc;
}

.mini-day.has-events{
background-color: #d8eeff;
}

.mini-month{
margin: 0;
padding: 0;
}

.mini-month-name{
margin-bottom: 2px;
font-weight: 500;
color: #000;
}

.today{
z-index: 0;
outline: none;
border-radius: 0;
}

}
