/* Events use buttons to page; touch gestures always scroll the document. */
/* Compact app cards share their content and palette with the website. */
.app-board .board-body{padding:10px;background:#fbfdff}
.app-board-tabs{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:3px;padding:3px;margin-bottom:10px;border:1px solid #e0e9fa;border-radius:12px;background:#edf3ff}
.app-board-tabs button{min-width:0;min-height:44px;padding:8px 5px;border:0;border-radius:9px;background:transparent;color:#234368;font:700 .875rem/1.3 var(--sans);overflow-wrap:anywhere}
.app-board-tabs button[aria-selected="true"]{background:#1159e7;color:white;box-shadow:0 2px 5px #1159e725}
.app-board.is-tabbed .app-board-panels{display:grid;grid-template-columns:minmax(0,1fr)}
.app-board.is-tabbed .app-board-panel{grid-area:1/1;min-width:0;align-self:start}
.app-board.is-tabbed .app-board-panel[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.app-board.is-tabbed .app-board-fallback-title{display:none}
.app-board-fallback-title{font-size:1rem;margin:10px 0 6px}
.app-board .app-board-list{display:grid;gap:8px}
.app-board .noticeboard-section[data-event]{border-left:4px solid var(--event-colour);border-radius:10px;margin:0;padding:0;min-width:0}
.app-board .notice-event{display:block;padding:10px 11px}
.app-board .notice-event-date{display:none}
.app-board .notice-event-body{padding:0;min-width:0}
.app-board .notice-event-title{font-size:1rem;line-height:1.35;letter-spacing:-.02em;gap:8px;overflow-wrap:normal}
.app-board .notice-event-title .icon{width:21px;height:21px;flex-basis:21px;margin-top:0}
.app-board .notice-class-heading{gap:5px 8px;align-items:center}
.app-board .notice-class-heading .notice-event-title{flex:1 1 150px}
.app-board .notice-class-status{font-size:.875rem;line-height:1.25;padding:4px 8px}
.app-board .notice-schedule-description{margin:5px 0 0 29px;font-size:.875rem;line-height:1.4}
.app-board .notice-schedule-times{margin:4px 0 0 29px;gap:4px 9px}
.app-board .notice-time-badge{padding:0;border:0;background:none;border-radius:0;gap:6px;font-size:.875rem;line-height:1.45;font-weight:650;justify-content:flex-start}
.app-board .notice-schedule-times .notice-time-badge+.notice-time-badge::before{content:"·";margin-right:2px}
.app-board .notice-schedule-times .notice-time-badge+.notice-time-badge>.icon{display:none}
.app-board .notice-schedule-rows{margin:6px 0 0 29px;gap:5px}
.app-board .notice-schedule-row{font-size:.875rem;line-height:1.4;gap:4px 8px}
.app-board .notice-schedule-row+.notice-schedule-row{padding-top:5px}
.app-board .notice-schedule-row .notice-time-badge>.icon{display:none}
.app-board .notice-event-meta{margin:5px 0 0 29px;font-size:.875rem;line-height:1.4;gap:3px 10px;font-weight:600}
.app-board .notice-event-description{margin:4px 0 0 29px;font-size:.875rem;line-height:1.4}
.app-board .app-board-list.is-paged{grid-auto-rows:var(--app-board-row-height,102px);height:var(--app-board-list-height,322px);align-content:start;overflow:visible}
.app-board .app-board-list.is-paged>.noticeboard-section{min-height:0}
.app-board .app-board-list.is-paged .notice-event{height:100%;display:flex;align-items:center}
.app-board .app-board-list.is-measuring{grid-auto-rows:max-content;height:auto}
.app-board .app-board-list.is-measuring .notice-event{height:auto}
.app-board-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.app-board-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:4px;padding:5px 10px;border:1px solid #dfe7f5;border-radius:8px;background:#edf3ff;color:#174fae;font:700 .875rem/1.4 var(--sans)}
.app-board-controls button:disabled{opacity:.4}
.app-board-controls .icon{width:16px;height:16px}
.app-board-controls [data-board-up] .icon{transform:rotate(-90deg)}
.app-board-controls [data-board-down] .icon{transform:rotate(90deg)}
.app-board-controls [data-board-range]{font-size:.8125rem;color:#52617a;font-variant-numeric:tabular-nums}
.app-board .app-board-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;border-top:1px solid #e0e9f5;margin-top:10px;padding-top:8px}
.app-board-footer .board-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:.875rem;line-height:1.35;font-weight:650;color:#174fae;text-decoration:underline;text-underline-offset:3px}
.app-board-footer .board-whatsapp{gap:6px;padding:9px 12px;border-radius:24px;background:#158c48;color:#fff;text-decoration:none}
.app-board-footer .board-whatsapp .icon{width:21px;height:21px}
.app-board-tabs button:focus-visible,.app-board-panel:focus-visible,.app-board-list:focus-visible,.app-board-controls button:focus-visible{outline:2px solid #1159e7;outline-offset:2px}
@media(max-width:380px){.app-board .board-body{padding:8px}.app-board .notice-event{padding:9px}.app-board .notice-class-heading .notice-event-title{flex-basis:135px}.app-board .notice-class-status{margin-left:29px}.app-board .app-board-footer{gap:4px 8px}.app-board-footer .board-whatsapp{padding-inline:10px}}
