
* {
    box-sizing: border-box;
}
body {
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    background-color: #f2f5f9;
    margin: 0;
    padding: 24px 20px;
    color: #1a2c3e;
}
/* 主标题样式：居中，清晰美观 */
.course-main-title {
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.3px;
    color: #1e466e;
    margin: 0 0 1.2rem 0;
    padding-bottom: 0.25rem;
    border-bottom: 3px solid #cbdde9;
    display: inline-block;
    width: 100%;
}
.schedule-container {
    max-width: 1400px;
    margin: 0 auto;
    background: white;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    overflow-x: auto;
    padding: 4px 0;
}
table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    min-width: 880px;
    background-color: #fff;
    font-family: 'Arial', 'Helvetica', sans-serif;   /* 更改字体 */
    font-size: 14px;                                 /* 字体大小 */
    color: #1e2f3e;                                  /* 字体颜色 */
}
th {
    background-color: #1e466e;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 14px 10px;
    border: 1px solid #2c5985;
    text-align: center;
    letter-spacing: 0.3px;
}
td {
    border: 1px solid #dce5ec;
    padding: 12px 10px;
    vertical-align: top;
    background-color: #ffffff;
    transition: background 0.1s ease;
}
tr:hover td {
    background-color: #f8fbfe;
}
.week-col {
    background-color: #f0f4f9;
    font-weight: 600;
    text-align: center;
    width: 70px;
}
.date-col {
    white-space: nowrap;
    width: 110px;
    font-weight: 500;
    color: #0a4b6e;
}
.topic-col {
    font-weight: 500;
}
.textbook-col {
    color: inherit;      /* 继承普通文字颜色 #1a2c3e */
/*    color: #2c5a2e;*/
/*    font-size: 0.85rem;*/
}
.deadline-col {
    color: #b13e3e;
    font-weight: 500;
    background-color: #fff7f0;
}
.info-note {
    background-color: #eef2fa;
    font-style: italic;
    color: #2c3e4e;
}
.merge-text {
    font-size: 0.85rem;
    line-height: 1.4;
}
.subnote {
    background-color: #f9fafc;
    color: #4a627a;
}
.textbook-row td, .ref-row td {
    background-color: #fefcf5;
}
.footer-note {
    background-color: #f8f3e0;
    font-weight: normal;
    text-align: center;
}
.small-meta {
    font-size: 0.75rem;
    color: #5e7a93;
}
.task-highlight {
    font-weight: 600;
    color: #c44536;
}
@media (max-width: 760px) {
    body {
        padding: 12px;
    }
    .course-main-title {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }
    td, th {
        padding: 8px 6px;
    }
    .date-col {
        white-space: normal;
        min-width: 85px;
    }
}
