/* Desktop-only Team overview, inspired by the mobile violet dashboard cards. */
.nav-team { display:flex; }
#viewTeam { padding: 18px 0 48px; }
.tm-overview { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; padding:28px 30px; margin-bottom:22px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(115deg,color-mix(in srgb,#6A3CFF 15%,var(--panel)),var(--panel) 70%); }
.tm-overline,.tm-metrics-head { font-size:.72rem; letter-spacing:.12em; font-weight:800; color:#8B66FF; }
.tm-overview h2 { font-size:clamp(1.9rem,3vw,2.8rem); letter-spacing:-.04em; margin:10px 0; line-height:1.1; }
.tm-overview p { margin:0; color:var(--muted); }
.tm-summary { display:flex; gap:22px; flex-shrink:0; }
.tm-summary>div { display:flex; flex-direction:column; gap:4px; min-width:75px; }
.tm-summary strong { font-size:2rem; line-height:1; letter-spacing:-.04em; }
.tm-summary span { font-size:.75rem; color:var(--muted); }
.tm-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:18px; }
.tm-athlete { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:23px; background:var(--panel); overflow:hidden; box-shadow:0 12px 32px #00000009; transition:transform .18s ease,box-shadow .18s ease; }
.tm-athlete:hover { transform:translateY(-3px); box-shadow:0 18px 42px #0000001a; }
.tm-person { display:flex; align-items:center; gap:12px; padding:20px 20px 14px; }
.tm-avatar { flex:none; width:49px; height:49px; display:grid; place-items:center; border-radius:17px; color:#fff; font-weight:800; letter-spacing:.03em; background:linear-gradient(145deg,#6A3CFF,#BA57E6); }
.tm-person-name { flex:1; min-width:0; }
.tm-person-name h3 { font-size:1.04rem; margin:0 0 4px; overflow-wrap:anywhere; }
.tm-person-name span { display:block; font-size:.74rem; color:var(--muted); }
.tm-pill { font-size:.68rem; font-weight:700; color:#8B66FF; border:1px solid #8B66FF55; padding:5px 7px; border-radius:999px; }
.tm-readings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 20px 17px; }
.tm-reading { display:flex; flex-direction:column; gap:4px; min-width:0; padding:13px 9px; border-radius:15px; background:color-mix(in srgb,#6A3CFF 8%,var(--panel)); }
.tm-reading span { font-size:.68rem; color:var(--muted); font-weight:700; }
.tm-reading strong { font-size:clamp(1.3rem,2vw,1.85rem); line-height:1.1; letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.tm-reading small { font-size:.68rem; color:var(--muted); }
.tm-metrics { padding:15px 20px; border-top:1px solid var(--line); flex:1; }
.tm-metrics-head { margin-bottom:11px; }
.tm-metric { display:flex; align-items:center; gap:9px; padding:7px 0; font-size:.84rem; }
.tm-metric i { flex:none; width:8px; height:8px; border-radius:50%; }
.tm-metric span { flex:1; min-width:0; overflow-wrap:anywhere; }
.tm-metric b { font-variant-numeric:tabular-nums; }
.tm-metrics p,.tm-disclaimer { font-size:.81rem; color:var(--muted); }
.tm-open { display:flex; align-items:center; justify-content:space-between; width:100%; padding:15px 20px; border:0; border-top:1px solid var(--line); background:transparent; color:var(--ink); font-size:.88rem; font-weight:700; font-family:inherit; cursor:pointer; text-align:left; }
.tm-open:hover,.tm-open:focus-visible { background:color-mix(in srgb,#6A3CFF 12%,var(--panel)); }
.tm-loading,.tm-empty { padding:48px 24px; border:1px solid var(--line); border-radius:20px; background:var(--panel); color:var(--muted); }
.tm-error { margin:8px 20px; font-size:.8rem; color:#D7424A; }
.tm-disclaimer { margin-top:20px; }
@media(max-width:1000px){.tm-overview{align-items:flex-start;flex-direction:column}.tm-summary{width:100%;justify-content:space-between}}
/* The phone interface retains its existing Today / HRV / Games / Strength tabs. */
html.kf-app .sidenav .nav-team,html.kf-app #viewTeam { display:none !important; }

.tm-placeholder { min-height:240px; opacity:.75; }
.tm-loading-line { height:12px; margin:24px 20px; border-radius:10px; background:color-mix(in srgb,#6A3CFF 12%,var(--panel)); }
.tm-more { display:block; margin:22px auto; }
/* Pending session check-ins, using the dashboard's existing flagging rules. */
.tm-checkin { display:flex; align-items:center; gap:12px; width:calc(100% - 40px); margin:0 20px 16px; padding:12px; text-align:left; border:1px solid color-mix(in srgb,#E87A13 38%,var(--line)); border-radius:15px; background:color-mix(in srgb,#E87A13 9%,var(--panel)); color:var(--ink); cursor:pointer; font-family:inherit; }
.tm-checkin:hover,.tm-checkin:focus-visible { border-color:#E87A13; background:color-mix(in srgb,#E87A13 16%,var(--panel)); }
.tm-checkin-count { display:grid; place-items:center; width:39px; height:39px; flex:none; border-radius:12px; background:#E87A13; color:#fff; font-size:1.25rem; font-weight:800; font-variant-numeric:tabular-nums; }
.tm-checkin>span:nth-child(2) { flex:1; min-width:0; }
.tm-checkin b { display:block; font-size:.88rem; }
.tm-checkin small { display:block; margin-top:4px; font-size:.71rem; color:var(--muted); }
.tm-checkin-arrow { font-size:1.1rem; color:#E87A13; }
