.timetable-container{width:100%;height:100%;overflow-y:auto;padding:1rem;background-color:var(--bg)}.timetable-container h2{color:var(--primary);margin-bottom:1rem}.timetable-current-time{margin:-.5rem 0 .75rem;color:var(--primary);font-weight:600}.timetable-controls{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.timetable-filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.timetable-location-row{margin-top:.25rem}.timetable-filter-button{border:1px solid var(--surface);background-color:var(--bg);color:var(--primary);border-radius:999px;padding:.35rem .8rem;font-size:.85rem;cursor:pointer}.timetable-filter-button.active{background-color:var(--primary);color:var(--bg);border-color:var(--primary)}.timetable-group-list{display:flex;flex-direction:column;gap:1rem}.timetable-location-group{background-color:var(--surface);border:1px solid var(--surface);border-radius:10px;padding:.75rem}.timetable-location-title{margin:0 0 .75rem;color:var(--primary);font-size:1rem}.timetable-list{display:flex;flex-direction:column;gap:1rem}.timetable-item{background-color:var(--bg);border-radius:8px;padding:1rem;border-left:4px solid transparent;border:1px solid var(--surface)}.timetable-item.now{border-left-color:var(--primary);background-color:var(--primary);border-color:var(--primary)}.timetable-now-line{position:relative;height:10px;margin:.15rem 0 .35rem}.timetable-now-line:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid var(--primary)}.timetable-now-line span{position:absolute;top:-8px;right:0;background:var(--primary);color:var(--bg);font-size:.7rem;line-height:1;padding:.2rem .45rem;border-radius:999px}.timetable-time{font-weight:600;color:var(--primary);margin-bottom:.5rem}.timetable-content h3{margin:0 0 .5rem;color:var(--text)}.now-badge,.timetable-item.now .timetable-content h3,.timetable-item.now .timetable-content p,.timetable-item.now .timetable-time{color:var(--bg)}.now-badge{background-color:var(--primary);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;margin-left:.5rem}.timetable-content p{margin:.25rem 0;color:var(--text-muted);font-size:.9rem}.timetable-empty{color:var(--text-muted);background-color:var(--bg);border-radius:8px;padding:1rem}