/* Team · squads — the signature: four programme tabs over a squad plan (partials/team/squads.php,
   assets/js/team/squads.js). The plan is a real table — seats against phases, each cell a four-step meter — beside a
   side panel with the squad's figures, its agents (lit up from the seat that owns them) and the client's seats.
   On phones each seat becomes a block: the role, then its five phases in a row, each named over its meter. */
.tm-sq__pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.tm-sq__tab{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid var(--line-3);border-radius:var(--r-pill);background:var(--paper);
  color:var(--txt);font-size:var(--t-sm);font-weight:500;line-height:1.25;transition:background var(--d1) var(--e-io),color var(--d1) var(--e-io),border-color var(--d1) var(--e-io)}
.tm-sq__tab:hover{border-color:var(--ink);color:var(--ink)}
.tm-sq__tn{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.08em;color:var(--faint)}
.tm-sq__tab[aria-current="true"],.tm-sq__tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.tm-sq__tab[aria-current="true"] .tm-sq__tn,.tm-sq__tab[aria-selected="true"] .tm-sq__tn{color:var(--blue)}

.tm-sq__app{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--sh-2);overflow:hidden;scroll-margin-top:calc(var(--nav-h) + 32px)}
.tm-sq__app[hidden]{display:none}
.tm-sq__app.is-show{animation:tm-sq-in .5s var(--e) both}
@keyframes tm-sq-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tm-sq__bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;padding:22px 28px;border-bottom:1px solid var(--line-2)}
.tm-sq__bt{min-width:0}
.tm-sq__t{font-family:var(--f-h);font-size:1.375rem;font-weight:500;letter-spacing:-.014em;line-height:1.2;color:var(--ink)}
.tm-sq__line{margin-top:6px;font-size:var(--t-sm);line-height:1.5;color:var(--muted);max-width:60ch}
.tm-sq__ill{flex:none;display:inline-flex;align-items:center;min-height:26px;padding:3px 11px;border:1px dashed var(--line-3);border-radius:var(--r-pill);
  font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1.3}

.tm-sq__body{display:grid;grid-template-columns:minmax(0,8.4fr) minmax(0,3.6fr)}
.tm-sq__plan{padding:20px 28px 26px;min-width:0}
.tm-sq__side{padding:24px 26px 28px;border-left:1px solid var(--line-2);background:var(--paper-2);min-width:0}

/* ---------- the plan ---------- */
.tm-sq__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.tm-sq__ch{position:relative;padding:0 10px 14px;text-align:left;vertical-align:bottom;font-weight:normal}
.tm-sq__ch--seat{width:31%;padding-left:0;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.tm-sq__phl{display:block;font-size:var(--t-sm);font-weight:600;line-height:1.3;color:var(--ink)}
.tm-sq__phw{display:block;margin-top:3px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.04em;line-height:1.3;color:var(--faint)}
.tm-sq__gate{position:absolute;right:-6px;bottom:-6px;z-index:1;line-height:0}
.tm-sq__gd{display:inline-block;width:10px;height:10px;transform:rotate(45deg);border:1.5px solid var(--blue);background:var(--paper);flex:none}
.tm-sq__row>*{border-top:1px solid var(--line-2);transition:background var(--d1) var(--e-io)}
.tm-sq__row:hover>*,.tm-sq__row.is-hot>*{background:var(--blue-wash)}
.tm-sq__seat{padding:13px 12px 13px 0;text-align:left;font-weight:normal;vertical-align:middle}
.tm-sq__role{display:block;font-size:var(--t-sm);font-weight:500;line-height:1.35;color:var(--ink)}
.tm-sq__rb{display:inline;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--line-3);text-underline-offset:3px}
.tm-sq__rb:hover,.tm-sq__rb[aria-pressed="true"]{text-decoration-color:var(--blue)}
.tm-sq__acc{display:inline-flex;vertical-align:1px;margin-left:4px;padding:2px 7px;border-radius:var(--r-pill);background:var(--blue-wash);color:var(--blue-d);
  font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.08em;text-transform:uppercase;line-height:1.3;white-space:nowrap}
.tm-sq__pr{display:block;margin-top:3px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);line-height:1.3}
.tm-sq__cell{padding:13px 10px;vertical-align:middle}
.tm-sq__phm,.tm-sq__key{display:none}

