.te-sessions { display:grid; gap:16px; color:inherit; max-width:680px; margin:auto; }
.te-sessions-intro { font-family:serif; font-size:1.2rem; margin:0; }
.te-sessions-tabs,.te-sessions-actions { display:flex; flex-wrap:wrap; gap:8px; }
.te-sessions-tabs [aria-pressed=true] { background:rgba(117,159,161,.2); border-color:#91b6b7; }
.te-sessions-card { padding:22px; margin:0 0 16px; border:1px solid rgba(160,180,185,.24); border-radius:24px; background:rgba(200,220,222,.08); box-shadow:inset 0 1px rgba(255,255,255,.4); }
.te-sessions-card h2 { font-size:1.06rem; margin:8px 0; font-weight:500; }
.te-sessions-eyebrow { letter-spacing:.16em; font-size:.62rem; opacity:.6; }
.te-sessions-number { font-size:clamp(2.5rem,12vw,4rem); font-variant-numeric:tabular-nums; font-weight:300; margin:12px 0; }
.te-sessions-meter { display:block; width:100%; height:7px; border:0; border-radius:9px; overflow:hidden; background:rgba(130,160,164,.15); accent-color:#7aacae; }
.te-sessions-meter::-webkit-progress-bar { background:rgba(130,160,164,.15); }
.te-sessions-meter::-webkit-progress-value { background:linear-gradient(90deg,#aec9ce,#749fa0); border-radius:9px; }
.te-sessions-muted,.te-sessions-notice { font-size:.81rem; line-height:1.7; opacity:.75; overflow-wrap:anywhere; }
.te-sessions-notice:empty { display:none; }
.te-sessions-detail { margin-top:14px; border-top:1px solid rgba(150,175,180,.2); padding-top:14px; font-size:.85rem; }
.te-sessions-detail summary { cursor:pointer; padding:4px 0; }
.te-sessions-detail p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.85; max-height:50vh; overflow:auto; }
.te-sessions-flow { margin:20px 0 0; padding-left:22px; font-size:.8rem; line-height:2; opacity:.7; }
.te-sessions button { min-height:40px; }
.te-sessions button:disabled { opacity:.45; cursor:default; }

.te-sessions { width:100%; min-width:0; font-family:var(--te-font-body); }
.te-sessions, .te-sessions * { box-sizing:border-box; }
.te-sessions > div { min-width:0; }
.te-sessions-card { min-width:0; max-width:100%; overflow-wrap:anywhere; }
