/* Only the schedule navigation panel uses this layout. No fixed text heights,
   no clipped labels, no disabling pinch zoom or forcing smaller fonts. */
.sapub .sapub-board{background:#202020;color:#fff;padding:16px;border-radius:18px;margin:0 0 20px;min-width:0;max-width:100%;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.sapub .sapub-board a,.sapub .sapub-board summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.sapub .sapub-board a:focus-visible,.sapub .sapub-board summary:focus-visible{outline:3px solid #e072b0;outline-offset:4px}
.sapub .sapub-board-topbar{position:relative;z-index:32;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 16px;min-width:0}
.sapub .sapub-board-topbar>.sapub-site-menu{position:relative;inset:auto;margin-left:auto;max-width:100%}
.sapub .sapub-board-topbar>.sapub-site-menu>summary{max-width:100%;background:linear-gradient(100deg,#f0b7df,#de57a5);border:0;border-radius:999px;color:#33162b;min-height:48px;padding:10px 24px;font-size:18px}
.sapub .sapub-board-topbar>.sapub-site-menu>summary>span:last-child{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.sapub .sapub-board-body{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}
.sapub .sapub-board-with-side{grid-template-columns:minmax(0,1fr) minmax(88px,20%)}
.sapub .sapub-region-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.sapub .sapub-region-card{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:72px;height:auto;padding:16px 18px;border:2px solid transparent;border-radius:16px;background:linear-gradient(105deg,#deecff,#efc2e7);color:#222;text-decoration:none;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.sapub .sapub-region-card:nth-child(even){background:linear-gradient(105deg,#f7ffd8,#faf599)}
.sapub .sapub-region-card[aria-current=page]{border-color:#a63375;box-shadow:inset 0 0 0 2px #fff}
.sapub .sapub-region-card-title{display:block;font-size:clamp(17px,2.5vw,24px);font-weight:750;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.sapub .sapub-region-card-date{font-weight:700}
.sapub .sapub-region-card-note{display:block;margin-top:5px;font-size:14px;font-weight:500;color:#4d414a;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.sapub .sapub-region-card-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-width:100%}
.sapub .sapub-region-person-name{display:block;max-width:100%;padding:3px 9px;border:1px solid rgb(89 49 66 / 16%);border-radius:8px;background:rgb(255 255 255 / 60%);color:#40343b;font-size:15px;line-height:1.6;font-weight:600;white-space:normal;overflow-wrap:anywhere}
.sapub .sapub-board-action{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;max-width:100%;padding:12px 16px;border:0;border-radius:16px;text-decoration:none;color:#302039;font-size:17px;font-weight:700;line-height:1.5;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.sapub .sapub-board-action>span:first-child{min-width:0;overflow-wrap:anywhere}
.sapub .sapub-board-action>span:last-child{flex:0 0 auto}
.sapub .sapub-board-action-top{background:linear-gradient(110deg,#d9eaff,#b9c9fa)}
.sapub .sapub-board-action-side{background:linear-gradient(160deg,#f0b9e2,#becfff);flex-direction:column;text-align:center}
.sapub .sapub-board-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;align-items:stretch;margin-top:14px}
.sapub .sapub-board-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.sapub .sapub-board-dates>a{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;min-height:48px;max-width:100%;padding:10px 8px;border:2px solid transparent;border-radius:12px;background:linear-gradient(105deg,#f0b9df,#fae55f);color:#432031;text-decoration:none;white-space:normal;overflow-wrap:anywhere;font-size:17px;font-weight:700;line-height:1.5}
.sapub .sapub-board-dates>a:nth-child(2){background:linear-gradient(105deg,#b0efad,#f5df5b)}
.sapub .sapub-board-dates>a[aria-current=page]{border-color:#a63375;box-shadow:inset 0 0 0 2px #fff}
.sapub .sapub-board-dates time{max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.sapub .sapub-board-picker{position:relative;inset:auto;z-index:31;max-width:100%;min-width:0;display:block}
.sapub .sapub-board-picker>summary{box-sizing:border-box;width:100%;max-width:100%;height:100%;min-height:48px;padding:10px 8px;border:2px solid transparent;border-radius:12px;background:#f8e4f2;color:#713453;font-size:16px;line-height:1.5;gap:6px;white-space:normal;overflow-wrap:anywhere}
.sapub .sapub-board-picker>summary>span:first-child{min-width:0;white-space:normal;overflow-wrap:anywhere}
.sapub .sapub-board-picker>.sapub-site-menu-panel{max-width:min(300px,calc(100vw - 72px))}
.sapub .sapub-board .sapub-site-menu[open]>summary{background:#85435f;color:#fff}
.sapub .sapub-board-empty{margin:0;padding:18px;background:#f8edf5;border-radius:16px;color:#5c3a4f;overflow-wrap:anywhere}
@media(max-width:639px){
 .sapub .sapub-board{padding:12px;border-radius:14px}
 .sapub .sapub-region-card{padding:12px;border-radius:12px}
 .sapub .sapub-region-card-title{font-size:18px}
 .sapub .sapub-region-card-date{display:block;max-width:100%;margin-top:4px;font-size:16px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
 .sapub .sapub-region-card-note{font-size:13px}
 .sapub .sapub-board-filters,.sapub .sapub-board-dates{gap:8px}
 .sapub .sapub-board-filters{grid-template-columns:minmax(0,1fr)}
 .sapub .sapub-board-dates>a{flex-direction:column;flex-wrap:nowrap;gap:2px;font-size:15px}
 .sapub .sapub-board-picker>summary{font-size:14px}
}
@media(max-width:479px){
 .sapub .sapub-board-with-side{grid-template-columns:minmax(0,1fr)}
 .sapub .sapub-board-action-side{flex-direction:row;min-height:48px}
}
@media(max-width:359px){
 .sapub .sapub-board-filters{grid-template-columns:minmax(0,1fr)}
 .sapub .sapub-board-picker>.sapub-site-menu-panel{width:100%;max-width:100%}
}
