#frontend-calendar {
    width: 100%;             /* 展開至最大寬度 */
    max-width: 100%;         /* 移除原本的 900px 限制 */
    margin: 20px auto;
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    box-sizing: border-box;  /* 確保 padding 不會撐破外層容器 */
}
.fc-event { cursor: pointer; }

/* 針對 FullCalendar 內部表格的自適應優化 */
.fc .fc-view-harness {
    min-height: 500px;
}

/* Modal Styling */
.fc-modal {
    display: none; position: fixed; z-index: 9999;
    left: 0; top: 0; width: 100%; height: 100%;
    overflow: auto; background-color: rgba(0,0,0,0.5);
}
.fc-modal-content {
    background-color: #fefefe;
    margin: 10% auto; padding: 25px;
    border-radius: 10px; width: 90%; max-width: 400px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.2);
}
.fc-close {
    color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer;
}
.fc-close:hover { color: #333; }
.fc-modal-content h3 { margin-top: 0; color: #3c4043; font-size: 20px; }
.fc-modal-content input[type="text"], .fc-modal-content textarea {
    width: 100%; padding: 10px; margin: 10px 0 20px;
    border: 1px solid #dadce0; border-radius: 4px; box-sizing: border-box;
    font-family: inherit;
}
.fc-modal-content textarea { height: 100px; resize: vertical; }

.fc-button-group {
    display: flex; gap: 10px; margin-top: 15px;
}
.fc-btn-primary {
    background-color: #1a73e8; color: white; padding: 10px 20px;
    border: none; border-radius: 4px; cursor: pointer; flex: 1; font-size: 16px;
}
.fc-btn-primary:hover { background-color: #1557b0; }
.fc-btn-danger {
    background-color: #d93025; color: white; padding: 10px 20px;
    border: none; border-radius: 4px; cursor: pointer; flex: 1; font-size: 16px;
}
.fc-btn-danger:hover { background-color: #a50e0e; }
