/* Host content uses the same surface, typography and controls as learners. */
img.brand-mark { width:40px; height:18px; object-fit:contain; background:none; border:0; border-radius:0; flex-shrink:0; }
#hub[data-surface=host] { font-family:var(--learner-font); color:var(--learner-ink); background:var(--learner-canvas); }
.host-management { font-size:15px; line-height:1.65; overflow-wrap:anywhere; }
.host-management p { font-size:15px; color:var(--learner-muted); line-height:1.65; }
.host-management .host-supporting,.host-management [data-host-error] { font-size:13px; }
.host-management h2 { font-size:23px; line-height:1.3; letter-spacing:-.03em; font-weight:600; margin:0 0 16px; }
.host-management h3 { font-size:16px; font-weight:600; margin:0 0 8px; }
.host-management .eyebrow { color:var(--learner-muted); font-size:13px; font-weight:550; letter-spacing:.02em; }
.host-management :is(button,.button) { min-height:40px; padding:9px 16px; border:0; border-radius:var(--learner-radius-control); color:var(--learner-ink); background:var(--learner-inset); box-shadow:none; font-size:14px; line-height:20px; font-weight:500; white-space:normal; }
.host-management :is(button,.button):hover { background:var(--learner-hover); }
.host-management :is(button,.button).primary,.host-management .operator-login>a.primary { color:var(--learner-on-action); background:var(--learner-action); }
.host-management a { color:var(--learner-ink); }
.host-management :is(button,a,input,textarea,select):focus-visible,.host-context-search input:focus-visible { outline:2px solid var(--learner-action); outline-offset:3px; }
.host-management :is(input,textarea,select),.host-context-search input { width:100%; min-width:0; padding:12px 14px; border:1px solid var(--learner-line); border-radius:var(--learner-radius-field); background:var(--learner-surface); color:var(--learner-ink); font:inherit; font-size:14px; min-height:46px; }
.host-management textarea { resize:vertical; }
.host-management :is(input,textarea):read-only { background:var(--learner-inset); }
.host-management input[type=checkbox] { accent-color:var(--learner-action); }
.host-agenda-list { padding-left:24px;display:grid;gap:16px; }
.host-agenda-list li { padding:16px;border:1px solid var(--learner-line);border-radius:16px;overflow-wrap:anywhere; }
.host-agenda-list li>div:first-child { margin-bottom:12px; }
.host-management .host-agenda-current { display:flex;align-items:center;gap:10px;min-height:44px;margin:8px 0; }
.host-management .host-agenda-current input { width:18px;height:18px;min-height:18px;flex:none;padding:0;margin:0;accent-color:var(--learner-action); }
.host-agenda-add { margin-top:24px;display:grid;gap:12px; }
.host-management .panel-form,.host-event,.host-person { min-width:0; padding:28px; border:0; border-radius:var(--learner-radius-surface); background:var(--learner-surface); box-shadow:var(--learner-shadow-surface); }
.host-management .operator-login>a.primary { display:inline-flex; gap:10px; align-items:center; text-decoration:none; padding:12px 20px; border-radius:999px; }
.host-identity { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 0 24px; margin-bottom:32px; color:var(--learner-muted); font-size:12px; }
.host-identity>a { flex-shrink:0; }
.host-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:var(--heading-content-gap,32px); }
#hub[data-surface=host] .host-heading .portal-intro { max-width:760px; margin-bottom:0; min-width:0; }
.host-heading .host-actions { flex-shrink:0; max-width:45%; }
.host-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.host-list-tools,.host-roster-controls { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 24px; }
.host-filters { display:flex; gap:4px; flex-wrap:wrap; }
.host-filters button[aria-pressed=true] { background:var(--learner-hover); }
.host-events { display:grid; gap:16px; }
.host-event { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.host-event>div { min-width:0; }
.host-event>button { flex-shrink:0; }
.host-event h2 { margin:8px 0 12px; }
#learnerShell .host-event h2 button,.host-management .host-event h2 button { font-size:23px; font-weight:600; letter-spacing:-.03em; color:var(--learner-ink); background:none; padding:0; text-align:left; line-height:1.35; }
.host-event p { margin:0 0 16px; }
.host-event-meta,.host-event-summary { display:flex; align-items:center; gap:10px 20px; flex-wrap:wrap; font-size:13px; color:var(--learner-muted); }
.host-event-summary { margin:0 0 24px; }
.host-management .state-badge { color:var(--learner-muted); background:var(--learner-inset); border:0; border-radius:999px; font-size:12px; padding:5px 10px; white-space:normal; }
.host-management .host-state-open { color:var(--text-color-kumo-success); }
.host-management .host-state-draft,.host-management .host-state-scheduled { color:var(--learner-action); }
.host-event-form { display:grid; gap:24px; }
.host-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.host-wide { grid-column:1/-1; }
.host-lab-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; border:0; margin:20px 0; }
.host-management .host-lab-option { display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid var(--learner-line); border-radius:16px; margin:0; cursor:pointer; }
.host-management .host-lab-option:has(:checked) { background:var(--learner-inset); }
.host-management .host-lab-option input { width:18px; height:18px; min-height:18px; flex-shrink:0; margin:3px 0 0; }
.host-lab-option span { display:grid; gap:5px; }
.host-lab-option b { font-size:15px; font-weight:600; }
.host-lab-option span span { font-size:12px; color:var(--learner-muted); }
.host-form-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 24px; }
.host-management [data-host-error] { color:var(--text-color-kumo-danger); }
.host-management [data-host-error]:empty { display:none; }
.host-detail-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; align-items:start; }
.host-copy-row { display:flex; gap:8px; margin:8px 0 20px; }
.host-copy-row button { flex-shrink:0; }
.host-invite-code { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:20px 0; font-size:13px; }
.host-invite-code code { color:var(--learner-ink); font-size:16px; letter-spacing:.03em; }
.host-checklist { padding:0; list-style:none; margin:20px 0 28px; }
.host-checklist li { display:flex; gap:12px; margin:12px 0; }
.host-checklist .icon { color:var(--learner-action); flex-shrink:0; margin-top:4px; }
.host-preparation h3 { margin-top:28px; }
.host-overview-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
.host-section { margin-top:32px; }
.host-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.host-section-heading p { margin:0; }
.host-roster-controls { flex-wrap:wrap; }
.host-roster-controls>.search-label { flex:1 1 240px; min-width:0; width:auto; }
.host-roster-controls>label:not(.search-label) { display:flex; align-items:center; gap:10px; font-size:13px; margin:0; min-width:0; max-width:100%; white-space:nowrap; }
.host-roster-controls select { width:auto; }
.host-roster { display:grid; gap:12px; margin-top:24px; }
.host-person { display:grid; grid-template-columns:minmax(140px,.65fr) minmax(0,1.35fr); gap:24px; }
.host-person>div>span { font-size:12px; color:var(--learner-muted); }
.host-person-build { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.host-person-build:last-child { margin-bottom:0; }
.host-person-build b { font-weight:600; }
.host-person-build p { width:100%; margin:0; }
.host-management .event-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.host-management .metric { border:0; padding:20px; border-radius:20px; background:var(--learner-surface); color:var(--learner-ink); box-shadow:var(--learner-shadow-surface); }
.host-management .metric b { color:var(--learner-ink); font-size:26px; }
.host-management .metric span { color:var(--learner-muted); font-size:12px; }
.host-management .help-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px; background:var(--learner-surface); border:0; border-radius:20px; margin:12px 0; }
.host-management .help-row button { flex-shrink:0; }
.host-notice { border-left:2px solid var(--learner-action); padding:12px 16px; background:var(--learner-inset); }
.host-event-footer { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; border-top:1px solid var(--learner-line); padding-top:24px; font-size:13px; color:var(--learner-muted); }
.host-context-search { display:grid; gap:8px; margin:0 12px 20px; font-size:12px; }
.host-context-search input { font-size:12px; padding:10px; min-height:40px; }
.host-context-title { margin:0 12px 24px; font-size:18px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
#learnerShell [data-host-fallback-context] { display:none; }
#learnerShell .host-heading .host-actions>button[aria-current=page] { background:var(--learner-surface); box-shadow:var(--learner-shadow-control); }
/* Existing attendee welcome content remains compatible with legacy entry. */
.event-welcome { padding:20px; margin:0 0 24px; border:1px solid var(--color-kumo-line); border-radius:12px; background:var(--color-kumo-tint); }
.event-welcome h3 { font-size:20px; margin:0 0 10px; font-weight:500; }
.event-welcome p { font-size:16px; margin:8px 0; }
.event-welcome .event-welcome-meta { font-size:14px; color:var(--muted); }
@media(max-width:1100px) { .host-heading { flex-wrap:wrap; } .host-heading .host-actions { max-width:100%; } .host-detail-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) {
 .host-identity { gap:12px; align-items:flex-start; flex-direction:column; margin-bottom:24px; }
 .host-event,.host-section-heading,.host-form-footer { align-items:flex-start; flex-direction:column; gap:16px; }
 .host-heading { gap:20px; }
 .host-form-grid,.host-lab-options,.host-person { grid-template-columns:minmax(0,1fr); }
 .host-management .panel-form,.host-event,.host-person { padding:20px; border-radius:24px; }
 .host-roster-controls,.host-copy-row { align-items:flex-start; flex-wrap:wrap; }
 .host-copy-row input { flex-basis:100%; }
 .host-management .event-overview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .host-management .metric { padding:14px; }
 .host-management .metric b { font-size:22px; }
 .host-management .help-row { align-items:start; flex-direction:column; }
 .host-list-tools { flex-wrap:wrap; }
}

.host-person-media { border-top:1px solid var(--learner-border);margin-top:16px;padding-top:12px;min-width:0; }
.host-person-media p { overflow-wrap:anywhere; }
.host-person-media .learning-actions { gap:8px;flex-wrap:wrap; }
.host-person-media-identity+.host-person-media-identity { border-top:1px solid var(--learner-border);margin-top:16px;padding-top:12px; }
.host-media-context { margin-top:32px; }
.host-media-context>article { border-top:1px solid var(--learner-border);padding:16px 0; }
.host-media-context h3 { margin:0 0 8px; }
[data-host-media-deferred] { border-left:2px solid var(--learner-action);padding-left:12px; }
