.team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; }
.team-fields { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; margin:12px 0; }
.team-fields label { display:flex; flex-direction:column; gap:6px; min-width:160px; max-width:100%; }
.team-roster { list-style:none; padding:0; }
.team-roster li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--color-border-subtle); }
.team-table-scroll { overflow-x:auto; max-width:100%; }
.team-report { margin:16px 0; }
.team-report .table { width:100%; }
.team-assignment-history { margin-top:12px; }
.team-members-section { margin-top:16px; padding-top:16px; border-top:1px solid var(--color-border-subtle); }
.team-assignment-fields { display:flex; flex-direction:column; gap:8px; }
@media (max-width:640px) {
 .team-grid { grid-template-columns:minmax(0,1fr); }
 .team-fields label { width:100%; min-width:0; }
 .team-fields .input { width:100%; box-sizing:border-box; }
 .team-fields .btn,.team-roster .btn { min-height:44px; }
 .team-report .table { min-width:650px; }
}

/* Keep the table semantics and real links; row navigation is a pointer shortcut. */
.dashboard-link-row { cursor:pointer; }
.dashboard-link-row:hover > td,
.dashboard-link-row:focus-within > td { background:var(--color-bg-app); }
