.page-title{display:flex;justify-content:space-between;align-items:flex-start;margin:.4rem 0 1.2rem}.page-title>div{width:100%;text-align:center}.page-title h1{font-size:1.45rem;margin:0}.page-title p{margin:.25rem 0 0;color:#777}.status-card{margin-bottom:1rem}.status-card.current{background:#6c8d77;color:#fff;border:0}.status-label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;opacity:.8}.course-name{font-size:1.55rem;font-weight:700;margin:.25rem 0}.course-meta{display:flex;gap:.6rem;flex-wrap:wrap}.section-title{font-size:1.05rem;margin:1.35rem 0 .65rem}.timeline{display:grid;gap:.6rem}.timeline-item{display:grid;grid-template-columns:3rem 1fr auto;gap:.7rem;align-items:center;padding:.75rem;border-radius:14px;background:#fff;border:1px solid #e8e2d9}.timeline-item.done{opacity:.5}.timeline-item.current{border-color:#6c8d77;background:#edf5ef}.period{font-weight:700;color:#8b7460}.week-wrap{overflow-x:auto;margin-inline:-1rem;padding-inline:1rem}.week-table{border-collapse:separate;border-spacing:4px;min-width:760px}.week-table th,.week-table td{background:#fff;border:1px solid #e8e2d9;border-radius:10px;padding:.55rem;vertical-align:top;min-width:115px}.week-table th:first-child,.week-table td:first-child{min-width:120px;position:sticky;left:0;z-index:1}.week-table th.today{background:#eadfce}.week-table td.today{outline:2px solid #b89268}.cell-course{font-weight:650}.cell-teacher{color:#777;font-size:.8rem;margin-top:.2rem}.notice-list{display:grid;gap:.8rem}.notice h3{margin:.1rem 0 .35rem}.notice p{white-space:pre-wrap;margin:.4rem 0}.notice time{color:#888;font-size:.8rem}
.page-title{position:relative}.admin-entry{position:absolute;top:.25rem;right:0}.week-wrap{overflow-x:auto;margin:0;padding:0}.week-table{width:100%;min-width:0;table-layout:fixed}.week-table th,.week-table td{min-width:0;overflow-wrap:anywhere;word-break:break-all}.week-table th:first-child,.week-table td:first-child{width:16%;min-width:0}.week-table .cell-course{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.week-table td .cell-course,.week-table td .cell-teacher{text-align:center}@media(max-width:480px){.week-table{border-spacing:2px}.week-table th,.week-table td{padding:.35rem .25rem;font-size:.82rem}.week-table th:first-child,.week-table td:first-child{width:16%}.week-table .muted,.week-table .cell-teacher{font-size:.7rem}.week-table .cell-course{line-height:1.25}}
