/* 排程管理系統樣式 */

/* 響應式設計 - 行動裝置優先 */
body {
    font-size: 14px;
}

.main-content {
    min-height: calc(100vh - 200px);
}

/* FullCalendar 響應式調整 */
#calendar {
    max-width: 100%;
    margin: 0 auto;
}

/* 在小螢幕上調整 FullCalendar */
@media (max-width: 768px) {
    .fc-toolbar {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .fc-toolbar-title {
        font-size: 1.2rem !important;
    }

    .fc-button {
        font-size: 0.85rem !important;
        padding: 0.25rem 0.5rem !important;
    }

    .fc-daygrid-event {
        font-size: 0.75rem;
    }

    /* 調整事件顯示 */
    .fc-event-title {
        font-size: 0.75rem;
    }
}

/* 平板尺寸 */
@media (min-width: 769px) and (max-width: 1024px) {
    .fc-toolbar-title {
        font-size: 1.5rem !important;
    }

    .fc-button {
        font-size: 0.9rem !important;
    }
}

/* 桌面尺寸 */
@media (min-width: 1025px) {
    body {
        font-size: 16px;
    }

    .fc-toolbar-title {
        font-size: 2rem !important;
    }
}

/* 模態框響應式 */
@media (max-width: 576px) {
    .modal-dialog {
        margin: 0.5rem;
    }
}

/* 卡片樣式 */
.card {
    border-radius: 0.5rem;
    border: none;
}

.card-body {
    padding: 1rem;
}

@media (min-width: 768px) {
    .card-body {
        padding: 1.5rem;
    }
}

/* 按鈕工具列響應式 */
.btn-toolbar {
    gap: 0.5rem;
}

@media (max-width: 576px) {
    .btn-toolbar {
        width: 100%;
    }

    .btn-group {
        width: 100%;
    }

    .btn-group .btn {
        flex: 1;
    }
}

/* 導航列樣式 */
.navbar-brand {
    font-size: 1.1rem;
}

@media (min-width: 768px) {
    .navbar-brand {
        font-size: 1.3rem;
    }
}

/* Footer 樣式 */
.footer {
    padding: 1rem 0;
    text-align: center;
}

/* 分類列表樣式 */
.category-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem;
    border-bottom: 1px solid #dee2e6;
}

.category-item:last-child {
    border-bottom: none;
}

.category-color-box {
    width: 30px;
    height: 30px;
    border-radius: 0.25rem;
    display: inline-block;
    margin-right: 0.5rem;
}

/* 事件詳情樣式 */
.event-detail-popup {
    max-width: 300px;
}

/* 載入動畫 */
.spinner-border-sm {
    width: 1rem;
    height: 1rem;
    border-width: 0.15em;
}

/* FullCalendar 客製化 */
.fc-event {
    cursor: pointer;
    border: none;
    border-radius: 0.25rem;
    padding: 2px 4px;
}

.fc-event:hover {
    opacity: 0.85;
}

/* 今天的背景色 */
.fc-day-today {
    background-color: rgba(255, 220, 40, 0.15) !important;
}

/* 表單樣式改進 */
.form-label {
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.form-control:focus,
.form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* 響應式容器 */
@media (max-width: 576px) {
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}
