.group-sessions-content { max-width: 900px; margin-inline: auto; }
.group-single-tabs .dc-tab-nav__indicator { background-color: var(--base-50, #fafafa); }
.group-single-tabs .dc-tab-nav__tab { min-height: 44px; }
.group-single-tabs .dc-tab-nav__tab:focus-visible { outline: 3px solid var(--primary, #263dd9); outline-offset: 2px; }
.group-sessions-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.group-sessions-list li { border-bottom: 1px solid var(--base-200, #e5e5e5); padding-block: .5rem; content-visibility: auto; contain-intrinsic-size: auto 64px; }
.group-session-trigger { width: 100%; text-align: start; }
.group-session-summary { display: block; margin-top: .25rem; font-size: .875rem; }
.group-sessions-list button, .group-session-dialog button { min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--base-600, #525252); border-radius: .5rem; font: inherit; color: var(--base-900, #171717); background: var(--base-50, #fafafa); cursor: pointer; touch-action: manipulation; }
.group-sessions-list button:hover, .group-session-dialog button:hover { background: var(--base-100, #f5f5f5); }
.group-sessions-list button:active, .group-session-dialog button:active { border-color: currentColor; }
.group-session-dialog button:disabled { opacity: .65; cursor: wait; }
.group-sessions-list button:focus-visible, .group-session-dialog :focus-visible { outline: 3px solid var(--primary, #263dd9); outline-offset: 3px; }
.group-session-dialog { box-sizing: border-box; width: min(680px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid var(--base-200, #e5e5e5); border-radius: .75rem; color: var(--base-900, #171717); background: var(--base-50, #fafafa); font: inherit; overflow: auto; overscroll-behavior: contain; }
.group-session-dialog::backdrop { background: rgb(0 0 0 / .55); }
.group-session-dialog *, .group-session-dialog *::before, .group-session-dialog *::after { box-sizing: border-box; }
.group-session-body { padding: 1.5rem; }
.group-session-body h2 { margin-top: 0; font-size: 1.5rem; }
.group-session-body p { overflow-wrap: anywhere; }
.group-session-body h3 { font-size: 1.125rem; margin-block: 1.5rem .75rem; }
.group-session-dialog fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.group-session-dialog legend { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.group-session-member-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .75rem; }
.group-session-dialog .group-session-member-actions button { padding: .25rem 0; border: 0; border-radius: 0; background: transparent; color: var(--primary, #263dd9); font-size: .875rem; text-decoration: underline; text-underline-offset: .15em; }
.group-session-dialog .group-session-member-actions button:hover { background: transparent; text-decoration-thickness: 2px; }
.group-session-dialog .group-session-member-actions button:disabled { color: var(--base-600, #525252); cursor: default; text-decoration: none; }
.group-session-member { display: flex; align-items: center; gap: .75rem; min-height: 48px; padding: .5rem .75rem; margin-block: .5rem; border: 1px solid var(--base-200, #e5e5e5); border-radius: .5rem; cursor: pointer; overflow-wrap: anywhere; content-visibility: auto; contain-intrinsic-size: auto 48px; }
.group-session-member:has(:checked) { background: var(--base-100, #f5f5f5); border-color: var(--base-600, #525252); }
.group-session-member input { flex-shrink: 0; width: 20px; height: 20px; accent-color: var(--primary, #263dd9); }
.group-session-dialog input[type="text"], .group-session-dialog textarea { width: 100%; min-width: 0; min-height: 44px; padding: .65rem; border: 1px solid var(--base-600, #525252); border-radius: .375rem; background: var(--base-50, #fafafa); color: inherit; font: inherit; font-size: 16px; }
.group-session-dialog textarea { resize: vertical; margin-top: .5rem; }
.group-session-guest { display: flex; align-items: end; gap: .75rem; margin-block: .75rem; }
.group-session-guest label { flex: 1; min-width: 0; }
.group-session-guest button { flex-shrink: 0; }
.group-session-notes { display: block; margin-top: 1.5rem; font-weight: 600; }
.group-session-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: .75rem; padding: 1rem 1.5rem max(1rem, env(safe-area-inset-bottom)); background: var(--base-50, #fafafa); border-top: 1px solid var(--base-200, #e5e5e5); }
.group-session-actions [data-session-save] { background: var(--base-900, #171717); color: var(--base-50, #fafafa); border-color: var(--base-900, #171717); }
.group-session-actions [data-session-save]:hover { background: var(--base-600, #525252); }
[data-session-status]:empty { display: none; }
[data-session-status][data-error="true"] { font-weight: 600; }
html:has(.group-session-dialog[open]) { overflow: hidden; }
@media (max-width: 600px) {
	.group-session-dialog { width: 100%; max-height: 100dvh; margin: auto 0 0; border-radius: .75rem .75rem 0 0; }
	.group-session-body { padding: 1.25rem max(1.25rem, env(safe-area-inset-right)) 1.25rem max(1.25rem, env(safe-area-inset-left)); }
	.group-session-guest { flex-wrap: wrap; }
	.group-session-guest label { flex-basis: 100%; }
	.group-session-actions { padding-inline: 1.25rem; }
}
