/* MedCalendar4 — visualizzazioni settimanale e mensile. */

.calendarViewSelector {
	border: 1px solid #d3d3d3;
	background-color: #FFFFFF;
	border-radius: 3px;
	padding: 1px;
	height: 21px;
	display: inline-flex;
	position: relative;
	top: -7px;
}

.calendarViewButton {
	display: inline-block;
	position: relative;
	margin-right: 0px;
	font-family: 'OpenSans', Verdana, Arial;
    font-size: 10pt;
	border: 0px;
	background: transparent;
	cursor: pointer;
}

.calendarViewButton:hover {
    background: #f0f0f0;
}
.calendarViewButton.is-active {
    background: #e5e5e5;
    color: #ba0000;
}
.calendarViewButton:focus-visible, .calendarPeriodDayLink:focus-visible, .calendarWeekTrack:focus-visible, .calendarWeekEvent:focus-visible, .calendarMonthEvent:focus-visible, .calendarMonthOverflow:focus-visible { outline:3px solid #e09b22; outline-offset:2px; }
.calendarPeriodView { box-sizing:border-box; width:100%; padding:14px 16px 24px; background:#f9fbfb; }
.calendarPeriodView[hidden], #calendarDayView[hidden] { display:none !important; }
.calendarPeriodViewOrizzontal { position:relative; top:205px; min-width:568px; }
.calendarPeriodViewVertical { position:relative; top:54px; width:82%; min-width:568px; }
.calendarPeriodViewSmartphone { position:relative; top:58px; min-width:358px; }
.calendarPeriodView.is-week-view { overflow:hidden; }
.calendarPeriodTitle { margin:0 0 12px; color:#24525a; font-size:17px; font-weight:600; text-align:center; }
.calendarWeekGrid { display:grid; grid-template-columns:48px repeat(5, minmax(132px, 1fr)); min-width:760px; overflow:auto; border:1px solid #b6c9cc; border-radius:6px; background:#fff; }
.calendarWeekTimeAxis { position:relative; min-height:calc(var(--calendar-week-hours, 12) * 120px); border-right:1px solid #cbd9dc; background:#f0f5f5; }
.calendarWeekTimeLabel { position:absolute; top:var(--calendar-hour-offset); right:7px; color:#537177; font-size:11px; line-height:1; transform:translateY(-50%); }
.calendarWeekDay { min-width:0; border-right:1px solid #cbd9dc; }
.calendarWeekDay:last-child { border-right:0; }
.calendarWeekDay.is-holiday .calendarWeekTrack { background-color:#fff6e8; }
.calendarPeriodDayLink { display:block; box-sizing:border-box; width:100%; min-height:34px; padding:7px 5px; border:0; border-bottom:1px solid #cbd9dc; background:#e8f1f2; color:#24525a; cursor:pointer; font-size:12px; font-weight:700; text-align:center; }
.calendarPeriodDayLink:hover { background:#d6e7e9; }
.calendarWeekDay .calendarPeriodDayLink { position:sticky; top:0; z-index:3; }
.calendarWeekTrack { position:relative; height:var(--calendar-track-height); min-height:360px; background-color:#fff; background-image:linear-gradient(to bottom, rgba(111,145,151,.3) 1px, transparent 1px); background-size:100% 120px; cursor:crosshair; }

.calendarWeekInsertionHint {
	position:absolute;
	z-index:0;
	left:0;
	width:calc( 100% - 2px);
	height:8px;
	max-height:10px;
	pointer-events:none;
	background: rgba(236, 236, 236, 0.62);	
	border:1px solid rgba(185, 185, 185, 0.57);
	border-radius: 4px;
	display:none;
}
.calendarWeekInsertionHint.is-visible {
	display:block;
}

.calendarWeekEvent { position:absolute; z-index:1; top:var(--calendar-event-top); left:4px; box-sizing:border-box; width:calc(100% - 8px); height:var(--calendar-event-height); overflow:hidden; padding:3px 5px; border:1px solid var(--calendar-event-border); border-radius:3px; background:var(--calendar-event-background); color:#1d3134; cursor:pointer; font-size:11px; line-height:1.15; text-align:left; white-space:nowrap; text-overflow:ellipsis; }
.calendarWeekEvent:hover { z-index:2; filter:brightness(.96); }
.calendarMonthGrid { display:grid; grid-template-columns:repeat(5, minmax(150px, 1fr)); gap:6px; min-width:760px; }
.calendarMonthDay { display:flex; min-height:148px; flex-direction:column; overflow:hidden; border:1px solid #b6c9cc; border-radius:5px; background:#fff; }
.calendarMonthDay.is-outside-month { opacity:.6; }
.calendarMonthDay.is-holiday { border-color:#e0bc7a; background:#fff9ed; }
.calendarMonthDay.is-overflow { border-color:#cf4e4e; background:#fff0f0; }
.calendarMonthDay.is-empty { cursor:pointer; }
.calendarMonthDay.is-empty:hover { border-color:#2f6470; background:#f2f8f8; }
.calendarMonthEvents { display:flex; min-height:0; flex:1; flex-direction:column; gap:3px; padding:5px; }
.calendarMonthEvent { width:100%; overflow:hidden; padding:3px 5px; border:1px solid var(--calendar-event-border); border-radius:3px; background:var(--calendar-event-background); color:#1d3134; cursor:pointer; font-size:11px; line-height:1.15; text-align:left; white-space:nowrap; text-overflow:ellipsis; }
.calendarMonthEvent:hover { filter:brightness(.96); }
.calendarMonthOverflow { margin:0 5px 5px; padding:0; border:0; background:transparent; color:#a12626; cursor:pointer; font-family:inherit; font-size:11px; font-weight:700; text-align:right; }
.calendarMonthOverflow:hover { text-decoration:underline; }
@media (max-width:860px) { .calendarPeriodView { overflow-x:auto; } }
@media (max-width:680px) { .calendarViewSelector { display:none; } }
