.schedule-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;margin:20px 0 24px;border:1px solid #d5dece;border-radius:26px;background:linear-gradient(120deg,#dae6d5,#f3eddf)}.schedule-hero h1{margin:5px 0;font-size:clamp(36px,4vw,56px)}.schedule-hero h1 span{color:#718762}.schedule-hero p{margin:8px 0}.schedule-primary{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.schedule-primary a:not(.button){padding:4px 0;min-height:36px;font-size:.86rem}.schedule-primary .button{background:#243f35;color:white;border-color:#243f35}.schedule-week{display:flex;gap:14px;align-items:center;margin:22px 0}.schedule-week>div{flex:1}.schedule-week small{display:block;color:var(--muted);font-size:.8rem}.schedule-week>.button{padding:8px 14px}.schedule-notice{border-left:4px solid #9e7134;background:#f5ead6;padding:15px 20px;border-radius:12px}.schedule-board{background:#fffefa;border:1px solid #e2ddd3;border-radius:22px;overflow:hidden;margin-bottom:24px}.schedule-columns{display:flex}.schedule-time-axis{width:52px;flex:0 0 52px;color:#7c827a;font-size:10px}.schedule-day{flex:1;min-width:0}.schedule-day-heading{height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #e8e9e0;gap:4px;font-size:.8rem}.schedule-day-heading span{border-radius:50%;display:grid;place-items:center;width:26px;height:26px;font-weight:600}.schedule-day-heading.is-today span{background:#243f35;color:white}.schedule-day-body,.schedule-time-body{position:relative;min-height:100px}.schedule-day-body{border-left:1px solid #ecece5;background:repeating-linear-gradient(to bottom,transparent 0,transparent 32px,#eff0e9 32px,#eff0e9 33px)}.schedule-time-body>span{position:absolute;right:7px;transform:translateY(-50%)}.schedule-event{display:flex;flex-direction:column;padding:7px 8px;margin-bottom:5px;border:1px solid #b6c9ad;border-radius:10px;text-decoration:none;color:#263c31;font-size:11px;line-height:1.3;overflow:hidden;box-sizing:border-box}.js-timetable .schedule-event{position:absolute;min-height:0}.schedule-event time{font-size:10px;white-space:nowrap}.schedule-event strong{font-size:12px;line-height:1.3;margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schedule-event small{font-size:10px}.schedule-event:hover{filter:brightness(.96);outline:2px solid #53684d;outline-offset:-2px}.schedule-color-0{background:#e1ecd9;border-color:#b7ccab}.schedule-color-1{background:#e9e0f2;border-color:#c9b4dc}.schedule-color-2{background:#f7e5cf;border-color:#dec4a4}.schedule-color-3{background:#dcebf5;border-color:#aacbdf}.schedule-color-4{background:#f2dfe2;border-color:#d9b4bd}.schedule-color-5{background:#e7e9c9;border-color:#c3c79c}.schedule-free{font-size:.7rem;text-align:center;color:#8b9088;padding:16px 8px}.schedule-day-tabs{display:none}.schedule-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px}.schedule-document-link{display:flex;gap:12px;justify-content:space-between;text-decoration:none;border-bottom:1px solid var(--line);padding:16px 0;font-size:.88rem}.schedule-document-link small{flex-shrink:0}.schedule-upload-symbol{font-size:40px;border-radius:22px;background:#e0e8d8;width:76px;height:76px;display:grid;place-items:center;margin-bottom:20px}.schedule-upload input[type=file]{width:100%;padding:14px;border:2px dashed #9bab92;background:#f5f8ef}.schedule-upload button[disabled]{opacity:.7}.schedule-import-status{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border-radius:20px;background:#e2ecd9;margin-bottom:24px}.schedule-import-status h2{margin:0}.schedule-source img{display:block;width:100%;height:auto;border:1px solid #e3e5dd;border-radius:12px;background:white}.schedule-source .section-heading{flex-wrap:wrap;gap:10px}.schedule-source .section-heading a{width:auto}.schedule-extracted-row,.schedule-archived{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem;flex-wrap:wrap}.schedule-extracted-row>div{flex:1;min-width:160px}.schedule-extracted-row p{margin:4px 0}.schedule-archive-form{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.schedule-hero .eyebrow{font-size:.65rem}.app-shortcut{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:36px;min-height:48px;text-decoration:none!important;font:600 9px system-ui;color:inherit}.app-shortcut img{width:26px;height:36px;object-fit:contain}.sidebar-bottom{display:grid;grid-template-columns:28px minmax(0,1fr) 36px 28px;gap:8px}.sidebar-bottom .avatar{width:28px;height:28px}.sidebar-bottom>div{font-size:.68rem}.sidebar-bottom .icon-button{padding:0;min-width:28px}.mobile-header .app-shortcut{color:var(--bg);width:34px}.pwa-state{font-size:.9rem;color:var(--muted)}
@media(max-width:900px){.schedule-hero{align-items:flex-start;padding:24px;flex-direction:column}.schedule-bottom{grid-template-columns:1fr}.schedule-event{padding:5px}.schedule-event strong{font-size:11px}}
@media(max-width:767px){.schedule-hero{border-radius:22px;padding:24px 20px;margin:12px 0 20px}.schedule-hero h1{font-size:42px}.schedule-primary{width:100%}.schedule-primary .button{width:100%;text-align:center}.schedule-week{gap:8px;flex-wrap:wrap}.schedule-week>div{font-size:.82rem}.schedule-week>a:last-child{width:100%;font-size:.8rem}.schedule-day-tabs{display:flex;justify-content:space-around;padding:10px 6px;border-bottom:1px solid #e3e6d9;gap:3px}.schedule-day-tabs button{font-size:.7rem;min-width:0;min-height:48px;background:transparent;border:0;border-radius:13px;padding:5px 6px;flex:1;color:#344438}.schedule-day-tabs button small{display:block;font-size:.8rem}.schedule-day-tabs button[aria-pressed=true]{background:#243f35;color:white}.js-timetable .schedule-day:not(.selected-day){display:none}.schedule-time-axis{width:42px;flex-basis:42px}.schedule-day-heading{height:58px}.schedule-event{padding:8px 12px;font-size:13px}.schedule-event strong{font-size:14px;-webkit-line-clamp:2}.schedule-event time,.schedule-event small{font-size:11px}.schedule-import-status{display:block}.schedule-import-status .button{width:100%;margin-top:16px;text-align:center}.schedule-source{padding:16px}.schedule-bottom{gap:0}.schedule-document-link{flex-direction:column;gap:4px}.schedule-hero p{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.schedule-event{transition:none}}

@media(max-width:767px){.mobile-header{gap:8px}.mobile-header .pill{font-size:.65rem;padding:7px 9px}.mobile-header .app-shortcut{min-width:28px;width:28px}.mobile-header .wordmark{font-size:2rem}}

.sidebar-bottom{grid-template-columns:24px minmax(0,1fr) 26px 20px;gap:6px}.sidebar-bottom .avatar{width:24px;height:24px}.sidebar-bottom .app-shortcut{min-width:26px;width:26px}.sidebar-bottom .icon-button{min-width:20px}.sidebar-bottom>div{font-size:.64rem;line-height:1.5}.schedule-day-tabs button[aria-pressed=true] small{color:inherit}

.schedule-event.compact-event{padding:5px 8px}.schedule-event.compact-event strong{font-size:12px;line-height:1.3;margin:2px 0;-webkit-line-clamp:1}.schedule-event.short-event{padding:3px 6px}.schedule-event.short-event strong{font-size:11px;line-height:1.1;margin:1px 0}.schedule-event.short-event small{display:none}.schedule-event.short-event time{font-size:10px;line-height:1.2}.schedule-event.tiny-event{padding:2px 4px}.schedule-event.tiny-event strong{display:none}.schedule-event.tiny-event time{font-size:9px;line-height:1}