/* a four-step meter: how much of the week */
.tm-meter{display:flex;gap:3px;min-width:0}
.tm-meter i{flex:1;height:10px;border-radius:2px;background:var(--line-2);transform-origin:left center}
[data-l="1"] .tm-meter i:nth-child(-n+1),.tm-meter[data-l="1"] i:nth-child(-n+1),
[data-l="2"] .tm-meter i:nth-child(-n+2),.tm-meter[data-l="2"] i:nth-child(-n+2),
[data-l="3"] .tm-meter i:nth-child(-n+3),.tm-meter[data-l="3"] i:nth-child(-n+3),
[data-l="4"] .tm-meter i,.tm-meter[data-l="4"] i{background:var(--blue)}
.tm-sq__row.is-lead [data-l] .tm-meter i{border-radius:1px}
.tm-sq__app.is-anim .tm-meter i{transform:scaleX(0)}
.tm-sq__app.is-anim.is-in .tm-meter i{transform:none;transition:transform .55s var(--e) calc(var(--r,0) * 70ms + var(--c,0) * 45ms)}

.tm-sq__legend{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2);
  font-size:var(--t-xs);line-height:1.4;color:var(--muted)}
.tm-sq__legend li{display:inline-flex;align-items:center;gap:10px}
.tm-meter--key{width:46px}
.tm-meter--key i{height:8px}

/* ---------- the side panel ---------- */
.tm-sq__ro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.tm-sq__ro li{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;line-height:1.3;color:var(--muted)}
.tm-sq__ro b{display:block;margin-bottom:4px;font-family:var(--f);font-size:1.75rem;font-weight:500;letter-spacing:-.02em;line-height:1;text-transform:none;color:var(--ink)}
.tm-sq__k{margin-bottom:12px}
.tm-sq__agents{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.tm-sq__agent{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:12px 14px;border:1px dashed var(--line-3);border-radius:var(--r);background:var(--paper);
  transition:border-color var(--d2) var(--e),box-shadow var(--d2) var(--e)}
.tm-sq__agent.is-hot{border-style:solid;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-wash)}
.tm-sq__ai{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--paper-3);color:var(--ink)}
.tm-sq__an{font-size:var(--t-sm);font-weight:600;color:var(--ink);line-height:1.35}
.tm-sq__ad{margin-top:3px;font-size:var(--t-xs);line-height:1.5;color:var(--muted)}
.tm-sq__ao{margin-top:7px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.06em;line-height:1.4;color:var(--faint)}
.tm-sq__ao b{font-weight:500;color:var(--ink)}
.tm-sq__client{display:flex;flex-direction:column;gap:8px}
.tm-sq__client li{display:flex;align-items:flex-start;gap:10px;font-size:var(--t-sm);line-height:1.45;color:var(--txt)}
.tm-sq__client .xt-ico{margin-top:1px;color:var(--muted)}

@media (max-width:1180px){
  .tm-sq__body{grid-template-columns:minmax(0,1fr)}
  /* the figures across the top, then the agents and the client's seats side by side */
  .tm-sq__side{border-left:0;border-top:1px solid var(--line-2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--bdh-gap-l);align-items:start}
  .tm-sq__ro{grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}
  .tm-sq__agents{margin-bottom:0}
}
@media (max-width:760px){
  .tm-sq__bar{flex-direction:column;padding:20px}
  .tm-sq__plan{padding:16px 20px 22px}
  .tm-sq__side{display:block;padding:20px}
  .tm-sq__agents{margin-bottom:22px}
  .tm-sq__ro{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-sq__table,.tm-sq__table tbody,.tm-sq__table tr,.tm-sq__table th,.tm-sq__table td{display:block}
  .tm-sq__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .tm-sq__table .tm-sq__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:6px;padding:14px 0;border-top:1px solid var(--line-2)}
  .tm-sq__row>*{border-top:0}
  .tm-sq__row:hover>*,.tm-sq__row.is-hot>*{background:none}
  .tm-sq__row.is-hot{background:var(--blue-wash)}
  .tm-sq__seat{grid-column:1 / -1;padding:0 0 10px}
  .tm-sq__cell{padding:0}
  .tm-sq__phm{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.04em;color:var(--faint);line-height:1.2;white-space:nowrap}
  .tm-sq__phm .tm-sq__gd{width:7px;height:7px}
  .tm-sq__key{display:flex;flex-wrap:wrap;gap:4px 14px;padding-bottom:12px;font-size:var(--t-xs);line-height:1.4;color:var(--muted)}
  .tm-sq__key b{font-family:var(--f);font-size:var(--t-lbl);font-weight:500;color:var(--blue-d)}
  .tm-sq__tab{min-height:44px;padding:0 16px}
}
@media (prefers-reduced-motion:reduce){
  .tm-sq__app.is-show{animation:none}
  .tm-sq__app.is-anim .tm-meter i{transform:none;transition:none}
  .tm-sq__row>*,.tm-sq__agent{transition:none}
}

/* touch screens (phones and tablets): 44px tap targets (integrator, responsive pass) */
@media (pointer:coarse){
  .tm-sq__rb{display:inline-flex;align-items:center;min-height:44px}
}
