.event-hub { min-width: 0; overflow-wrap: anywhere; }
.event-hub-header { margin-block: 12px; }
.event-hub-header h2 { margin-bottom: 8px; }
.event-hub-back, .event-hub-link, a.event-chip { color: inherit; text-underline-offset: 3px; }
.event-hub-tabs { display: flex; flex-wrap: nowrap; gap: 6px; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; padding: 4px; margin: 0 -4px 12px; scrollbar-width: thin; }
.event-hub .event-hub-tabs button { flex: none; white-space: nowrap; min-height: 44px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.event-hub-tabs button[aria-selected="true"] { font-weight: 700; background: var(--surface-2); }
.event-hub :focus-visible, .event-hub-link:focus-visible, a.event-chip:focus-visible { outline: 2px solid var(--blue, #3579c9); outline-offset: 3px; }
.event-hub-roster { padding-left: 20px; }
.event-hub-roster li { margin-block: 8px; }
.event-hub-roster-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.event-hub-roster-heading h3 { margin: 0; }
.event-hub-student-count { padding: 4px 10px; border-radius: 999px; background: var(--surface-2, #eef4fb); font-size: .9rem; font-weight: 650; }
.event-hub-roster--survey { list-style: none; padding: 0; }
.event-hub-roster--survey li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding-block: 8px; border-bottom: 1px solid var(--line); }
.event-hub-student-name { min-width: 0; flex: 1 1 150px; }
.event-hub-experience-field { display: flex; align-items: center; gap: 8px; font-size: .875rem; }
.event-hub-experience-field input { box-sizing: border-box; width: 5rem; min-height: 40px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface, #fff); color: var(--ink, #132033); font: inherit; }
.event-hub .event-hub-experience-hint { margin-block: 12px; font-size: .9rem; }
.event-hub form[data-event-experience-form] { margin-top: 0; }
.event-hub-experience-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.event-hub-experience-status { margin-bottom: 0; }
.event-hub-experience-status:empty { display: none; }
.event-hub-overview > section { min-width: 0; }
.event-hub [role="tabpanel"], .event-hub .forum, .event-hub form { min-width: 0; max-width: 100%; }
.event-hub a, .event-hub button, .event-hub h3 { overflow-wrap: anywhere; }
.event-hub button { max-width: 100%; white-space: normal; }
.forum-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-meta { color: var(--muted, #52606d); font-size: .9rem; }
.forum-topics, .forum-replies { list-style: none; padding: 0; }
.forum-topics > li, .forum-replies > li, .forum article { padding-block: 16px; border-bottom: 1px solid var(--line); }
:is(.event-hub, .forum-recovery-dialog) .forum-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: 100%; width: auto; padding: 10px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface, #fff); color: var(--ink, #132033); font: inherit; font-size: .9rem; font-weight: 650; line-height: 1.35; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s; }
:is(.event-hub, .forum-recovery-dialog) .forum-button:hover:not(:disabled) { background: var(--surface-2, #f6f8fb); border-color: var(--muted, #667085); }
:is(.event-hub, .forum-recovery-dialog) .forum-button--primary { background: #1868d5; border-color: #1868d5; color: #fff; }
:is(.event-hub, .forum-recovery-dialog) .forum-button--primary:hover:not(:disabled) { background: #1256b3; border-color: #1256b3; }
:is(.event-hub, .forum-recovery-dialog) .forum-button--quiet { background: transparent; border-color: transparent; color: var(--muted, #667085); }
:is(.event-hub, .forum-recovery-dialog) .forum-button--danger { background: transparent; border-color: var(--line); color: var(--danger, #b42318); }
:is(.event-hub, .forum-recovery-dialog) .forum-button--danger:hover:not(:disabled) { background: var(--danger-soft, #fff0ee); border-color: var(--danger, #b42318); }
:is(.event-hub, .forum-recovery-dialog) .forum-button--recognition { background: var(--warning-soft, #fff7e6); color: var(--warning, #a15c00); border-color: transparent; }
:is(.event-hub, .forum-recovery-dialog) .forum-button--recognition:hover:not(:disabled) { border-color: currentColor; background: var(--warning-soft, #fff7e6); }
:is(.event-hub, .forum-recovery-dialog) .forum-button--topic-link { display: block; padding: 4px 0; border: 0; border-radius: 4px; background: transparent; color: var(--blue, #1868d5); font-size: 1rem; text-align: left; }
:is(.event-hub, .forum-recovery-dialog) .forum-button--topic-link:hover:not(:disabled) { background: transparent; text-decoration: underline; text-underline-offset: 3px; }
:is(.event-hub, .forum-recovery-dialog) .forum-button--compact { min-height: 30px; padding: 4px 8px; border-radius: 7px; font-size: .76rem; font-weight: 600; color: var(--muted, #667085); }
:is(.event-hub, .forum-recovery-dialog) .forum-button--compact.forum-button--danger { color: var(--danger, #b42318); }
.forum-section-heading, .forum-post-actions, .forum-composer-actions, .forum-attachment-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.forum-section-heading { justify-content: space-between; margin-bottom: 16px; }
.forum-section-heading h3 { margin: 0; }
.forum-post-actions { margin-top: 16px; }
.forum-post-actions:empty { display: none; }
.event-hub .forum-like-button { min-height: 34px; padding: 5px 10px; font-size: .8rem; gap: 6px; color: var(--muted); }
.event-hub .forum-like-button[aria-pressed="true"] { color: var(--blue, #1868d5); background: var(--blue-soft, #edf4ff); border-color: currentColor; }
.forum-like-total { font-variant-numeric: tabular-nums; font-weight: 700; }
.forum-like-count { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .8rem; }
.forum-composer-actions { justify-content: flex-end; padding-top: 16px; border-top: 1px solid var(--line); }
.forum-composer { padding: 20px; background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 14px; }
.forum-composer h4 { margin: 0 0 18px; font-size: 1.05rem; }
.forum-composer label { font-weight: 600; }
.forum-composer [data-forum-count] { text-align: right; color: var(--muted); font-size: .8rem; }
.forum-composer [role="status"]:empty { display: none; }
.event-hub form fieldset { display: grid; gap: 8px; min-width: 0; border: 0; padding: 0; }
.event-hub form { margin-top: 20px; }
.event-hub textarea { box-sizing: border-box; width: 100%; min-height: 120px; resize: vertical; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface, #fff); color: var(--ink, #132033); font: inherit; line-height: 1.5; }
.event-hub textarea[data-forum-field="title"] { min-height: 56px; height: 56px; }
.forum-attachment-picker, .forum-current-attachments { display: grid; gap: 10px; margin-block: 8px; }
.forum-current-attachments { padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.event-hub .forum-attachment-hint { margin: 0; font-size: .82rem; color: var(--muted); }
.forum-file-control { position: relative; display: inline-flex; max-width: 100%; }
.event-hub .forum-file-control input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.forum-file-control:focus-within .forum-button { outline: 2px solid var(--blue, #1868d5); outline-offset: 3px; }
.forum-file-control:hover input:not(:disabled) + .forum-button { background: var(--surface-2); border-color: var(--muted); }
.forum-file-control input:disabled + .forum-button { opacity: .65; cursor: wait; }
.forum-icon { width: 18px; height: 18px; flex: none; }
.forum-attachment-status { margin: 0; }
.forum-confirmation { margin-top: 16px; padding: 16px; border: 1px solid var(--danger, #b42318); border-radius: 10px; }
.forum-confirmation .forum-button + .forum-button { margin-left: 8px; }
.forum-attachment-picker input[type="file"] { box-sizing: border-box; max-width: 100%; font: inherit; }
.forum-attachments { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.forum-attachment-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.forum-attachment-name { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.forum-attachment-meta, .forum-attachment-error, .forum-attachment-status { color: var(--muted, #52606d); font-size: .9rem; }
.forum-attachment-error { grid-column: 1 / -1; }
.event-hub [disabled] { cursor: wait; opacity: .65; }
.forum-recovery { margin-block: 20px; padding: 16px; border: 1px dashed var(--line); border-radius: 8px; min-width: 0; overflow-wrap: anywhere; }
.forum-attachment-deleted { border-style: dashed; }
.forum-recovery-times { grid-column: 1 / -1; font-size: .9rem; color: var(--muted, #52606d); }
.forum-recovery-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; background: rgb(0 0 0 / .6); }
.forum-recovery-dialog { box-sizing: border-box; width: min(100%, 32rem); max-height: 90dvh; overflow-y: auto; padding: 24px; border-radius: 12px; background: var(--surface, #fff); color: var(--text, #172b4d); overflow-wrap: anywhere; }
.forum-recovery-dialog button { min-height: 44px; margin: 4px; max-width: calc(100% - 8px); white-space: normal; }
.forum-recovery-dialog :focus-visible { outline: 2px solid var(--blue, #3579c9); outline-offset: 3px; }
.forum-recovery-dialog [disabled] { cursor: wait; opacity: .65; }
@media (max-width: 640px) {
  .event-hub-overview { grid-template-columns: minmax(0, 1fr); }
  .event-hub [role="group"] { display: flex; flex-wrap: wrap; gap: 8px; }
  .forum-attachment-card { grid-template-columns: minmax(0, 1fr); }
  .forum-attachment-card button { width: 100%; }
  .forum-recovery-dialog { padding: 16px; }
  .forum-recovery-dialog button { display: block; width: calc(100% - 8px); }
}


.forum-quality-award{display:inline-flex;align-items:center;gap:4px;margin:2px 0 8px;padding:4px 8px;border-radius:999px;background:rgba(200,148,34,.14);font-size:11px;font-weight:750;color:#805c08}
.forum-quality-actions{display:inline-flex;gap:8px;flex-wrap:wrap;padding-left:12px;border-left:1px solid var(--line)}
.event-hub .forum-quality-actions button{font-size:.82rem}
html[data-theme="dark"] .forum-quality-award{color:#f0cb70;background:rgba(217,173,77,.16)}
html[data-theme="dark"] .forum-button--recognition { color: #f0cb70; }
html[data-theme="dark"] .forum-button--danger { color: #ffb4ab; }
html[data-theme="dark"] .forum-button--topic-link { color: #8eb8ef; }
@media(max-width:720px){.forum-quality-actions{display:flex;width:100%;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:640px){.forum-composer{padding:16px}.forum-composer-actions{gap:8px}.forum-composer-actions .forum-button{flex:1}.forum-section-heading{align-items:flex-start}.forum-attachment-toolbar{align-items:flex-start;flex-direction:column}.forum-post-actions .forum-button{flex:0 1 auto}}


.event-hub-coach-column{display:flex;flex-direction:column;gap:16px;min-width:0}
.event-session-posts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.event-session-posts-heading h3{margin:0;font-size:16px}
.event-session-posts-list{margin-top:16px;display:grid;gap:16px}
.event-session-post{border-top:1px solid var(--line);padding-top:16px;min-width:0}
.event-session-post h4{margin:0;font-size:14px}
.event-session-post-meta{margin:6px 0;color:var(--muted);font-size:13px}
.event-session-post-note{margin-top:12px;font-size:14px}
.event-session-post-note p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:8px 0}
.event-session-post-note .badge,.event-session-post-files .badge{margin-left:6px}
.event-session-post-files{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.event-session-post-files li{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:10px}
.event-session-post-files li>div{flex:1 1 180px;min-width:0;overflow-wrap:anywhere;font-size:14px}
.event-session-post-files button{flex-shrink:0}

.event-coach-posts-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.event-coach-posts-list>li{padding:14px;border:1px solid var(--line);border-left:4px solid #f59e0b;border-radius:10px;background:var(--warning-soft,#fff7e6);min-width:0}
.event-coach-posts-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.event-hub .event-coach-post-title{display:block;padding:0;border:0;background:transparent;color:var(--ink,#132033);font:inherit;font-size:15px;font-weight:750;line-height:1.5;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.event-coach-posts-list p{font-size:13px;margin:8px 0 0}

.event-upcoming-session{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.event-upcoming-session>div{flex:1 1 180px;min-width:0}
.event-upcoming-session p{margin:6px 0 0;font-size:14px;color:var(--muted)}
.event-upcoming-session button{flex-shrink:0}
.event-upcoming-more{margin-top:12px}
.event-upcoming-more>summary{cursor:pointer;font-size:14px;font-weight:650;color:var(--ink)}
.event-upcoming-more>summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

/* Keep the existing activity mounted while its panel fills the available screen. */
.event-workspace-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 10px; }
.event-workspace-toolbar h3 { margin: 0; font-size: 1rem; flex: 1 1 140px; min-width: 0; }
.event-workspace-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.event-workspace-toolbar [hidden] { display: none !important; }
.event-workspace-status { flex-basis: 100%; margin: 0; font-size: .85rem; color: var(--muted, #52606d); }
.event-workspace-status:empty { display: none; }
.event-workspace-focus-guard { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[data-workspace-panel] iframe { height: clamp(400px, 72vh, 1000px) !important; height: clamp(400px, 72dvh, 1000px) !important; min-height: 400px !important; }
.event-hub .event-workspace-expanded { position: fixed; inset: 0; z-index: 10000; box-sizing: border-box; width: 100%; max-width: none; height: 100vh; height: 100dvh; margin: 0; padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); display: flex; flex-direction: column; overflow: hidden; background: var(--surface, #fff); color: var(--ink, #132033); }
.event-workspace-expanded .event-workspace-toolbar { flex: none; margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--line, #d5dce5); }
.event-workspace-expanded > :not(.event-workspace-toolbar):not(.event-workspace-focus-guard) { flex: 1; min-height: 0; min-width: 0; overflow: auto; padding: 12px; }
.event-hub .event-workspace-expanded > :not(.event-workspace-toolbar):has(> iframe) { display: flex; flex-direction: column; padding: 0; }
.event-workspace-expanded iframe { flex: 1; min-height: 0 !important; height: 100% !important; border-radius: 0 !important; }
.event-workspace-expanded > :has(> iframe) > details { flex: none; max-height: 45%; overflow: auto; padding: 8px 12px; border-bottom: 1px solid var(--line, #d5dce5); }
.event-workspace-expanded:fullscreen { background: var(--surface, #fff); }
@media (max-width: 480px) {
  .event-workspace-expanded .event-workspace-toolbar h3 { flex-basis: 100%; }
  .event-workspace-expanded .event-workspace-actions { width: 100%; justify-content: flex-end; }
  .event-workspace-toolbar .forum-button { padding: 8px 10px; font-size: .85rem; }
}


