.dive { background:#007f91; }
.calendar-column > .agenda { margin-bottom:24px; }
.event-mini { cursor:pointer; }
.event-mini:hover { border-color:var(--green); }
.event-mini:focus-within { outline:3px solid var(--green); outline-offset:3px; }
.event-mini .detail-button:focus-visible { outline:none; }
.event-mini .detail-button:hover { filter:none; }
.event-mini .detail-button::after { content:''; position:absolute; inset:0; border-radius:10px; }
.event-total { border-radius:12px; background:var(--theme-warm); color:var(--theme-warm-ink); font-size:10px; padding:2px 7px; margin-left:5px; }
.month-actions { flex-wrap:wrap; justify-content:flex-end; }
.month-jump { font-size:11px; padding:6px 9px; width:112px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.event-mini h3 { min-height:0; }
.event-mini-top .time { font-family:inherit; line-height:1.7; }
.event-mini .mini-location { margin-bottom:8px; }
.mini-count { font-size:11px; color:var(--muted); margin:10px 0 0; line-height:1.8; }
.event-mini-bottom { align-items:flex-start; }
.event-mini-bottom .capacity { line-height:1.7; font-size:10px; }
.event-mini-bottom .detail-button { flex-shrink:0; }
.event-mini.tentative { border-top-color:#deaa42; }
.activity-date-range { display:block; font-size:10px; color:var(--green); margin-top:8px; }
.event-tag { display:inline-block; border-radius:5px; background:var(--theme-demo); padding:3px 6px; font-size:10px; color:#8b5c1f; margin-left:5px; }
.event-details .event-facts { grid-template-columns:1fr; gap:12px; }
.event-facts > div { display:grid; grid-template-columns:74px minmax(0,1fr); gap:8px; }
.event-facts dt { padding-top:3px; }
.event-facts dd { overflow-wrap:anywhere; }
.info-section { border-top:1px solid var(--line); padding-top:15px; margin-top:18px; }
.info-section > h4 { font-size:14px; margin:0 0 11px; }
.info-section ul { padding-left:18px; margin:0; }
.info-section li { font-size:12px; line-height:1.9; margin-bottom:6px; overflow-wrap:anywhere; }
.info-section p { font-size:12px; line-height:1.9; color:var(--muted); }
.roster-group { background:var(--paper); padding:12px; border-radius:8px; margin-top:10px; }
.roster-group h5 { font-size:12px; margin:0 0 8px; }
.roster-group ol { padding-left:20px; margin:0; }
.roster-group li { font-size:12px; line-height:1.9; margin:3px 0; }
.roster-group li small { display:block; color:var(--muted); font-size:11px; }
.roster-group .pending { color:#966113; }
.roster-group .muted { margin:0; font-size:11px; }
.timeline-group h5 { font-size:12px; margin:14px 0 9px; }
.timeline-group dl { margin:0; }
.timeline-group dl > div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:9px; padding:8px 0; border-bottom:1px dashed var(--line); }
.timeline-group dt { font:600 11px/1.8 'Noto Sans TC',sans-serif; color:var(--green); }
.timeline-group dd { font-size:12px; line-height:1.9; margin:0; overflow-wrap:anywhere; }
.import-notes { background:var(--theme-demo); border:1px solid var(--theme-demo-border); padding:12px; border-radius:8px; margin-top:20px; }
.import-notes h4 { font-size:12px; margin:0 0 8px; }
.import-notes ul { padding-left:16px; margin:0; }
.import-notes li { color:var(--muted); font-size:11px; line-height:1.8; margin:4px 0; }
.registration-note { background:var(--theme-soft); padding:14px; border-radius:9px; font-size:12px; line-height:1.9; }
.registration-note strong { display:block; margin-bottom:6px; }
.registration-note p { margin:0; color:var(--muted); font-size:11px; }
.upcoming-meta { flex-wrap:wrap; }
.upcoming-meta > span { line-height:1.7; }
.upcoming-body>p { line-height:1.9; }
.upcoming-foot { gap:8px; }
.upcoming-foot .capacity { line-height:1.8; }
.upcoming-foot>span:last-child { flex-shrink:0; }
.share-feedback { min-height:20px; font-size:11px; color:var(--green); }
/* A flatter daily agenda keeps the calendar close to the activity summary. */
.calendar-column > .agenda { padding:12px 14px; margin-bottom:16px; }
.agenda-head { padding-bottom:8px; margin-bottom:8px; }
.agenda-head > div { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 9px; }
.agenda-head .eyebrow { display:none; }
.agenda-head h2 { font-size:18px; }
.agenda-head p:last-child { margin:0; font-size:10px; }
.agenda-head .count-badge { width:27px; height:27px; font-size:15px; }
#day-events { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:8px; }
.agenda .event-mini { padding:9px 11px; }
.event-mini-top .category-label { font-size:9px; }
.event-mini-top .time { font-size:10px; line-height:1.4; }
.event-mini h3 { font-size:13px; margin:5px 0 3px; line-height:1.5; }
.event-mini .mini-location { margin:2px 0; font-size:10px; line-height:1.6; }
.event-mini .activity-date-range { margin-top:2px; font-size:9px; line-height:1.5; }
.event-mini-bottom { margin-top:6px; padding-top:6px; gap:6px; }
.card-status { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px; flex:1; min-width:0; }
.card-status .mini-count { margin:0; font-size:10px; line-height:1.5; }
.card-status .capacity { font-size:10px; line-height:1.5; }
.event-mini .capacity-line { margin-top:6px; height:2px; }
@media(max-width:560px) {
  .section-toolbar { align-items:flex-start; }
  .month-actions { max-width:160px; gap:6px; }
  .month-jump { width:100%; order:2; }
  .month-actions > button { margin-left:auto; }
  .event-mini-top { align-items:flex-start; }
  .event-mini-top .time { max-width:180px; text-align:right; }
  .upcoming-card { grid-template-columns:88px minmax(0,1fr); }
  .upcoming-body { min-width:0; }
  .upcoming-meta { font-size:9px; gap:3px; }
  .upcoming-body h3 { line-height:1.8; }
  .timeline-group dl>div { grid-template-columns:85px minmax(0,1fr); }
}
