/* 日历样式 */
.calendar-day {
    min-height: auto;
    height: auto;
    padding: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.calendar-day:hover {
    background-color: #f3f4f6;
}

.calendar-day-header {
    font-weight: bold;
    margin-bottom: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.calendar-day-today {
    background-color: #dbeafe;
    border-color: #3b82f6;
}

.calendar-day-today .calendar-day-header {
    color: #1e40af;
}

.calendar-day-content {
    font-size: 0.875rem;
    max-height: none;
    overflow-y: visible;
    height: auto;
    flex: 1;
}

.calendar-day-count {
    font-size: 0.75rem;
    font-weight: bold;
    color: #4b5563;
    margin-top: 4px;
}

/* 自定义滚动条 */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1;
}

/* 搜索建议样式 */
.suggestion-item {
    padding: 8px 12px;
    cursor: pointer;
    transition: background-color 0.1s;
}

.suggestion-item:hover {
    background-color: #f3f4f6;
}

.suggestion-item.active {
    background-color: #e5e7eb;
}

/* 记录表格样式 */
.record-checkbox:checked {
    background-color: #3b82f6;
    border-color: #3b82f6;
}

/* 按钮样式增强 */
button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* 悬浮模块样式 */
@media (min-width: 1024px) {
    #attendance-section {
        position: sticky;
        top: 2rem;
        align-self: flex-start;
    }
}

/* 响应式调整 */
@media (max-width: 640px) {
    .calendar-day {
        min-height: auto;
    }
}

/* 自定义最大宽度类 */
.max-w-8xl {
    max-width: 90rem;
}

.max-w-9xl {
    max-width: 100rem;
}

/* 备案号样式 */
footer a {
    color: #4b5563; /* gray-600 */
    text-decoration: underline;
}

footer a:hover {
    color: #1f2937; /* gray-800 */
}