:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#222;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button,form{margin:0}a:focus-visible,button:focus-visible{outline:2px solid #496a55;outline-offset:3px}.skip-link{position:absolute;top:-80px;left:10px;background:white;padding:10px}.skip-link:focus{top:8px;z-index:5}.calendar-app{max-width:1500px;padding:24px;margin:0 auto}.toolbar{display:flex;align-items:center;gap:20px;margin-bottom:24px}h1{font-size:22px;letter-spacing:-.4px;margin:0 0 5px;font-weight:650}.test-mode{font-size:11px;color:#777}.toolbar nav{display:flex;gap:5px;margin-left:auto}.toolbar nav a,.refresh{border:1px solid #ddd;background:white;border-radius:5px;font-size:12px;padding:7px 10px;line-height:1.3}.refresh{color:#666}.toolbar nav a:hover,.refresh:hover{background:#f5f5f5}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:start}.day-column h2{font-size:13px;margin:0 0 10px;padding:10px 0;border-bottom:2px solid #e7e7e7;font-weight:600}.is-today h2{border-color:#729680}.day-courses{display:flex;flex-direction:column;gap:10px}.course-card{border:1px solid #ddd;border-radius:6px;padding:12px 10px;background:white;overflow:hidden}.course-card h3{font-size:13px;line-height:1.35;font-weight:650;margin:0 0 5px;overflow-wrap:anywhere}.course-time{font-size:13px;font-variant-numeric:tabular-nums}.course-status{font-size:10px;color:#777;margin:8px 0 12px;line-height:1.5}.account-actions{display:flex;flex-direction:column;gap:5px}.account-button,.account-result{display:flex;flex-direction:column;gap:3px;width:100%;border:1px solid #ddd;border-radius:4px;padding:7px 8px;background:#fafafa;text-align:left;line-height:1.35}.account-button strong,.account-result strong{font-size:11px;font-weight:600}.account-button span,.account-result span{font-size:10px;color:#6a6a6a}.account-button:hover:not(:disabled){border-color:#8eaa98;background:#f1f5f2}.account-button.selected,.account-result{background:#edf3ef;border-color:#bdd0c3}.account-result span,.selected span{color:#466650}.account-result.uncertain{background:#fafafa;border-color:#ddd}.uncertain span{color:#777}.account-button:disabled{color:#999;background:#fff}.account-button:disabled span{color:#aaa}.unavailable{background:#fafafa;color:#888}.empty-day{font-size:11px;color:#aaa;margin:12px 0}.notice{font-size:12px;padding:10px 12px;background:#f4f5f3;border:1px solid #e4e5e2;border-radius:4px}.error{color:#914534}.request-note{font-size:10px;line-height:1.5;margin:0;overflow-wrap:anywhere}@media(max-width:1000px){.calendar-app{padding:18px}.week-grid{gap:8px}.course-card{padding:10px 8px}.account-button,.account-result{padding:6px}.course-card h3{font-size:12px}.course-time{font-size:12px}}@media(max-width:760px){.week-grid{grid-template-columns:1fr;gap:18px}.day-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.day-column h2{font-size:14px;position:sticky;top:0;background:white;padding:11px 0;z-index:1}.course-card{padding:12px}.course-card h3,.course-time{font-size:14px}.account-button,.account-result{padding:8px}.account-button strong,.account-result strong{font-size:12px}.account-button span,.account-result span{font-size:11px}.empty-day{margin:0}.toolbar{gap:8px;flex-wrap:wrap;margin-bottom:15px}.toolbar>div{flex:1 1 100%;display:flex;align-items:baseline;gap:12px}.toolbar h1{font-size:21px;white-space:nowrap}.toolbar nav{margin-left:0}.toolbar>form{margin-left:auto}.test-mode{font-size:10px}.course-status{font-size:11px}.calendar-app{padding:16px}}@media(max-width:360px){.calendar-app{padding:12px}.course-card{padding:10px}.toolbar>div{display:block}.course-card h3{font-size:13px}}

@media(min-width:1200px){.account-button,.account-result{flex-direction:row;justify-content:space-between;align-items:center;gap:6px;min-height:31px}.account-button span,.account-result span{text-align:right}}

#calendar_feedback{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:30;width:min(360px,calc(100vw - 32px));display:grid;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #c9d4cc;border-radius:6px;background:#fff;color:#304c3b;box-shadow:0 4px 18px #00000012;font-size:13px;line-height:1.45;pointer-events:auto;animation:toast-in .16s ease-out;transition:opacity .16s ease,transform .16s ease}
.toast>span{flex:1;overflow-wrap:anywhere}.toast--error{border-color:#dfc4bb;color:#914534}.toast-close{align-self:flex-start;border:0;background:none;color:inherit;font-size:20px;line-height:1;padding:1px 3px;border-radius:3px}.toast-close:hover{background:#00000008}.toast--leaving{opacity:0;transform:translateY(6px)}
@keyframes toast-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){#calendar_feedback{top:16px}}
@media(prefers-reduced-motion:reduce){.toast{animation:none;transition:none}.toast--leaving{transform:none}}

.toast-message{white-space:pre-line}.toast-message::first-line{font-weight:600}
