.fav-calendar {
max-width: 760px;
font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
color: #333;
}
.fav-loading { padding: 20px; color: #888; }
.fav-head {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
padding: 8px 0 18px;
}
.fav-title {
font-size: 22px;
font-weight: 700;
letter-spacing: 1px;
text-align: center;
min-width: 220px;
}
.fav-nav {
background: #fff;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 18px;
line-height: 1;
padding: 6px 12px;
cursor: pointer;
color: #555;
}
.fav-nav:hover { background: #f5f5f5; }
.fav-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
}
.fav-dow { border-bottom: 1px solid #eee; }
.fav-dowcell {
padding: 12px 10px;
font-weight: 700;
color: #555;
background: #fafafa;
font-size: 14px;
}
.fav-cell {
border: 1px solid #f0f0f0;
min-height: 120px;
padding: 8px;
position: relative;
}
.fav-empty { background: #fff; border-color: #f6f6f6; }
.fav-num {
font-size: 15px;
color: #999;
font-weight: 600;
margin-bottom: 6px;
}
.fav-today {
background: #e8500e;
color: #fff;
display: inline-block;
padding: 1px 7px;
border-radius: 3px;
}
.fav-badge {
border-radius: 3px;
padding: 8px 8px;
display: flex;
flex-direction: column;
gap: 2px;
line-height: 1.25;
}
.fav-time { font-size: 13px; font-weight: 600; }
.fav-label { font-size: 12px; }
.fav-available { background: #4caf27; color: #fff; }
.fav-weekend { background: #e53935; color: #fff; }
.fav-holiday { background: #ffb300; color: #7a5200; }
.fav-unavailable { background: #e53935; color: #fff; } .fav-admin-wrap { margin-top: 12px; background: #fff; padding: 16px; border: 1px solid #e5e5e5; border-radius: 6px; }
.fav-clickable { cursor: pointer; transition: background .12s; }
.fav-clickable:hover { background: #fafafa; }
.fav-saving { opacity: .5; }
.fav-hint { color: #777; font-style: italic; margin-top: 10px; }
@media (max-width: 640px) {
.fav-cell { min-height: 90px; padding: 5px; }
.fav-time, .fav-label { font-size: 11px; }
.fav-title { font-size: 18px; min-width: 140px; }
}