.c365-activity-sessions {
    container-type: inline-size;
    position: relative;
    display: grid;
    grid-template-columns: minmax(13rem, 28%) minmax(0, 1fr);
    gap: 1rem;
    height: 100%;
    min-height: 22rem;
    color: #f7f5ff;
}

.c365-activity-sessions__list {
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: .55rem;
    min-width: 0;
}

.c365-activity-session {
    appearance: none;
    text-align: left;
    border: 1px solid rgba(118,148,207,.1);
    border-radius: .8rem;
    background: rgba(255,255,255,.022);
    color: inherit;
    padding: .75rem;
    cursor: pointer;
    transition: border-color 140ms ease, background-color 140ms ease;
}

.c365-activity-session:hover,
.c365-activity-session:focus-visible,
.c365-activity-session.is-selected { border-color: rgba(118,148,207,.24); background: rgba(255,255,255,.045); }
.c365-activity-session:focus-visible { outline: 2px solid rgba(52,243,242,.4); outline-offset: 2px; }
.c365-activity-session strong,
.c365-activity-session span { display: block; }
.c365-activity-session span { color: #9fb0ca; font-size: .75rem; margin-top: .2rem; }
.c365-activity-session__live { color: #43e8a6 !important; }

.c365-activity-sessions__detail {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
}

.c365-activity-sessions__stats { display: flex; gap: .7rem; flex-wrap: wrap; margin-bottom: .65rem; }
.c365-activity-stat { background: rgba(255,255,255,.022); border: 0; border-radius: .6rem; padding: .5rem .7rem; }
.c365-activity-stat small { display: block; color: #8fa8c8; }
.c365-activity-sessions__map { min-height: 17rem; border-radius: .8rem; overflow: hidden; background: #071426; }
.c365-activity-sessions__message { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); color: #9fb0ca; text-align: center; z-index: 3; }
.c365-activity-sessions__message.is-error { color: #ff9a91; }

.c365-activity-sessions--list { grid-template-columns: minmax(0, 1fr); }
.c365-activity-sessions--list .c365-activity-sessions__detail { display: none; }
.c365-activity-sessions--list .c365-activity-sessions__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); align-content: start; }
.c365-activity-sessions--map { grid-template-columns: minmax(0, 1fr); }
.c365-activity-sessions--map .c365-activity-sessions__list { display: none; }

@container (max-width: 720px) {
    .c365-activity-sessions--combined { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(20rem, 1fr); }
    .c365-activity-sessions--combined .c365-activity-sessions__list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(12rem, 75%); overflow-x: auto; }
    .c365-activity-sessions__map { min-height: 20rem; }
}

@container (max-width: 430px) {
    .c365-activity-sessions { min-height: 18rem; }
    .c365-activity-sessions--combined { grid-template-rows: auto minmax(16rem, 1fr); }
    .c365-activity-sessions--list .c365-activity-sessions__list { grid-template-columns: minmax(0, 1fr); }
    .c365-activity-sessions__stats { gap: .4rem; }
    .c365-activity-stat { flex: 1 1 calc(50% - .4rem); padding: .4rem .5rem; }
    .c365-activity-sessions__map { min-height: 16rem; }
}
